sudoingX/qwen38-mtp

One llama.cpp flag unlocks +33-39% decode speed for Qwen3.8-27B on consumer GPUs. The MTP head already ships inside your GGUF. Recipe, paired benchmarks, probe tool.

Qwen3.8‑27B MTP – llama.cpp におけるコミュニティ発見の速度向上

何であるか

  • llama.cpp 用のコマンドラインフラグのセットで、GGUF形式で配布されている Qwen‑3.8‑27B モデルに対して、予測的マルチトークン予測(MTP)デコードを有効化します。--spec-type draft-mtp --spec-draft-n-max 2 --parallel 1 の組み合わせにより、モデル変換やカスタムビルドなしで、コンシューマー向けGPU上で 33 %–145 % の高速化が実現可能です。

なぜ重要か

  • 速度向上は draft‑MTP に起因します。サーバーはまず軽量なヘッドで複数トークンをドラフトし、検証に失敗したトークンのみを本格的なモデルで処理します。これにより、高コストな順伝播の回数が削減されます。
  • コミュニティは 53種類の異なるハードウェア構成(2016年Pascal GPUから2026年Blackwellカード、Apple Silicon、さらにはアンロックされたマイニングカードまで)を調査し、ユーザーが自宅の環境で同様の高速化を再現できるよう 7つの実用的なチューニングルール をまとめました。

使い方

  1. GGUFをダウンロード:Qwen‑3.8‑27B(例:unsloth/Qwen3.8‑27B‑GGUF
  2. リファレンスコマンドを実行(必要に応じて -c をコンテキスト長に調整):
    llama-server -m Qwen3.8-27B-Q4_K_M.gguf \
      -c 131072 -ngl 999 -fa 1 \
      --cache-type-k q4_0 --cache-type-v q4_0 \
      --spec-type draft-mtp --spec-draft-n-max 2 --parallel 1
    
  3. チューニング
    • --spec-draft-n-max(2–4)をスイープして、GPUに最適な値を見つける。
    • バンド幅制限のあるマシンでは、--spec-draft-p-min 0.60‑0.75 を試す。
    • マルチGPU環境では、specフラグを適用する前に --split-mode tensor を設定する。
    • 常に --parallel 1 でベンチマークを実施(複数同時ストリームではspecの利点が消失する)。
  4. 効果を測定:提供された probe.py スクリプトで、サーバーからトークンをストリーミングし、プロンプトごとの中央値速度を報告。

コミュニティデータから得られた主な教訓

  • GPUクラスが重要:24 GBカード(RTX 3090/4090)は通常 n‑max = 2 でピーク;より新しく高速なカード(RTX 5090、Blackwell)は n‑max = 4‑6 まで可能。
  • スプリットモードlayertensor)は、デュアルGPU環境でさらに +68 % の向上をもたらす可能性がある。
  • 並列処理:specの高速化は シングルストリーム 向けの最適化。--parallel 4 を使用すると利点が失われる。
  • メモリ圧力:共有デスクトップ環境ではOSが重みをホストRAMにスワップし、速度が半分になる。ヘッドレスで実行するか、モデル全体がメモリに常駐しているかを確認(mem_info_gtt_used やベンダー固有ツールで確認)。
  • ベースライン vs. spec:53台の報告されたGPUで、高速化は最小で+30 %から最大+180 %まで変動。特に大規模コンテキスト(256 Kトークン)では、フルパスのオーバーヘッドが支配的になり、効果が顕著になる。

誰が恩恵を受けるか

  • llama.cpp で Qwen‑3.8‑27B をローカルで実行している人(研究者、趣味人、AIアプリ開発者)で、新しいハードウェアを購入せずに高速生成を望む人。
  • リポジトリは生きているベンチマーク集としても機能。貢献者はPRを開いて自らの測定結果を追加可能。

注意点

  • 速度向上は シングルストリーム デコードでの測定。マルチユーザーサーバーでは同様の改善は見られない。
  • プロンプト埋め込みの転送にわずかなオーバーヘッドが発生する。
  • 結果はドライバーバージョン、温度、正確な llama.cpp ビルドに依存するため、チューニング前に llama.cpp を再ビルドすることを推奨。

TL;DR: llama.cpp で draft‑mtp 予測デコードフラグを有効化することで、コミュニティは Qwen‑3.8‑27B GGUF を幅広いGPU上で大幅に高速化し、再現に必要な正確なフラグ組み合わせ、チューニングルール、ベンチマークデータをリポジトリに記録しました。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト