ハードウェア:
RTX 3060 12GB 32GB DDR4-3200 Windows CUDA 13.x モデル:
Qwen3.6-35B-A3B-MTP-IQ4_XS.gguf このモデルは35B MoEなので、-ncmoeがとても重要です。-ncmoeを小さくすると、より多くのMoEブロックがGPU上に残ります。
主な結論
このモデルに対して12GB VRAMはかなり実用的なサイズ感です。 これにより、プレーンなデコードがかなり強力になる程度のMoEブロックをGPU上に保持しつつ、16k/32kのような有用なコンテキストサイズの余地も残せます。
プロンプト処理/プリフィルについては、llama-cliのインタラクティブなPrompt:行よりも、llama-benchの数値を信頼しています。これはllama-benchがよりクリーンなpp512測定を提供するからです。
最良のプレーンllama-bench結果:
-ncmoe 18 -t 9 -ctk q8_0 -ctv q8_0 pp512: ~914 t/s tg128: ~46.8 t/s つまり、この構成ではプリフィルが非常に高速です。
最適な実用コーディングプロファイル
日常的なコーディングでは、こちらを使うでしょう:
llama-cli.exe ^ -m "Qwen3.6-35B-A3B-MTP-IQ4_XS.gguf" ^ -p "..." ^ -n 512 ^ -c 32768 ^ --temp 0 --top-k 1 ^ -ngl 999 -ncmoe 20 ^ -fa on ^ -ctk q8_0 -ctv q8_0 ^ --no-mmap ^ --no-jinja ^ -t 9 ^ --perf 結果:
Context: 32k Prompt: ~88.9 t/s in llama-cli Generation: ~43.4 t/s VRAM free: ~273 MiB これは良いバランスです。コーディング用の十分に大きなコンテキスト、まだ速い、そしてVRAMを完全に使い切らない。
より速い16kプロファイル
-c 16384 -ncmoe 19 -ctk q8_0 -ctv q8_0 -t 9 結果:
Prompt: ~91.5 t/s in llama-cli Generation: ~44.5 t/s VRAM free: ~37 MiB これは少し速いですが、VRAMの限界にかなり近いです。
MoEオフロードのスイープ
プレーンデコード、q4 KV、-t 11:
-ncmoe 22: tg128 ~41.6 t/s -ncmoe 20: tg128 ~41.7 t/s -ncmoe 19: tg128 ~44.2 t/s -ncmoe 18: tg128 ~45.9 t/s -ncmoe 17: tg128 ~46.6 t/s -ncmoe 16: tg128 ~25.8 t/s <-- 崖 / やりすぎ つまりプレーンデコードでは:
safe: -ncmoe 18 edge: -ncmoe 17 avoid: -ncmoe 16 KVキャッシュのスイープ
-ncmoe 18で、-t 11:
q4_0 KV: pp512 ~913 t/s, tg128 ~45.8 t/s q8_0 KV: pp512 ~915 t/s, tg128 ~45.9 t/s q5_0 KV: かなり遅い mixed q8 K + q4/q5 V: かなり遅い つまりこのGPUでは、q8 KVは基本的に無料で、望ましいです:
-ctk q8_0 -ctv q8_0 MTP/推測デコード
また、llama.cppのMTPブランチでMTPも試しました。
最良のMTPコマンド:
llama-cli.exe ^ -m "Qwen3.6-35B-A3B-MTP-IQ4_XS.gguf" ^ --spec-type mtp ^ -p "..." ^ -n 512 ^ --spec-draft-n-max 2 ^ -c 4096 ^ --temp 0 --top-k 1 ^ -ngl 999 -ncmoe 19 ^ -fa on ^ -ctk q4_0 -ctv q4_0 ^ --no-mmap ^ --no-jinja ^ -t 11 ^ --perf 結果:
Generation: ~47.7 t/s MTPスイープ:
-ncmoe 24, depth 2: ~43.8 t/s -ncmoe 20, depth 2: ~46.6 t/s -ncmoe 19, depth 2: ~47.7 t/s -ncmoe 18: failed / invalid vector subscript -ncmoe 16: failed / invalid vector subscript depth 3はさらに悪化しました:
depth 3, -ncmoe 20: ~39.8 t/s つまり、MTPの良い当たり所は:
--spec-draft-n-max 2 結論
12GB VRAMなら、プレーンデコードはすでに非常に強力です:
Plain llama-bench: ~914 t/s pp512, ~46.8 t/s tg128 観測できた最良のMTP: ~47.7 t/s generation つまり、MTPはチューニング済みのプレーンデコードに対して生成速度を約2%程度だけ改善しました。コーディングでは、個人的には32kコンテキストのプレーンデコードを使うでしょう:
-c 32768 -ncmoe 20 -ctk q8_0 -ctv q8_0 -t 9 大きな学び: このMoEモデルでは12GB VRAMが非常に実用的なスイートスポットです。十分なエキスパートをGPU上に残せるのでプレーンデコードが速くなり、q8 KVも使いやすく、32kコンテキストも現実的になります。
[link] [comments]
