MTP搭載のQwen 3.6 27Bで推論を2.5倍高速化(ローカルでのエージェント型コーディングに現実的な選択肢)—48GBで262Kコンテキスト

Reddit r/LocalLLaMA / 2026/5/6

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsTools & Practical UsageModels & Research

要点

  • llama.cppの新しいPRにより、Qwen 3.6 27BでMTP(Multi-Token Prediction)がサポートされ、モデル内蔵のテンソル層を使った推測デコーディングが可能になりました。
  • 著者はローカル環境(M2 Max 96GB)で、4ビットKVキャッシュ圧縮も併用することで推論が約2.5倍高速化し(~28 tok/s)、生成速度とメモリ効率の両面で改善が得られたと報告しています。
  • MTP対応のGGUF量子化モデルをHugging Faceで公開し、さらに複数のツールで壊れにくくするためのJinjaチャットテンプレート修正も併せて提供しています。
  • 利用にはPRブランチからカスタムビルドしたllama.cppが必要で、llama-server実行時にspec-type mtpなどのMTP関連フラグと262Kコンテキスト設定を指定します。
  • 既知の制約として、MTPと併用するとvisionがllama.cppでクラッシュする場合がある点が(PR内で)報告されています。

最初の投稿で turboquants を使うと言及しました。しかし、対応するPRで llama.cpp をビルドするための手順を入れるのを忘れていました。現時点では、そのPRは不安定すぎて、関連する議論がいろいろと動いています。そこで、私のおすすめを標準の q4_0 KV キャッシュ圧縮に置き換えました。これは多少の損失があります。

注意: HFからダウンロードする前に待ってください。チャットテンプレートに追加の修正を入れた新バージョンをアップロードしたのですが、まだ完了していません。完了したらこの注意を削除します

最近の llama.cpp 向けPRにより、Qwen 3.6 27B で MTP サポートが可能になりました。これは、推論(speculative decoding)のためにモデル内蔵のテンソルレイヤを使用します。既存の GGUF にはそれが入っていないため、このPRを使って変換する必要があります。

私は手元の mac M2 Max 96GB でローカルにテストしましたが、結果は驚くほど良いです: 2.5倍の速度向上で、28 tok/s まで到達しました!

最も有用な量子化(quant)を変換して、HFにアップロードしました。たとえAppleシリコンを使っている場合でも、MLXではなくこちらを使ってください。こちらからダウンロードできます:

https://huggingface.co/froggeric/Qwen3.6-27B-MTP-GGUF

また、オリジナルの jinja チャットテンプレートに対して、私が行った7つの修正も含まれています。vLLM 固有の事情で他のツールでは壊れてしまったためです:

https://huggingface.co/froggeric/Qwen-Fixed-Chat-Templates

現時点では、これらを使うにはご自身で llama.cpp のバージョンをコンパイルする必要があります。手順はかなり簡単です:

```bash git clone --depth 1 https://github.com/ggml-org/llama.cpp.git cd llama.cpp git fetch origin pull/22673/head:mtp-pr && git checkout mtp-pr

cmake -B build -DGGML_METAL=ON -DCMAKE_BUILD_TYPE=Release cmake --build build --target llama-cli llama-server ```

次にAPIエンドポイントで提供を開始するには、例えば以下のようなコマンドを使ってください:

bash llama-server -m Qwen3.6-27B-Q5_K_M-mtp.gguf --spec-type mtp --spec-draft-n-max 5 --cache-type-k q4_0 --cache-type-v q4_0 -c 262144 --temp 0.7 --top-k 20 -ngl 99 --port 8081

重要: いまのところ、Vision は MTP と一緒に使うと llama.cpp がクラッシュします。 現在のPRで 2026-05-06 に報告されています。

以上です。1つのコマンドに3つの最適化が入っています:

フラグ 何をするか 影響
--spec-type mtp --spec-draft-n-max 5 マルチトークン予測(モデル内蔵) 2.5倍高速 生成
--cache-type-k q4_0 --cache-type-v q4_0 4-bit KV キャッシュ(16-bit の代わり) KVメモリを1/4
-c 262144 262K コンテキストウィンドウ q4_0 KV の 48 GB Mac でネイティブなフルコンテキスト

下の表に従って、-m-c、および --cache-type-k/v をご自身のハードウェアに合わせて調整してください。

ここからは、私のおすすめです(ハードウェア別):

Apple Silicon

RAM Quant KVキャッシュ 最大コンテキスト 使用メモリ Vision
16 GB IQ2_M q4_0 48K 12.1 GB
24 GB IQ3_M q4_0 64K 15.3 GB
24 GB IQ4_XS q4_0 32K 16.1 GB
32 GB Q4_K_M q8_0 64K 23.1 GB
32 GB IQ4_XS q4_0 128K 21.8 GB
32 GB Q5_K_M q4_0 80K 23.2 GB
48 GB Q6_K q8_0 128K 34.7 GB
48 GB Q5_K_M q4_0 262K 32.3 GB
48 GB Q8_0 q8_0 80K 36.0 GB
64+ GB Q8_0 q8_0 262K 54.2 GB

NVIDIA GPU

VRAM Quant KVキャッシュ 最大コンテキスト 使用メモリ Vision
16 GB IQ3_M q4_0 48K 14.5 GB
16 GB IQ2_M q4_0 64K 13.8 GB
24 GB Q4_K_M q4_0 128K 22.2 GB
24 GB IQ4_XS q4_0 128K 21.8 GB
48 GB Q8_0 q8_0 128K 40.8 GB
48 GB Q6_K q4_0 262K 35.0 GB
80 GB Q8_0 q8_0 262K 54.2 GB

24 GB Mac: 品質重視なら IQ4_XS(32K)、またはコンテキストを増やすなら IQ3_M(64K)。

32 GB Mac: q4_0 で IQ4_XS が 128K(imatrix)まで到達。80Kで品質重視なら Q5_K_M

48 GB Mac: Q5_K_M/q4_0 で 262K まで到達。より高い品質なら 128Kの Q6_K、または 80Kの Q8_0

24 GB GPU: IQ4_XS なら 128K で Vision が可能(Q4_K_M は両方を収められません)。

48 GB GPU: Q6_K/q4_0 で 262K。

コーディングや推論では、q8_0 KV を使いつつ、より高い quant を優先してください。一般的なチャットや RAG では、q4_0 と大きめのコンテキストを組み合わせた IQ4_XS で十分なことが多いです。

Vision は mmproj に対して 0.9 GB 追加します。macOS 用に 8 GB を確保することをおすすめします(16 GB の Mac なら 4 GB まで押し込んでみてもよいです)。配線メモリの上限を上げることで利用可能なVRAMを増やせます。例えば 96 GB の Mac なら: sudo sysctl iogpu.wired_limit_mb=90112(88 GB)。RAMの容量に合わせて値を調整してください。nVidia GPU は CUDA用に約1 GB を予約します。

submitted by /u/ex-arman68
[link] [comments]