重要なポイント
Ollama を使用すれば、Gemma 4 をローカルで実行するのに 5 分もかかりません。Ollama をインストールし、1 つのコマンドを実行するだけで、API コスト 0、マシン外へのデータ流出 0、Apache 2.0 による使用制限 0 で、自身のハードウェア上で完全に機能する AI モデルを実行できます。E2B モデルはあらゆるノート PC で動作します。26B MoE モデルは 1 枚の RTX 4090 に収まり、アクティブパラメータ数の 10 倍のモデルに匹敵する品質を提供します。
Gemma 4 をローカルで実行する:完全ガイド
なぜ Gemma 4 をローカルで実行するのか?
セットアップに入る前に、2026 年においてローカル推論が重要である理由を説明します。
- プライバシー — データがマシンから外に出ることはありません。プロンプトが外部サーバーに送信されることもありません。独自のコード、法的文書、医療データ、または機密情報を扱う場合に不可欠です。
- コスト — ハードウェアへの一回限りの投資後は、トークンごとのコストは 0 です。ヘビーユーザーは、API 価格と比較して月に数百ドルを節約できます。
- レイテンシ — ネットワークの往復が発生しません。E2B および E4B モデルは、最新のハードウェア上でミリ秒単位で応答します。
- 信頼性 — API のレート制限、停止、プロバイダーのポリシー変更に左右されません。モデルは常に利用可能です。
- カスタマイズ — Apache 2.0 の下で、モデルを自由にファインチューニング、量子化、修正できます。
- オフラインアクセス — モデルを一度ダウンロードすれば、インターネット接続なしで動作します。
Gemma 4 は、Google が小型モデルをエッジおよびデバイス上での使用に特化して設計したため、ローカル展開に特に適しています。E2B および E4B モデルは単なるおまけではなく、ローカルハードウェアの制約に合わせて最適化された第一級のモデルです。
前提条件
モデル別のハードウェア要件
| モデル | 最小 RAM | 推奨 VRAM | CPU のみで実行可能? | ディスク容量 |
|---|---|---|---|---|
| E2B (4-bit) | 5 GB | 4 GB | はい | ~1.5 GB |
| E4B (4-bit) | 5 GB | 4 GB | はい | ~2.8 GB |
| E4B (FP16) | 9 GB | 9 GB | 低速 | ~9 GB |
| 26B MoE (4-bit) | 18 GB | 16 GB | 非常に低速 | ~15 GB |
| 26B MoE (FP16) | 52 GB | 48 GB | いいえ | ~52 GB |
| 31B Dense (4-bit) | 20 GB | 18 GB | 非常に低速 | ~18 GB |
| 31B Dense (FP16) | 62 GB | 48 GB+ | いいえ | ~62 GB |
重要なポイント: 2022 年以降に製造されたノート PC をお持ちであれば、E2B または E4B を実行できます。RTX 4090 (24GB VRAM) または 32GB 以上の RAM を搭載した Apple M シリーズの Mac をお持ちであれば、4-bit 量子化で 26B MoE または 31B Dense を実行できます。
ソフトウェア要件
- オペレーティングシステム: macOS, Linux, または Windows
- Ollama: バージョン 0.6+ (ollama.com からダウンロード)
- GPU ドライバ (任意): NVIDIA GPU の場合は NVIDIA CUDA 12+、Apple Silicon の場合は追加ドライバ不要
ステップ 1:Ollama のインストール
macOS
ollama.com/download からダウンロードするか、Homebrew を使用します。
brew install ollama
Linux
一行のインストールスクリプト:
curl -fsSL https://ollama.com/install.sh | sh
Windows
ollama.com/download からインストーラーをダウンロードして実行します。Windows では Ollama はバックグラウンドサービスとして動作します。
インストールの確認
ollama --version
ollama version 0.6.x 以上が表示されれば、Ollama は正しくインストールされています。
ソース: Ollama installation guide
ステップ 2:Gemma 4 モデルのプル
ハードウェアに合ったモデルを選択してください。
ノート PC や軽いワークロード向け
# 最小モデル — あらゆる最新ノート PC で動作 (5GB RAM)
ollama pull gemma4:e2b
# 幅広い能力を持つ小型モデル (5-9GB RAM)
ollama pull gemma4:e4b
専用 GPU を搭載したデスクトップ向け
# 最高効率 — 3.8B アクティブパラメータでフラッグシップ級の品質 (18GB RAM)
ollama pull gemma4:26b-moe
# 最高品質 — フル 31B パラメータ (20GB RAM)
ollama pull gemma4:31b
量子化の指定
デフォルトでは、Ollama は各モデルに対して推奨される量子化(通常は品質とサイズのバランスが良い Q4_K_M)をプルします。異なる量子化を指定することも可能です。
# 高品質、大サイズ
ollama pull gemma4:31b-q5_K_M
# 小サイズ、わずかに低品質
ollama pull gemma4:31b-q3_K_M
# フル精度 (はるかに多くの RAM が必要)
ollama pull gemma4:31b-fp16
ダウンロードにはインターネット接続環境に応じて数分かかります。モデルのサイズは ~1.5GB (E2B 4-bit) から ~62GB (31B FP16) まであります。
ステップ 3:Gemma 4 の実行
インタラクティブチャット
ollama run gemma4:e4b
これにより対話型チャットセッションが開きます。プロンプトを入力して Enter を押してください。
>>> What are the key differences between REST and GraphQL APIs?
モデルはターミナル内で直接回答します。終了するには /bye と入力します。
単発プロンプト (非対話型)
echo "Explain the Builder design pattern in Python with an example" | ollama run gemma4:26b-moe
思考モードの使用
Gemma 4 は、複雑なタスク向けに設定可能な思考モードをサポートしています。システムプロンプトを追加することで有効にできます。
ollama run gemma4:31b --system "Think step by step before answering. Show your reasoning process."
数学、ロジック、および複雑な分析タスクにおいて、思考モードは回答の品質を大幅に向上させます。モデルは最終的な回答を生成する前に、4,000 tokens 以上の内部推論を生成します。
ステップ 4:ローカル API の使用
Ollama は localhost:11434 で OpenAI API 形式と互換性のある REST API を公開しています。つまり、OpenAI の API をサポートしているツールやライブラリであれば、URL を変更するだけでローカルの Gemma 4 に接続できます。
curl で API をテストする
curl http://localhost:11434/api/generate -d '{
"model": "gemma4:26b-moe",
"prompt": "Write a Python function to parse CSV files with error handling",
"stream": false
}'
OpenAI 互換エンドポイント
curl http://localhost:11434/v1/chat/completions -d '{
"model": "gemma4:26b-moe",
"messages": [
{"role": "user", "content": "Explain async/await in JavaScript"}
]
}'
ステップ 5:アプリケーションへの統合
Python
import requests
def ask_gemma(prompt, model="gemma4:26b-moe"):
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": prompt,
"stream": False
}
)
return response.json()["response"]
# 使用例
answer = ask_gemma("What is the time complexity of merge sort?")
print(answer)
OpenAI SDK を使用した Python
from openai import OpenAI
# OpenAI の代わりにローカルの Ollama を指定
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # Ollama は実際の API キーを必要としません
)
response = client.chat.completions.create(
model="gemma4:26b-moe",
messages=[
{"role": "system", "content": "You are a helpful coding assistant."},
{"role": "user", "content": "Write a React hook for debounced search"}
]
)
print(response.choices[0].message.content)
Node.js / TypeScript
const response = await fetch("http://localhost:11434/v1/chat/completions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "gemma4:26b-moe",
messages: [
{ role: "user", content: "Explain the Observer pattern with a TypeScript example" }
]
})
});
const data = await response.json();
console.log(data.choices[0].message.content);
LangChain での使用
from langchain_community.llms import Ollama
llm = Ollama(model="gemma4:26b-moe")
response = llm.invoke("Summarize the key principles of clean architecture")
print(response)
LlamaIndex での使用
from llama_index.llms.ollama import Ollama
llm = Ollama(model="gemma4:26b-moe", request_timeout=120.0)
response = llm.complete("What are the SOLID principles in software engineering?")
print(response)
量子化オプションの解説
量子化は、モデルのウェイトを表す数値の精度を下げることで、モデルのサイズとメモリ使用量を削減します。品質とリソース使用量のトレードオフは以下の通りです。
| 量子化 | ウェイトあたりのビット数 | 品質への影響 | メモリ節約量 | 最適な用途 |
|---|---|---|---|---|
| FP16 | 16 bits | なし (最高品質) | 基準 | 十分な VRAM を備えたサーバー |
| Q8_0 | 8 bits | 無視できる程度 | ~50% | 高品質なローカル推論 |
| Q6_K | 6 bits | 非常に軽微 | ~62% | 品質重視のローカル利用 |
| Q5_K_M | 5 bits | 軽微 | ~69% | 優れたバランス |
| Q4_K_M | 4 bits | 小さい | ~75% | 推奨されるデフォルト |
| Q3_K_M | 3 bits | 中程度 | ~81% | 制約のあるハードウェア |
| Q2_K | 2 bits | 重大 | ~87% | 極端な制約環境 |
ほとんどのユーザーにとって Q4_K_M がスイートスポットです。 FP16 との品質差は、ほとんどのタスクで見分けがつかないほど小さく、一方で 75% のメモリ節約により「サーバーが必要」な状態から「ノート PC で動作する」状態へと劇的な変化をもたらします。
適切な量子化の選択
Gemma 4 E2B/E4B の場合:デフォルト (Q4_K_M) を使用してください。これらのモデルは元々十分に小さいため、より高い量子化を使用してもユーザー体験が大幅に向上することはありません。
Gemma 4 26B MoE の場合:Q4_K_M は 18GB RAM に収まります。これは RTX 4090 の 24GB VRAM 内に収まり、KV キャッシュのための余裕もあります。48GB 以上の VRAM (A6000、デュアル GPU) をお持ちの場合は、わずかな品質向上のために Q8_0 を検討してください。
Gemma 4 31B Dense の場合:20GB の Q4_K_M は、RTX 4090 でギリギリ動作します。Q5_K_M はわずかに優れた結果をもたらしますが、~24GB を必要とし、利用可能な VRAM をすべて使い果たします。32GB 以上の VRAM (RTX 5090, A6000) をお持ちの場合は、Q6_K または Q8_0 にアップグレードする価値があります。
パフォーマンスの調整
GPU オフロード
Ollama は、VRAM が利用可能な場合、モデルのレイヤーを自動的に GPU にオフロードします。モデルの一部のみが VRAM に収まる場合、Ollama は GPU と CPU に処理を分割します。これを制御することも可能です。
# すべてのレイヤーを GPU に強制 (VRAM 不足の場合は失敗)
OLLAMA_NUM_GPU=999 ollama run gemma4:26b-moe
# CPU のみを使用 (テストに便利)
OLLAMA_NUM_GPU=0 ollama run gemma4:e4b
コンテキストウィンドウの設定
デフォルトでは、効率化のために Ollama は 2048 tokens のコンテキストウィンドウを使用します。Gemma 4 のフルコンテキスト機能を活用するには:
# コンテキストウィンドウを 32K tokens に設定
ollama run gemma4:26b-moe --num-ctx 32768
# コンテキストウィンドウを 128K tokens に設定 (より多くの RAM が必要)
ollama run gemma4:26b-moe --num-ctx 131072
重要: コンテキストウィンドウが大きくなると、KV キャッシュ用により多くの RAM を消費します。31B モデルでの 128K コンテキストウィンドウは、モデルのウェイト以外にさらに 8-16GB の追加 RAM を必要とする場合があります。まずは 32K から始め、必要に応じて増やしてください。
同時リクエスト
Ollama は複数のリクエストを同時に処理することをサポートしています。
# 最大 4 つの同時リクエストを許可
OLLAMA_NUM_PARALLEL=4 ollama serve
各同時リクエストは、その KV キャッシュのためにメモリオーバーヘッドを追加します。26B MoE を Q4_K_M (~18GB) で実行している 24GB GPU では、約 6GB の余裕があります。これは、短いコンテキストの同時リクエスト 2-3 個分に相当します。
Keep-Alive 設定
デフォルトでは、Ollama は最後のリクエストから 5 分間モデルをメモリに保持します。ユースケースに合わせてこれを調整してください。
# 1 時間モデルを保持
OLLAMA_KEEP_ALIVE=3600 ollama serve
# モデルを無期限に保持
OLLAMA_KEEP_ALIVE=-1 ollama serve
# リクエスト直後にアンロード (メモリを節約)
OLLAMA_KEEP_ALIVE=0 ollama serve
NVIDIA RTX の最適化
NVIDIA は RTX GPU 向けに最適化された Gemma 4 のビルドをリリースしました。これらの最適化には以下が含まれます。
- Gemma 4 のアテンションメカニズム用のカスタム CUDA カーネル
- 高速推論のための TensorRT-LLM 統合
- 長いコンテキスト推論中のメモリ使用量を削減する Flash Attention サポート
- スループット向上のための最適化された KV キャッシュ管理
NVIDIA 最適化版 Gemma 4 のインストール
RTX 4000 または 5000 シリーズの GPU をお持ちの場合:
# GPU の確認
nvidia-smi
# NVIDIA 最適化バージョンをプル (Ollama で利用可能な場合)
ollama pull gemma4:31b-nvidia
または、最大パフォーマンスを得るために NVIDIA AI Workbench または TensorRT-LLM を直接使用してください。NVIDIA 最適化バージョンは、標準の Ollama ビルドと比較して、RTX GPU で 30-50% 高速な推論を提供できます。
実環境のパフォーマンスベンチマーク
一般的なハードウェア構成での測定値:
トークン/秒 (生成速度)
| モデル | RTX 4090 (24GB) | RTX 3090 (24GB) | M3 Max (36GB) | CPU のみ (32GB) |
|---|---|---|---|---|
| E2B (Q4) | ~150 tokens/s | ~120 tokens/s | ~100 tokens/s | ~30 tokens/s |
| E4B (Q4) | ~100 tokens/s | ~80 tokens/s | ~70 tokens/s | ~15 tokens/s |
| 26B MoE (Q4) | ~40 tokens/s | ~30 tokens/s | ~25 tokens/s | ~3 tokens/s |
| 31B Dense (Q4) | ~30 tokens/s | ~20 tokens/s | ~20 tokens/s | ~2 tokens/s |
コンテキスト: 人間の読書スピードはおよそ秒間 4-5 tokens です。10 tokens/s を超えるモデルは、対話的な利用において「瞬時」に感じられます。E2B および E4B モデルは、ほぼすべてのハードウェアでリアルタイムストリーミングが可能なほど高速です。
最初のトークンまでの時間 (レイテンシ)
| モデル | RTX 4090 | M3 Max | CPU のみ |
|---|---|---|---|
| E2B | <100ms | <200ms | <500ms |
| E4B | <200ms | <300ms | ~1s |
| 26B MoE | ~500ms | ~1s | ~5s |
| 31B Dense | ~800ms | ~1.5s | ~8s |
対話型アプリケーションでは、生成速度よりも最初のトークンが出るまでの時間が重要です。E2B および E4B モデルは CPU 上でもほぼ瞬時に生成を開始するため、リアルタイムのチャットインターフェースに最適です。
一般的なユースケース
ローカルコーディングアシスタント
コードを外部サーバーに送信することのない、プライベートなコーディングアシスタントとして Gemma 4 を使用します。
ollama run gemma4:26b-moe --system "You are an expert software engineer. When given code, analyze it for bugs, suggest improvements, and explain your reasoning. Be concise and practical."
これを Continue や Twinny のような、Ollama をバックエンドとしてサポートする VS Code 拡張機能と組み合わせてください。
文書分析
機密文書をローカルで処理します。
echo "Analyze this contract clause and identify potential risks: [paste clause]" | ollama run gemma4:31b
256K のコンテキストを持つ 31B モデルは、約 750 ページまでの文書を処理でき、ほとんどの契約書、研究論文、技術文書に十分対応可能です。
ローカル RAG (検索拡張生成)
Gemma 4 をローカルのベクトルデータベースと組み合わせて、完全にプライベートな RAG システムを構築します。
from langchain_community.llms import Ollama
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.vectorstores import Chroma
# 埋め込みと生成の両方に Gemma 4 を使用
embeddings = OllamaEmbeddings(model="gemma4:e4b")
llm = Ollama(model="gemma4:26b-moe")
# ドキュメントからベクトルストアを作成
vectorstore = Chroma.from_documents(documents, embeddings)
# RAG でクエリ
retriever = vectorstore.as_retriever()
docs = retriever.get_relevant_documents("What is our refund policy?")
context = "\n".join([doc.page_content for doc in docs])
response = llm.invoke(f"Based on this context:\n{context}\n\nAnswer: What is our refund policy?")
アプリケーションへの AI 機能の組み込み
AI 機能を備えたアプリケーションを構築する開発者にとって、Ollama の API を介してローカルで Gemma 4 を実行することは、動作するプロトタイプへの最短経路です。OpenAI 互換の API であるため、開発時はローカルの Gemma 4 で開始し、本番環境ではアプリケーションコードを変更することなくクラウド API に切り替えることができます。
ZBuild のようなプラットフォームは、フロントエンド、バックエンド、認証、データベースといったアプリケーションインフラを処理できるため、ユーザーは AI 統合レイヤーに集中できます。開発中はアプリケーションの AI エンドポイントを localhost:11434 に向け、スケールする準備ができたらクラウドエンドポイントに切り替えます。
トラブルシューティング
"Out of memory" エラー
メモリエラーが表示される場合:
- より小さい量子化を試す:
ollama pull gemma4:31b-q3_K_M - コンテキストウィンドウを小さくする:
--num-ctx 4096 - 他の GPU 負荷の高いアプリケーションを閉じる
- より小さいモデルに切り替える: 26B MoE は、より低いメモリコストで 31B に近い品質を提供します。
生成速度が遅い
生成が期待より遅い場合:
- GPU 使用率を確認する:
nvidia-smi(高い GPU 使用率が表示されるはずです) - モデルが完全に VRAM に収まっているか確認する — 一部でも CPU にオフロードされると、劇的に遅くなります。
--num-ctxを減らして、計算用に VRAM を解放する。- 他のプロセスが GPU を使用していないか確認する。
モデルが見つからない
ollama run gemma4:26b-moe が失敗する場合:
# 利用可能なモデルをリストアップ
ollama list
# Gemma 4 モデルを検索
ollama search gemma4
# 特定のモデルをプル
ollama pull gemma4:26b-moe
API 接続が拒否される
アプリケーションが localhost:11434 に接続できない場合:
# Ollama が実行されているか確認
ollama list
# Ollama サーバーを手動で起動
ollama serve
# ポートを確認
curl http://localhost:11434/api/tags
モデル選択の決定ツリー
これを使用して、適切なモデルを素早く選択してください。
16GB 以上の VRAM を搭載した専用 GPU を持っていますか?
- はい → 最大の品質を求めますか、それとも最大の効率を求めますか?
- 最大の品質 →
gemma4:31b(Q4_K_M, 20GB 必要) - 最大の効率 →
gemma4:26b-moe(Q4_K_M, 18GB 必要)
- 最大の品質 →
- いいえ → 8GB 以上の RAM を持っていますか?
- はい →
gemma4:e4b(Q4_K_M, より高品質) - いいえ →
gemma4:e2b(Q4_K_M, 5GB で動作)
- はい →
最新のデスクトップまたはゲーミング PC を持つほとんどの開発者へ: gemma4:26b-moe から始めてください。これは Gemma 4 ファミリー全体の中で最高の品質対リソース比を提供します。
何を構築できるか
Gemma 4 をローカルで実行することで、コスト 0 の AI バックエンドを以下の用途に活用できます。
- 会話のプライバシーが完全に守られたチャットアプリケーション
- 独自のコードベースで動作するコード分析ツール
- 機密データのための文書処理パイプライン
- オフラインで動作するローカル AI アシスタント
- クラウド API コストをかける前の AI 機能のプロトタイプ
- 特定ドメインのタスク用にファインチューニングされたモデル (Apache 2.0 により自由に許可されています)
Apache 2.0 ライセンスは、構築したものはすべてあなたの所有物であることを意味します。使用制限も、収益分配も、承認も必要ありません。ローカルで実行し、自身のサーバーにデプロイし、自身の製品に組み込んでください。これこそが、真にオープンな AI の姿です。
ソース
- Gemma 4 Announcement - Google Blog
- Gemma 4 on Ollama
- Ollama Installation Guide
- Ollama API Documentation
- NVIDIA Gemma 4 RTX Optimization
- Gemma 4 Technical Report - Google DeepMind
- Gemma 4 Hugging Face Models
- Continue.dev - Local AI Code Assistant
- LangChain Ollama Integration
- Google AI for Developers - Gemma