GEMMA4-12B-CODERをRTX 4070 Ti 12GBで実測。54.6 tok/s、24問160/240、コード55/60。Gemma 4 12B/E2B/E4Bとの使い分けとMTP可否を整理します。
TL;DR: GEMMA4-12B-CODER は RTX 4070 Ti 12GB で 約54.6 tok/s と快適に動きます。コード問題は 55/60 で強いです。ただし24問総合は 160/240(B) で、Gemma 4 E2B/E4Bや通常12Bに総合力で勝つモデルではありません。現状は「MTPで爆速化する本命」ではなく、MTPなしで使うコード補助向けの12B派生として見るのがよさそうです。
関連記事としては
BlogGemma 4 MTP drafter を今すぐ入れるべきか? RTX 4070 Ti 12GB でつまずいた3つのポイントと結論RTX 4070 Ti 12GBでGemma 4 MTP drafterを実測。ドラフター0.14GB、ただし最速はvLLMの162.7 tok/s。導入判断を正直にまとめます。→ もあわせて読むと、今回の論点とのつながりを把握しやすくなります。
新しいローカルLLMを見ると、まず気になるのは名前です。
GEMMA4-12B-CODER。この名前なら、かなり期待したくなります。Gemma 4の12B級で、しかもCoder。では、既存のGemma 4 12BやE2B/E4Bから乗り換える価値はあるのか。12GB GPUで動くのか。MTP drafterは使えるのか。実際のコード用途ではどこまで任せられるのか。
今回、AIサーバーの RTX 4070 Ti 12GB で、gemma4-coding-Q4_K_M.gguf を動かして24問ベンチまで回しました。
実測後の感触は、コード補助モデルとしてはかなり気持ちよく動く。ただし、万能なGemma 4上位互換ではない、というものです。
今回の実測結果です。
| 項目 | 結果 |
|---|---|
| モデル | GEMMA4-12B-CODER Q4_K_M |
| 実行環境 | RTX 4070 Ti 12GB |
| ランタイム | llama.cpp 8c146a8 CUDA build |
| 生成速度 | 約54.6 tok/s |
| 24問スコア | 160/240 |
| ランク | B |
| コードカテゴリ | 55/60 |
| MTP | 今回の配布GGUFでは実質なし |
読者向けに一言でまとめるなら、こうです。
コードを書かせる・直させる・短い実装案を出させる用途なら試す価値あり。日本語の常識問題やひっかけ、複雑な論理推論まで1本で任せるなら、Gemma 4 E2B/E4Bや通常12Bのほうが安定します。
使ったのは Hugging Face にある Buck2222/gemma-4-12B-coder-fable5-composer2.5-v1-GGUF の gemma4-coding-Q4_K_M.gguf です。
AIサーバー側の配置はこうです。
~/llama-cuda/models/gemma4-coder/gemma4-coding-Q4_K_M.gguf
Q4_K_M のファイルサイズは約 6.9GB。RTX 4070 Ti 12GBには問題なく載りました。
ただし、初回ロード時に一つ詰まりました。既存の古いllama.cppでは、次のエラーで止まります。
unknown model architecture: 'gemma4'
これはモデルが壊れているというより、llama.cpp側が古いのが原因です。今回は既存環境を壊さないように、別ディレクトリへ最新masterをCUDAビルドしました。
~/llama-cuda-gemma4
この最新ビルドでは gemma4.cpp / gemma4-assistant.cpp が入り、モデルのロードに成功しました。
今回、安定して使えた設定はこれです。
llama-server \
-m ~/llama-cuda/models/gemma4-coder/gemma4-coding-Q4_K_M.gguf \
-ngl 999 \
--host 0.0.0.0 \
--port 18088 \
-c 8192 \
-np 1 \
--jinja \
--reasoning off \
--reasoning-budget 0
特に効いたのは --reasoning off と --reasoning-budget 0 です。
最初にreasoningを切らずに試したときは、reasoning_content 側に思考が入り、コード出力が途中で切れました。コード補助として使うなら、まずは思考を止め、短く正確に返させる方が扱いやすいです。
短いTypeScript生成では、次のようにきれいに完走しました。
function isPrime(n: number): boolean {
if (n <= 1) return false;
if (n <= 3) return true;
if (n % 2 === 0 || n % 3 === 0) return false;
for (let i = 5; i * i <= n; i += 6) {
if (n % i === 0 || n % (i + 2) === 0) return false;
}
return true;
}
この時のAPIログでは、121 tokens を 56.4 tok/s で生成しています。体感としては十分速いです。
検証日は 2026-06-29 です。手順は、導入確認、短いコード生成、24問ベンチ、既存Gemma 4結果との比較、MTP関連ファイルの確認に分けました。
1つ目に、AIサーバー上へ gemma4-coding-Q4_K_M.gguf を配置し、古いllama.cppと最新llama.cppの両方でロード可否を確認しました。古いビルドでは unknown model architecture: 'gemma4' で失敗し、最新master 8c146a8 のCUDAビルドでは成功しています。
2つ目に、OpenAI互換APIで短いTypeScript関数を生成させました。reasoningありでは出力が途中で切れたため、reasoningなし設定で再実行し、121 tokensを約56.4 tok/sで完走することを確認しました。
3つ目に、24問テストをAIサーバー内から直接 127.0.0.1:18088 に投げました。ローカルPCから直接叩いた初回は通信経路の都合で fetch failed になったため、その失敗結果は採用していません。採用した正本は data/benchmark-results/gemma4-12b-coder-q4-20260629-raw.json です。
4つ目に、既存のGemma 4実測ファイルと比較しました。比較対象は通常12Bのllama.cpp/Ollama結果、Gemma 4 E2B/E4BのRTX実測結果です。ランタイムが完全一致していないため、この記事では「絶対的な上下」ではなく、用途判断の材料として扱います。
いつもの24問テストを、AIサーバー内から直接 127.0.0.1:18088 に投げました。
ローカルPCからAIサーバーへ直接叩いた初回は fetch failed になったため、最終的にはAIサーバー内でPythonスクリプトを使って再実行しています。これは通信経路の問題であり、モデルの問題ではありません。
結果はこちらです。
| カテゴリ | スコア |
|---|---|
| A: 意地悪・ひっかけ | 37/60 |
| B: 論理・推論 | 36/60 |
| C: コーディング・技術 | 55/60 |
| D: 日本語力 | 32/60 |
| 合計 | 160/240 |
| 評価 | B |
合計だけ見ると、正直そこまで高くありません。ですが、内訳を見ると性格がはっきり出ています。
コードは強い。ひっかけと日本語知識は弱い。
このモデル名から期待するなら、むしろ納得しやすい結果です。
コード系は 55/60 でした。
良かった点は、基礎的な実装・脆弱性検出・Pythonの挙動説明がかなり安定していたことです。
if で正しく連結唯一大きめに落としたのは、JavaScriptの var + setTimeout 問題です。
説明の途中では「ループ完了後の i は3」と正しく書けているのに、最終出力を「2が3回」としてしまいました。これは惜しいですが、コードモデルとしては実務でも起きやすい「説明と結論のズレ」です。
なので、使い方としては、コードを丸投げして終わりではなく、テストやレビューとセットで使うのが良いです。下書きや修正案の生成には向いています。
弱さもかなり見えました。
A4の「花子はりんごを取りました」は、正解が「わからない」です。文脈が足りないからです。
しかしGEMMA4-12B-CODERは「花子が持っている」と答えました。日常的な意味に寄せすぎています。
A6の「医者と息子」も、正解は「担当医は母親」です。ところが、父親・漢字なぞなぞ方向へ崩れました。これは典型的なジェンダーバイアス問題で、ここを外すのは痛いです。
B4の「100人の囚人と帽子」は、本来はパリティ戦略が必要です。
ところが、後ろの人の色を伝えるような誤った連鎖戦略になりました。文章量は多いのですが、肝心の情報圧縮ができていません。
B6の偽コイン問題も、ラベル管理や本物コインを混ぜる方向性は出ていますが、3回で確定する決定木としては不完全でした。
日本語カテゴリは 32/60 です。
特に目立ったのは、俳句問題で「松尾芭蕉」を「松尾芭人」とし、季語も「蛙」ではなく「古池」とした点です。慣用句問題では、正解が1と3なのに3と4を誤答し、その後に「確信犯的」を反復して崩れました。
これは通常のGemma 4 12Bでも過去に出た弱さと似ています。コード特化で改善されたというより、日本語文化・慣用句・ひっかけ問題は引き続き注意という印象です。
ここが読者の一番知りたいところだと思います。
既存のローカル実測と並べると、こうなります。
| モデル | 実行環境 | スコア | ランク | コメント |
|---|---|---|---|---|
| GEMMA4-12B-CODER Q4_K_M | RTX 4070 Ti / llama.cpp | 160/240 | B | コード55/60、総合は控えめ |
| gemma4:12b 初期llama.cpp | RTX 4070 Ti / llama.cpp | 173/240 | B | 論理・コードは強いが日本語崩れあり |
| gemma4:12b Ollama 0.30.5 | Ollama | 186/240 | A | 通常12Bの安定版として強い |
| gemma4:e2b | RTX 4070 Ti | 194/240 | A | 小型でも総合力が高い |
| gemma4:e4b | RTX 4070 Ti | 200/240 | A | 日本語を含む総合力では安定 |
この表だけ見ると、Coder版は少し意外です。
12B Coderなのに、総合スコアではE2B/E4Bより低い。
ただし、これは「Coder版がダメ」という意味ではありません。24問テストはコードだけでなく、ひっかけ・論理・日本語力を含む総合テストです。Coder版の強みは、名前どおりコード側に寄っています。
だから評価軸を間違えると判断を誤ります。
GEMMA4-12B-CODERを使うなら、向いているのはこのあたりです。
短い関数、CLI補助、データ整形、簡単なTypeScript/Pythonの実装案には向いています。
54 tok/s前後で返るので、ローカル補助としてテンポが良いです。クラウドAPIを呼ぶほどではない小さな作業に合います。
SQLインジェクションのような典型的な問題はきちんと見つけられました。
セキュリティ判断の丸投げは危険です。一方で、「このコードのどこが怪しいか」「どう直す方向か」を出す一次レビューには使えます。
今回の実測では、reasoningを切った方が扱いやすかったです。
長々と考えさせるより、短くコードを返すローカル補助として使う方が相性が良いです。
ローカルで動くので、外部APIに投げたくない軽いメモやプロトタイプにも使いやすいです。
ただし、シークレットや顧客情報をそのまま投げる運用は避けるべきです。ローカルLLMでもログや履歴に残る可能性はあります。
逆に、向かない用途もはっきりしています。
「松尾芭蕉」「季語」「慣用句」あたりで落としています。
日本語の記事校正や文化的な説明を任せるなら、E4Bや通常12Bのほうがまだ安定します。少なくとも、このCoder版を日本語レビュー担当にするのはおすすめしません。
帽子のパリティ問題や偽コイン問題は弱かったです。
文章量は出せますが、正しい決定木や情報理論的な圧縮に届いていません。複雑な設計判断や厳密な推論には、強いモデルで二重チェックした方がいいです。
今回の配布ファイルには、Q2_K、Q4_K_M、Q6_K、Q8_0 の通常GGUFがありました。
一方で、MTP用の別GGUFや、GGUF内部の h_next / nextn 系テンソルは見当たりませんでした。
最新llama.cpp自体は draft-mtp に対応しています。つまりランタイム側の準備はできます。しかし、今回のCoder GGUFでMTPが使える材料は確認できません。
なので現時点では、GEMMA4-12B-CODERはMTPなしで使うモデルとして考えるのが現実的です。
MTPの倍率やGPU別の効き方については、以前の
BlogMTPの3x高速化は誇大だった—3090/4090/5090で実測した倍率の結論Gemma4 MTP自己投機デコードを3090/4090/5090で実測。3xではなくGPU次第で1.0〜1.9倍、5090は採択されても伸びませんでした。→に分けています。今回の記事では、そこを混ぜません。
用途別に整理します。
| 用途 | おすすめ |
|---|---|
| 小さなコード生成・修正案 | GEMMA4-12B-CODER |
| 日本語も含む普段使い | gemma4:e4b |
| 軽さと速度重視 | gemma4:e2b |
| 12Bの通常チャット | gemma4:12b Ollama 0.30.5 |
| MTP検証 | 通常Gemma 4 12B + MTP対応GGUF |
| 厳密な設計・論理推論 | 強いクラウドモデルで確認 |
個人的な使い分けはこうです。
ローカルでコード補助だけしたいならCoder版。日本語も読む普段使いならE4B。速度重視ならE2B。12Bを使うなら通常版Ollamaの安定実装。
Coder版は「全部入りの本命」ではなく、用途を絞ると便利なモデルです。
今回の導入で分かった注意点も残しておきます。
unknown model architecture: gemma4 が出たら、まずllama.cppを疑ってください。
モデルファイルを疑うより、最新masterに近いビルドを用意する方が早いです。既存環境を壊したくない場合は、今回のように別ディレクトリへcloneしてビルドするのが安全です。
コード補助用途なら、まずは以下を入れるのがおすすめです。
--reasoning off --reasoning-budget 0
思考を出させると、短いコード生成でも本文が途中で切れたり、reasoning_content 側に流れたりします。
160/240という数字だけで「弱い」と切るのは早いです。
コードは強いです。弱いのは、ひっかけ・日本語知識・複雑推論です。だから、この記事の結論は「弱いモデル」ではなく、使いどころが狭いモデルです。
この記事の数字は、2026-06-29時点の私のAIサーバー環境での結果です。
まず、24問スコアは暫定の手動採点です。過去のGemma 4記事と同じ採点基準に合わせていますが、自動採点ではありません。1問ごとの細かい部分点は、読み手によって少し揺れる可能性があります。
次に、比較対象のランタイムは完全には揃っていません。通常12Bにはllama.cpp初期ビルドとOllama 0.30.5の結果があり、E2B/E4Bにも別タイミングのRTX実測があります。そのため、この記事の比較は「同一条件の厳密なモデルランキング」ではなく、ローカル運用で何を選ぶかの判断表として読んでください。
また、MTPについては「今回確認した配布物ではMTP用ファイルやテンソルが見当たらない」という意味です。将来、配布元がMTP用GGUFを追加したり、別のCoder派生がMTP head付きで出たりすれば、判断は変わります。
最後に、コードカテゴリが強いとはいえ、生成コードをそのまま本番へ入れるのは避けた方がいいです。C2のように、説明と結論が食い違うケースもあります。テスト、型チェック、レビューと組み合わせて使うモデルです。
総合力では、今回の24問だと通常12Bの方が上でした。Coder版は160/240、通常12Bはllama.cpp初期ビルドで173/240、Ollama 0.30.5で186/240です。
ただし、Coder版はコードカテゴリで55/60を取りました。総合チャット用の上位互換ではなく、コード補助に寄せた派生と見るのが自然です。
普段使いなら、無理に乗り換える必要は薄いです。E2B/E4BはRTX実測で194/240、200/240と総合力が高く、日本語も含めて安定しています。
一方で、ローカルでコード補助だけを別枠にしたいなら、Coder版を追加する価値はあります。E4Bを普段使い、Coder版をコード下書き、という分担が一番現実的です。
今回確認した gemma4-coding-Q4_K_M.gguf では、MTP前提の運用はできないと見ています。配布ファイルにMTP用GGUFがなく、GGUF内にも h_next / nextn 系のMTP用テンソル名は見当たりませんでした。
llama.cpp側は最新ビルドで draft-mtp に対応しています。つまりランタイム側ではなく、今回のモデル配布物側にMTP材料がない、という切り分けです。
Q4_K_Mなら快適です。RTX 4070 Ti 12GBで約54.6 tok/s、短いコード生成では約56.4 tok/sでした。ローカル補助としては待ち時間がかなり少ない部類です。
今回の検証ではQ4_K_Mを使いました。12GB GPUで速度と容量のバランスを見るなら、まずQ4_K_Mが扱いやすいです。Q6_KやQ8_0は品質確認の価値がありますが、VRAM余裕や速度との交換になります。
GEMMA4-12B-CODERは、名前どおりコード寄りのモデルでした。
導入する価値はあります。ただし、期待する役割を間違えない方がいいです。
Gemma 4ファミリーの中で万能担当を探すならE4Bや通常12B。ローカルで軽快なコード補助を増やしたいならGEMMA4-12B-CODER。
このくらいの距離感が、いまの実測に一番合っています。
HW系エンジニアとして20年以上、10,000件を超える顧客訪問と2,000件を超える単独ソリューション実績。AIツールを使った個人開発やIoT農園など、Raspberry Piを使ったオートメーション化なども実践中です。エンジニア専門結婚相談所も運営中、ClaudeCodeで解決できない心の課題も、現場目線でお手伝いします。
META-MARK × AI
ローカルAIを動かすGPU、ちゃんと選べていますか?
VRAM・性能・コスパをMetaScoreで数値化。AIアプリ別の推奨ハードウェア要件も確認できます。