2026年07月05日
ローカルLLM Gemma4の実装方法
|
| Tweet |
|
GoogleがスマホやノートPCでAIをローカル実行するための省メモリ化技術「QAT」をGemma 4に導入、Gemma 4 E2Bがわずか0.84GBのメモリで動作https://t.co/PYcLLn8kVU
— GIGAZINE(ギガジン) (@gigazine) June 8, 2026
これがスマートフォンで実行するのは、全然簡単ではない様な...
gemma-4-E2BをCLI pythonで実行する
https://developers.google.com/edge/litert-lm/python
これは多分一番簡単です。
pip install litert-lm
apiの方も必要でしょうか?
pip install litert-lm-api
https://huggingface.co/litert-community/gemma-4-E2B-it-litert-lm
まずモデルをローカルファイルとしてダウンロードして来ます。
そしてpythonでこのコードを実行するだけです。
import litert_lm
litert_lm.set_min_log_severity(litert_lm.LogSeverity.ERROR)
with litert_lm.Engine("./gemma-4-E2B-it.litertlm") as engine:
with engine.create_conversation() as conversation:
while True:
user_input = input("\n>>> ")
for chunk in conversation.send_message_async(user_input):
print(chunk["content"][0]["text"], end="", flush=True)
モデルの読み込みは思ったよりも随分早いような気がします。
"./gemma-4-E2B-it.litertlm" ファイルは正確にパスを指定しなければいけません。
HuggingFaceのModel IDを指定して読み込む様な事は出来ないはずです。
https://developers.google.com/edge/litert-lm/js
web経由で実行する。
WebGPU に対応したブラウザでなければ動かないそうです...
まずこうしてwebサーバを起動します。 file:/// では機能しないからです。
python -m http.server 8000
そうしてブラウザからアクセスします。
http://localhost:8000/gemma.html
Here is a sample REPL chat app built with the JavaScript APIがサンプルなのですが
<div id="out" style="white-space: pre-wrap; font-family: monospace;"> </div>
<input id="in" onkeydown="if(event.key === 'Enter') repl(this)">
<script type="module">
import { Engine } from 'https://cdn.jsdelivr.net/npm/@litert-lm/core/+esm';
const engine = await Engine.create({
// Load the Gemma 4 E2B model
model: 'https://huggingface.co/litert-community/gemma-4-E2B-it-litert-lm/resolve/main/gemma-4-E2B-it-web.litertlm'
// Or use the E4B model by swapping in this line
// model: 'https://huggingface.co/litert-community/gemma-4-E4B-it-litert-lm/resolve/main/gemma-4-E4B-it-web.litertlm'
});
const chat = await engine.createConversation();
window.repl = async (el) => {
const text = el.value;
el.value = ''; // Clear immediately
out.append(`\n> > > ${text}\nAI: `);
for await (const chunk of chat.sendMessageStreaming(text)) {
out.append(chunk.content[0].text);
}
};
</script>
................実際にブラウザからアクセスすると、HuggingFaceからのモデル読み込みには非常に時間がかかります。 単にダウンロードするより長く時間がかかっている様です。
const engine = await Engine.create({
model: './gemma-4-E2B-it-web.litertlm'
});
...この書き方で良いです。これでローカルファイルからのモデル読み込みが確認出来ました。
![]() |
エラーが発生しました: Error: Streaming kTfLiteEmbedder models is not supported yet.
考えられる原因: (1) このブラウザが WebGPU に対応していない。
(2) file:// で直接開いている(Web サーバー経由で開く必要があります)。
(3) モデルのダウンロードに失敗した(ネットワーク、または Hugging Face の利用規約同意が必要な場合があります)。
このエラーですが、モデルにgemma-4-E2B-it.litertlmを指定しても起こりましたので、エラーを全然区別してない様です。
スマートフォンでGemma4を利用する方法
公式アプリケーションGoogle AI Edge Galleryがあります。
これはインストールして起動するだけで、最初からリストに gemma-4-E2B-it が入っています。
Download → Try it するだけだと思ったんですが...
実際にそうしてみると
Initializing model 中にクラッシュ?するようです。
エラーメッセージも何も表示されずにそうなるんですが...
スマートフォンのスペックが十分に無いと利用出来ないなら誇大広告ではないでしょうか?
