テック技報最新号へ →
AIコーディング

ローカルLLMを速くする: 投機的デコーディングの有効化(llama.cpp / LM Studio / Ollama / vLLM / MLX)

小さい「下書きモデル」に次の数トークンを提案させ、本体が一括で検証する。出力品質は変わらず、コードのような予測しやすい文章ほど速くなる。代わりにメモリを余計に使う。

@shtse8 · 投稿 2026-10-14
#ai-coding#ローカルLLM#モデル#高速化

ツール別の有効化

  • llama.cpp(llama-server): -md <draft.gguf> に加えて --spec-type draft-simple が必要(既定は none なので -md だけでは何もしない)。深さは --spec-draft-n-max(既定3)。下書きモデルがなければ --spec-type ngram-simple / ngram-mod(繰り返しの多い書き換え・要約向け)
  • LM Studio: Power User 以上。チャットのサイドバーで Speculative Decoding の下書きモデルを選ぶ。目安 7B→約1B、14B→約3B、32B→約7B。SDK は draftModel
  • Ollama: Modelfile の draft_num_predict(0で無効)
  • vLLM: --speculative-config '{"method":"draft_model","model":"<draft>","num_speculative_tokens":5}'。ngram/eagle3/mtp なども選べる
  • mlx-lm: mlx_lm.generate --draft-model <small> --num-draft-tokens 3
  • transformers: model.generate(..., assistant_model=small)

効かない/逆効果になる場面

  • 本体と下書きでトークナイザ(語彙)が違う
  • 下書きが大きすぎる・弱すぎる(速度が変わらないか落ちる)
  • 創作など予測しにくい文章(受理率が低い)
  • 高バッチ・高 QPS で既に GPU が詰まっている

コツ

出典

X の元の投稿を開く