Gemma 4 ガイド

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

2026年4月4日 更新約 10 分
gemma 4llama.cppローカルLLMggufセットアップガイド量子化
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コマンドでダウンロードしてチャット)を求めている場合は、OllamaLM 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-GGUF
  • unsloth/gemma-4-E4B-it-GGUF
  • unsloth/gemma-4-26B-A4B-it-GGUF
  • unsloth/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) が必要です。

必要なもの

  1. 言語モデルの GGUF (テキスト推論と同じ)
  2. 同じリポジトリ内の 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 の記事群をそのまま辿り、今の判断にいちばん近い次の記事へ進んでください。

次に何を読めばいいか迷っていますか?

ガイド一覧に戻って、モデル比較、ローカル導入、ハードウェア計画の3方向から続けて見ていけます。