0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OllamaでGemma 4をCPU推論:e2bがe4bの2倍速かった理由とthinkingモードの罠

0
Posted at

OllamaでGemma 4をCPU推論:e2bがe4bの2倍速かった理由とthinkingモードの罠

アイキャッチ画像

TL;DR

CPU-only環境(Intel i5-8365U)でGemma 4のローカルモデルをテストしたところ、e4bが3.8 tok/s、e2bが8.5 tok/sという結果に(2026-04-12 再実測)。初期測定では e4b が 4.1 tok/s、e2b が 4.6 tok/s だったが、再測定で e2b が大幅に高速であることが判明した。デフォルトではthinkingモードがONになっており、生成トークン数が思考過程に吸収されてしまう罠がある。対策はthink:falseの明示指定と/api/chatエンドポイントの使用。オフライン・プライバシー重視なら常時ロードしてバッチ処理向けに使えるレベル。

テスト環境

  • CPU: Intel Core i5-8365U (1.6GHz, 4コア/8スレッド)
  • RAM: 30GB
  • GPU: なし(CPU-only推論)
  • OS: Linux 6.17.0-20-generic
  • Ollama: v0.20.2(v0.15.5からアップデート)

モデル情報

モデル名 サイズ 特徴
gemma4:e4b 9.6GB 高精度版
gemma4:e2b 7.2GB 高速版

ベンチマーク方法

Ollamaの/api/chatエンドポイントを使用し、think:falseを明示指定(thinkingモードを無効化)。

再実測条件(2026-04-12)

  • プロンプト: "AIエージェント運用の最大の課題を3つ挙げてください。"(同一プロンプトで両モデル測定)
  • num_predict: 80
  • think: false
  • 測定回数: 各モデル3回(Run 1〜3)
  • warmup: Run 1 はロード込み、Run 2〜3 はモデル常駐状態
  • コマンド:
curl -s http://localhost:11434/api/chat \
  -d '{"model":"gemma4:e4b","messages":[{"role":"user","content":"AIエージェント運用の最大の課題を3つ挙げてください。"}],"stream":false,"options":{"num_predict":80},"think":false}'

初回測定条件(2026-04-06)

  • プロンプト・num_predict が異なるため、初回測定値は参考値扱い

結果

ロード時間(初回測定・参考値)

  • gemma4:e4b: 83.8秒
  • gemma4:e2b: 81.7秒
    → ほぼ同じ(CPUボトルネック)

再実測:生成速度(2026-04-12、num_predict=80、think=false)

gemma4:e4b (9.6GB)

Run トークン数 eval_duration 速度 備考
1 80 20,973 ms 3.8 tok/s ロード込み(load: 927ms)
2 80 20,324 ms 3.9 tok/s モデル常駐
3 80 20,837 ms 3.8 tok/s モデル常駐
平均 80 20,711 ms 3.8 tok/s

gemma4:e2b (7.2GB)

Run トークン数 eval_duration 速度 備考
1 80 8,684 ms 9.2 tok/s ロード込み(load: 49,665ms)
2 80 9,399 ms 8.5 tok/s モデル常駐
3 80 10,054 ms 8.0 tok/s モデル常駐
平均 80 9,379 ms 8.5 tok/s

注記: 初回測定(2026-04-06)では e4b=4.1 tok/s、e2b=4.6 tok/s とほぼ同速度だったが、再実測で e2b が e4b の2倍以上であることが確認された。初回測定は num_predict=50 でトークン数が少なく(17〜19 tok)、測定誤差が大きかった可能性が高い。e2b の Run 1 で load に約50秒かかっているが、これは e4b 測定後にメモリから追い出されたためと推定される。

初回測定値(参考)

項目 gemma4:e4b gemma4:e2b
eval_duration 4.1秒 4.1秒
トークン数 17トークン 19トークン
速度 4.1 tok/s 4.6 tok/s

thinkingモードの罠(重要!)

デフォルトではthink:trueとなり、指定したnum_predictが全部思考過程に消費されてしまう。

問題例:

curl ... -d '{"num_predict":50}'  # thinkingに50トークン全部使われ、content=""

対策:

curl ... -d '{"model":"gemma4:e4b","messages":[{"role":"user","content":"..."}],"stream":false,"options":{"num_predict":150},"think":false}'

GPU環境との速度比較(一般的な目安・同一環境比較ではない)

注意: 以下のGPU数値は公開ベンチマーク等の一般的な目安であり、本記事のCPU実測環境との同一条件比較ではありません。モデル・量子化・プロンプト・コンテキスト長によって大きく変動します。

  • RTX 3060 (12GB): 約20-30 tok/s の目安
  • RTX 4090: 約80-120 tok/s の目安
  • GPUがあれば実用的なインタラクティブ利用も可能

CPU-only環境での実用Tips

  1. 常時ロードしておく - ロードに80秒かかるため、バックグラウンドで起動済みにしておく
  2. バッチ処理向き - 要約、翻訳、テキスト抽出など、即時レスポンスが不要なタスクに
  3. プロンプト設計 - 思考過程を活かした設計も可能(例:段階的推論を促す)
  4. API選択 - /api/chat + think:falseを標準に
  5. モデル選択 - e2bは e4b の2倍以上速いため、CPU-onlyなら基本 e2b を推奨。精度重視のタスクのみ e4b を検討

まとめ

CPU-only環境でもGemma 4は動くが、e4bは3.8 tok/s、e2bは8.5 tok/sという結果。e2bならバックグラウンドタスクで実用に耐えるが、e4bでのチャットボット的なリアルタイム利用は厳しい。ただし、オフライン・完全プライベート・無料というメリットは大きい。セキュリティ機密度の高い環境や、ネットワーク不可の場面では十分な選択肢となる。

【追記:OpenClawは動くか?】
なお、このThinkPadのCPU-only環境(e4b/e2b速度)をバックエンドにしてAIエージェント「OpenClaw」を動かしてみたが、思考ステップやツール実行のレイテンシが大きすぎ、タイムアウトが頻発してまともに動作させることはできなかった。エージェントの自律運用には、やはりGPU環境か高速なクラウドAPIの利用が現実的である。

今後の展望

  • eGPUや外部アクセラレータでCPU+GPUハイブリッド構成
  • 量子化モデル(GGUF形式など)でのさらなる高速化
  • 特化タスク向けファインチューニング(要約特化モデルなど)

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?