Gemma4 MTP自己投機デコードを3090/4090/5090で実測。3xではなくGPU次第で1.0〜1.9倍、5090は採択されても伸びませんでした。
TL;DR: Gemma4 12BのMTP(自己投機デコード)を3GPUで実測(2026-06-08)。倍率は3090で×1.25、4090で×1.92、5090で×1.00。最高額の5090は44%採択でも伸びず、「3x」はコンシューマでは再現しませんでした。
結論から書きます。コンシューマGPUのMTP倍率は1.0〜1.9倍で、GPU次第です。4090が一番効いて、最高額の5090は効きませんでした。
MTP(自己投機デコード)は、派手に聞こえます。しかも「3x高速化」と言われると、ローカルでGemmaを回している身としては期待したくなります。ですが、実測すると話はかなり地味でした。3090は微増、4090は大きく伸びる、5090は採択されても利得ゼロです。
ここで一度、足元を見ておきます。これは「MTPそのものが無意味」という話ではありません。どのGPUで、どのモデルで、どの実装を使うかで結果が変わる、という話です。読者が知りたいのはそこだと思うので、先に結論を置きます。
3GPUを同じ条件で比較すると、4090がスイートスポットでした。逆に、**5090は最も高価なのに、今回の条件ではまったく伸びませんでした。**これは少し意外な結果でした。
そして大事なのは、採択率は3GPUとも0.45〜0.56程度で大差なかったことです。つまり、倍率の差は「MTPの候補がどれだけ採択されたか」だけでは説明できません。ハードウェアかビルド側の差です。
今回の数字は、ふわっとした印象ではありません。条件を揃えています。計測日は 2026-06-08 です(llama.cppもこの時点のmasterなので、後述の5090の話は時間とともに変わり得ます)。
重要なのは、これは同一ビルド・同一ホストの off↔on 比較だという点です。ollamaの値や別ランタイムの速度とは並べていません。あちらはあちら、こちらはこちらです。混ぜると判断を誤ります。
RTX 3090(sm_86)は、81.3 → 101.6 t/s、倍率×1.25でした。draft採択率は0.48です。
ホスト個体差でベースラインは 60〜81 t/s に振れましたが、倍率自体は安定していました。これは現場的には大事です。絶対速度は揺れても、MTPの効き方はそこまで壊れていないということです。
3090を使っている人は、「MTPで爆速になる」と期待しすぎない方がいいです。とはいえ、微増では済まない場面もあるので、無視するには惜しい、という位置づけです。
RTX 4090(sm_89)は、96.4 → 187.1 t/s、倍率×1.92でした。draft採択率は0.56です。
別の2ホストでも 1.90 → 1.94 で再現しました。つまり、ラッキー値ではありません。
実際に触ると、この差は地味に効きます。1.9倍は、単なる誤差ではないです。ローカルでチャット用途や短文反復が多いなら、体感差として十分に意味があります。
今回の3GPUでは、4090が最もMTPの恩恵を受けました。
RTX 5090(sm_120 / Blackwell)は、134.5 → 134.6 t/s、倍率×1.00でした。draft採択率は0.45です。
これが一番厄介です。というのも、draft-mtp 自体は正常にロードされていて、44.5%採択で投機は走っているからです。つまり、単に機能が死んでいるわけではありません。採択しても利得に変換できていない、という状態です。
最高額のGPUが最弱。こういう結果は、期待していた分だけ少し肩を落とします。ですが、無理に持ち上げる方が不誠実です。
ここは断定しません。現時点では、llama.cpp の sm_120(Blackwell)対応がまだ未成熟な疑いがあります。
ただし、ビルドtoolkit差も交絡しています。4090は CUDA 12.4、5090は CUDA 12.8 でした。なので、「Blackwellだから遅い」と単純化はできません。
傍証として、5090のベースラインは 134.5 t/s で、4090の 96.4 t/s の 1.39倍止まりでした。メモリ帯域は約1.8倍という見方もあるので、ベースラインからして振るいません。ここから先は仮説になりますが、Blackwell側の最適化不足か、現行ビルドとの相性を疑うのが自然です。
3GPUの採択率は 0.45〜0.56 で大差ありませんでした。
それでも倍率は ×1.25 / ×1.92 / ×1.00 です。
つまり、MTPの効きは採択率だけでは決まりません。 ここは重要です。採択率の数字だけ見て「よし、走っている」と判断すると外します。実際には、採択後の処理が速いか、投機が本当にスループットに変換されるかが効いています。
MTPの「3x」は、B200や31Bモデルの話です。少なくとも今回のようなコンシューマ向け12B、しかも7.4GBで帯域律速・すでに高速な条件とは別物です。
ここは期待値調整が必要です。理屈としては派手でも、現場では帯域を食い合います。既に速い領域に投機を足すと、純益は小さいことがあります。GPUによっては、今回の5090のように消えることもある。
夢で釣って真実で返すなら、真実はこのあたりです。
読者の次の判断は、だいたいこの3つに絞られます。
特に5090は、買った人ほど期待しやすいはずです。ですが、今回の実測では現状待ちが正直な答えです。
今回の再現は、Vast.ai 上で llama.cpp master を cmake でソースビルドして行いました。プリビルドイメージでは MTP の arch が反映されないため、そこは避けています。
フラグはこれだけです。off(ベースライン)はdraft系を外し、on(MTP)だけ--model-draftと--spec-type draft-mtpを足します。同一ビルドで揃えるのがポイントです。
# プリビルドはMTP archが未反映なのでmasterをソースビルド
$ git clone --depth 1 https://github.com/ggml-org/llama.cpp
$ cmake -B build -DGGML_CUDA=ON && cmake --build build --target llama-server -j
# off(MTPなし・ベースライン)
$ llama-server -m gemma-4-12b-it-Q4_K_M.gguf -ngl 999
# on(MTP・自己投機デコード)
$ llama-server -m gemma-4-12b-it-Q4_K_M.gguf \
--model-draft gemma-4-12B-it-MTP-Q8_0.gguf \
--spec-type draft-mtp --spec-draft-n-max 4 -ngl 999
計測は、同一インスタンスで off/on の2サーバーを立て、cold/warm を含めて見ました。費用面は、自己消滅タイマーと確実な destroyで安全側に寄せています。全7ランで、実費は約$0.85でした。
instruction-tunedモデルに対して、llama.cpp の 生/completion でチャットテンプレを適用せずに生プロンプトを投げると、即EOSで5トークンしか生成されず、偽の t/s になります。
これはベンチあるあるですが、地味に痛いです。MTP以前に、測定が壊れます。
なので、gemmaチャットテンプレで包むことが必須です。
また、ignore_eos は使わない方がいいです。温度0だと反復ループで採択率を偽って上げることがあり、結果が汚れます。便利そうに見えて、ベンチでは罠になります。
この記事は、**「自分のGPUでMTPを試す価値があるか」**を判断するための実測です。
Bloggemma4 12BはどのGPUで動く?実測3点+主要18枚の速度早見表【VRAM 8GBは崖の縁】gemma4 12Bを手持ちGPUで動かす判断材料を、VRAM別・実測3点・主要18枚の速度早見表で整理。8GBの限界も明確にします。→のように絶対速度を並べる記事とは別です。今回はあくまで、同一ビルド内の MTP off/on 倍率を見ています。なお、MTP drafterを12GBの
BlogGemma 4 MTP drafter を今すぐ入れるべきか? RTX 4070 Ti 12GB でつまずいた3つのポイントと結論RTX 4070 Ti 12GBでGemma 4 MTP drafterを実測。ドラフター0.14GB、ただし最速はvLLMの162.7 tok/s。導入判断を正直にまとめます。→は別記事にあります。
なので、読者が次にやるべきことはシンプルです。
MTPの3x高速化は、少なくともコンシューマGPUのGemma4 12B実測では再現しませんでした。
そして大事なのは、5090は採択されていたのに速くならなかったことです。これは「機能が動いていない」のではなく、今の実装とBlackwellの組み合わせでは利得に変換できていない疑いがある、というのが正確です。
要するに、MTPはGPU次第です。派手な3xの夢はありますが、実務の判断はもっと地味で、もっと厳しい。そこを見誤らないのが、ローカルGPU運用ではいちばん効きます。
draft acceptance)はサーバーログから直接読み、「動いているのに伸びない」を切り分けました。今回の5090がほぼそれでした。倍率×1.00で、利得はゼロです。draft検証のコストが利得を食い合うと、純益がほぼ消えます。理屈の上では、採択率が極端に低い環境では「わずかに遅くなる」こともあり得ます。
そうとは限りません。今回は3GPUとも0.45〜0.56で近かったのに、倍率は×1.00〜×1.92まで割れました。採択率だけ見て速さを判断するのは危険です。
分かりません。これは2026-06-08時点の、特定のllama.cppビルドでの結果です。Blackwell(sm_120)向けの最適化が進めば変わる可能性は十分あります。あくまで「今は待ち」が正直な答えです。
HW系エンジニアとして20年以上、10,000件を超える顧客訪問と2,000件を超える単独ソリューション実績。AIツールを使った個人開発やIoT農園など、Raspberry Piを使ったオートメーション化なども実践中です。エンジニア専門結婚相談所も運営中、ClaudeCodeで解決できない心の課題も、現場目線でお手伝いします。
META-MARK × AI
ローカルAIを動かすGPU、ちゃんと選べていますか?
VRAM・性能・コスパをMetaScoreで数値化。AIアプリ別の推奨ハードウェア要件も確認できます。