llama.cppの推測デコード(speculative decoding)で665%の速度増加?設定による違いを検証

Reddit r/LocalLLaMA / 2026/4/20

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • llama.cppの推測デコード設定(ngram-map、ngramサイズ、ドラフトトークン範囲など)が生成速度に与える影響について議論されています。
  • 著者はモデルごとに速度向上が大きく異なり、Gemma 4は約2倍、Qwen 3.6は約40%増、そして小型モデル「Devstrall」は予想外に約665%増という結果を報告しています。
  • 追記では、repeat penaltyや推測タイプ(ngram-modへ切り替え)といったパラメータの調整により、計測される速度向上が大きく変わり得ることが示唆されています。
  • 結論として、見かけの「速度アップ」はモデルの振る舞いと、推測デコードおよびサンプリング設定の組み合わせに左右されるため、速度主張は同条件での再現が重要だという点がポイントです。

llama.cpp でこれらの設定を使っています: --spec-type ngram-map-k --spec-ngram-size-n 24 --draft-min 12 --draft-max 48

たとえば、プロンプトが「コードの些細な変更」のためのものであるとすると、本当の理由は何でしょうか。モデル間で何が違うのでしょう:
Gemma 4 31b: tks の生成で 2 倍になるので 100%
Qwen 3.6: 速度が 40% だけ増える
Devstrall small: 速度が 665% 増加(何?)

編集:

--repeat-penalty 1.0 と、Qwen 3.6 には --spec-type ngram-mod を追加したところ、今では些細な編集でベースの 100tks に対して 140tks だけ速度が増えています。

提出者: /u/GodComplecs
[リンク] [コメント]