Gemma 4 ガイド
llama.cpp で Gemma 4 を実行する方法: GGUF 設定、ハードウェア、量子化ガイド

Gemma 4 は 2026年4月2日にリリースされ、初日から llama.cpp でのサポートが開始されました。Ollama や LM Studio ではなく、あえて llama.cpp を使いたい方のために、本ガイドでは安定した初動と、その後のスケールアップに必要なコマンドとハードウェア数値を提供します。
まだどのランタイムを使うか迷っている場合は、まずllama.cpp が適しているケースをご覧ください。
Gemma 4 モデルサイズの概要
Gemma 4 には4つのバリアントがあります。ダウンロードを始める前に、ご自身のハードウェアを以下の表と照らし合わせてください。これはトラブルの最も一般的な原因です。
| バリアント | アーキテクチャ | コンテキスト | モダリティ | 4-bit 必要 RAM | 8-bit 必要 RAM | FP16 必要 RAM |
|---|---|---|---|---|---|---|
| E2B | Dense + PLE | 128K | テキスト, 画像, 音声 | 約 4 GB | 約 5–8 GB | 約 10 GB |
| E4B | Dense + PLE | 128K | テキスト, 画像, 音声 | 約 5.5–6 GB | 約 9–12 GB | 約 16 GB |
| 26B-A4B | MoE (4B active) | 256K | テキスト, 画像 | 約 16–18 GB | 約 28–30 GB | 約 52 GB |
| 31B | Dense | 256K | テキスト, 画像 | 約 17–20 GB | 約 34–38 GB | 約 62 GB |
ここでの RAM は利用可能なメモリの合計を指します。レイヤーをオフロードする場合は VRAM とシステム RAM の合計、Apple Silicon の場合はユニファイドメモリを意味します。4-bit 列の数値を下回る場合でも、llama.cpp はディスクへの部分的なオフロード機能を使い実行可能ですが、生成速度は著しく低下します。
クイックガイド:
- Mac mini M4 (16 GB メモリ): E4B (Q8_0)、または速度低下を許容できるなら 26B-A4B (Q4)。
- 16 GB VRAM (RTX 4080 等): E4B (Q8_0) が快適に動作。26B-A4B (Q4) も余裕あり。
- 24 GB VRAM (RTX 3090 / 4090): 26B-A4B (Q8_0) または 31B (Q4)。
- 8 GB VRAM: E2B または E4B (Q4 のみ)。
26B-A4B vs 31B: MoE 26B は推論ごとに 40億パラメータのみをアクティブにするため、31B よりも高速で軽量です。速度を重視し RAM に余裕がない場合は 26B-A4B を、最高品質を求め RAM に余裕がある場合は 31B を選んでください。
llama.cpp が適しているケース
以下のようなニーズがある場合に、llama.cpp は最適な選択となります。
- 生のコントロール: カスタムサンプリングパラメータ、KV キャッシュの調整、OpenAI 互換エンドポイントを持つサーバーモード、文法制約付き生成など。
- CPU 優先の推論: llama.cpp は、AVX2/AVX-512 や Apple Metal を含む CPU 重視のワークロードに対して、最も最適化された C++ ランタイムの一つです。
- スクリプト作成と CI パイプライン: Python 依存関係のない単一バイナリであるため、統合が容易です。
- マルチモーダル推論:
llama-mtmd-cliや--mmprojを指定したllama-serverを介して利用可能です。
最も簡単な方法(1コマンドでダウンロードしてチャット)を求めている場合は、Ollama や LM Studio を検討してください。より詳細な制御が必要になったら、またここに戻ってきてください。
ステップ 1 — llama.cpp のビルド
まずリポジトリをクローンします。CUDA や Metal 向けの最新の修正を反映させるため、常に master ブランチを使用してください。
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
Linux (NVIDIA GPU / CUDA)
CUDA ツールキットがインストールされていることを確認(nvcc --version)し、以下の手順を実行します。
apt-get update
apt-get install -y pciutils build-essential cmake curl libcurl4-openssl-dev
cmake llama.cpp -B llama.cpp/build \
-DBUILD_SHARED_LIBS=OFF \
-DGGML_CUDA=ON
cmake --build llama.cpp/build \
--config Release -j --clean-first \
--target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp/
ビルド後、GPU オフロードが機能しているか確認します。
./llama.cpp/llama-cli -m your-model.gguf -p "Hello" -n 5 --n-gpu-layers 99
offloaded 0/N layers と表示される場合は、CUDA なしでコンパイルされています。build/ ディレクトリを削除して最初からやり直してください。
macOS (Apple Silicon — Metal)
macOS ではデフォルトで Metal が有効になっています。-DGGML_CUDA=ON は不要です。通常通りビルドしてください。
brew install cmake
cmake llama.cpp -B llama.cpp/build \
-DBUILD_SHARED_LIBS=OFF \
-DGGML_CUDA=OFF
cmake --build llama.cpp/build \
--config Release -j --clean-first \
--target llama-cli llama-mtmd-cli llama-server
cp llama.cpp/build/bin/llama-* llama.cpp/
Apple Silicon では「VRAM」とシステム RAM は同じユニファイドメモリプールであるため、24 GB の M3 Pro であれば、モデルの重みに対して 24 GB 全体を割り当てることができます。
CPU のみ (GPU なし)
cmake llama.cpp -B llama.cpp/build \
-DBUILD_SHARED_LIBS=OFF \
-DGGML_CUDA=OFF
cmake --build llama.cpp/build \
--config Release -j$(nproc) \
--target llama-cli llama-server
cp llama.cpp/build/bin/llama-* llama.cpp/
CMake はホスト CPU の AVX2/AVX-512 を自動検出し、適切な最適化を有効にします。CPU 推論は低速ですが、完全に機能します。
ステップ 2 — GGUF の選択とダウンロード
量子化の選び方
| 量子化 | ファイルサイズ (概算) | 品質 | 最適なケース |
|---|---|---|---|
| Q8_0 | Q4 の約2倍 | FP16 に極めて近い | RAM に余裕がある場合の E2B / E4B |
| Q4_K_M | 中程度 | バランス良好 | 24 GB VRAM 環境での 26B-A4B / 31B |
| UD-Q4_K_XL | Q4_K_M よりわずかに大 | Q4_K_M より高品質 | Unsloth 公式の推奨 (26B-A4B / 31B) |
| Q2_K | 最小 | 品質低下が顕著 | 他に選択肢がない場合のみ |
主要な GGUF コレクションを管理している Unsloth による推奨の起点:
- E2B / E4B → Q8_0 から開始
- 26B-A4B / 31B → UD-Q4_K_XL から開始
Hugging Face CLI によるダウンロード
CLI をインストールします。
pip install huggingface_hub hf_transfer
次に、選択したモデルをダウンロードします。例:26B-A4B の UD-Q4_K_XL。
export LLAMA_CACHE="unsloth/gemma-4-26B-A4B-it-GGUF"
huggingface-cli download unsloth/gemma-4-26B-A4B-it-GGUF \
--local-dir unsloth/gemma-4-26B-A4B-it-GGUF \
--include "*UD-Q4_K_XL*"
マルチモーダル推論(画像認識)を行う場合は、プロジェクターファイルもダウンロードします。
huggingface-cli download unsloth/gemma-4-26B-A4B-it-GGUF \
--local-dir unsloth/gemma-4-26B-A4B-it-GGUF \
--include "*mmproj-BF16*" "*UD-Q4_K_XL*"
各 GGUF コレクションのリポジトリ名:
unsloth/gemma-4-E2B-it-GGUFunsloth/gemma-4-E4B-it-GGUFunsloth/gemma-4-26B-A4B-it-GGUFunsloth/gemma-4-31B-it-GGUF
ステップ 3 — テキスト推論の実行
llama.cpp は自動的にコンテキスト長を設定するため、通常 -c を渡す必要はありません。以下のパラメータは Google 公式の推奨値に基づいています。
llama-cli による対話チャット
E4B (Q8_0):
export LLAMA_CACHE="unsloth/gemma-4-E4B-it-GGUF"
./llama.cpp/llama-cli \
-hf unsloth/gemma-4-E4B-it-GGUF:Q8_0 \
--temp 1.0 \
--top-p 0.95 \
--top-k 64 \
-cnv
26B-A4B (UD-Q4_K_XL):
export LLAMA_CACHE="unsloth/gemma-4-26B-A4B-it-GGUF"
./llama.cpp/llama-cli \
-hf unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL \
--temp 1.0 \
--top-p 0.95 \
--top-k 64 \
-cnv
OpenAI 互換サーバー (llama-server)
ポート 8080 でローカルサーバーを起動し、OpenAI クライアント対応のあらゆるツールから呼び出せるようにします。
./llama.cpp/llama-server \
-m unsloth/gemma-4-26B-A4B-it-GGUF/gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \
--temp 1.0 \
--top-p 0.95 \
--top-k 64 \
--port 8080
curl でテストします。
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gemma-4",
"messages": [{"role": "user", "content": "アテンション・メカニズムについて1段落で説明してください。"}]
}'
推奨推論パラメータ
| パラメータ | 推奨値 | 備考 |
|---|---|---|
--temp |
1.0 | Google 公式デフォルト |
--top-p |
0.95 | Google 公式デフォルト |
--top-k |
64 | Google 公式デフォルト |
--repeat-penalty |
1.0 (無効) | 文のループが発生する場合のみ調整 |
| コンテキスト長 | 自動 | llama.cpp が自動設定 |
コンテキストの上限: E2B / E4B は 128K トークン、26B-A4B / 31B は 256K まで対応しています。実用的には 32K から始めるとレスポンスが早くなります。
思考 (Thinking) モードの有効化
Gemma 4 は推論(reasoning / thinking)モードをサポートしています。システムプロンプトの冒頭に <|think|> を追加することで有効になります。サーバー使用時にこれを無効にするには、以下のように指定します。
./llama.cpp/llama-server \
-m your-model.gguf \
--chat-template-kwargs '{"enable_thinking":false}'
ステップ 4 — マルチモーダル(画像)推論
Gemma 4 は画像入力にも対応していますが、2つ目の GGUF ファイルである マルチモーダル・プロジェクター (mmproj) が必要です。
必要なもの
- 言語モデルの GGUF (テキスト推論と同じ)
- 同じリポジトリ内の
mmproj-BF16.ggufファイル
llama-mtmd-cli での実行
./llama.cpp/llama-mtmd-cli \
--model unsloth/gemma-4-26B-A4B-it-GGUF/gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \
--mmproj unsloth/gemma-4-26B-A4B-it-GGUF/mmproj-BF16.gguf \
--temp 1.0 \
--top-p 0.95 \
--top-k 64
対話の中で [img]path/to/image.jpg[/img] 構文を使って画像を参照できます。
トラブルシューティング
- ビルド後に "offloaded 0 layers" と出る: CUDA ビルドが正しくリンクされていません。
buildディレクトリを削除して、-DGGML_CUDA=ONを付けて再ビルドしてください。 - メモリ不足 (OOM): 量子化後でも RAM が不足しています。より小さい量子化(Q2_K 等)にするか、小さいモデル(31B → 26B-A4B 等)への変更を検討してください。
- macOS で Metal を使っているのに遅い: 起動ログを確認してください。
MetalではなくCPUとなっている場合は、--n-gpu-layers 99を明示的に追加してオフロードを強制してください。
よくある質問 (FAQ)
llama.cpp は Gemma 4 を公式にサポートしていますか? はい。2026年4月2日のリリースと同時にサポートが開始されました。
Mac mini で動かせますか? はい。メモリ 16 GB の M4 モデルであれば E4B (Q8_0) が快適に、24 GB の M4 Pro であれば 26B-A4B (Q8_0) も動作します。
GPU は必須ですか? いいえ。llama.cpp は CPU のみでも動作します。GPU (CUDA / Metal) は生成速度を向上させますが、CPU のみでも E2B や E4B のような小型モデルであれば実用的な速度で動作します。
Coding Agent (Cursor / Continue 等) で使えますか?
はい。llama-server を立ち上げ、OpenAI 互換のベース URL として http://localhost:8080/v1 を指定してください。
次のステップ
テキスト推論が安定したら、以下のことを試してみてください。
- 26B-A4B を試して、品質の飛躍的な向上を確認する。
llama-mtmd-cliを使い、マルチモーダル入力を試す。- よりシンプルなワークフローが欲しい場合は、Ollama と比較してみる。
最大のミスは、動作確認をせずに最大サイズのモデルをいきなりダウンロードすることです。まずは E4B で安定した環境を構築することをお勧めします。
関連記事
関連記事
Gemma 4 の記事群をそのまま辿り、今の判断にいちばん近い次の記事へ進んでください。

llama.cpp は Gemma 4 に対応している? GGUF の状況、修正、動作確認済みモデル
llama.cpp が Gemma 4 をサポートしているかという疑問に対し、公式 GGUF リンク、現在のサポート状況、そして「サポート済み」が具体的に何を意味するのかを詳しく回答します。

LM Studio は Gemma 4 に対応している? 互換性、モデル一覧、要件
LM Studio が Gemma 4 をサポートしているかという問いに対し、サポート対象モデルの一覧、最小メモリ要件、そして実際のセットアップにおける期待値を明らかにします。

Gemma 4 GGUF ダウンロードガイド:安全なソース、量子化のコツ、ローカルセットアップ
このガイドを活用して、信頼できるソースから最適なファイルを選び、迷うことなくダウンロードからローカルでの初回実行まで進めましょう。
次に何を読めばいいか迷っていますか?
ガイド一覧に戻って、モデル比較、ローカル導入、ハードウェア計画の3方向から続けて見ていけます。
