vllm-project/speculators
A unified library for building, evaluating, and storing speculative decoding algorithms for LLM inference in vLLM
Speculators – 投機的デコーディング用ドラフトモデルをトレーニングするためのライブラリ
機能(平易な言葉で)
Speculators を使用すると、大規模言語モデル(LLM)の次の数トークンを予測できる小さな「ドラフト」モデルをトレーニングできます。推論中、ドラフトモデルは一度に複数のトークンを提案し、大きな LLM(検証者)がそれらを 1 回のパスでチェックします。ドラフトの推測が大きなモデルが生成したであろうものと一致すれば、それらは受け入れられ、高価なフォワードパスの回数が減り、品質を損なうことなく生成が高速化されます。
重要な理由
- レイテンシ削減:フルモデルパスが減ることで応答が速くなり、リアルタイムアプリケーションに不可欠です。
- 本番対応:ライブラリは Hugging Face 互換形式のモデルを提供し、高スループット推論サーバーである vLLM にそのまま組み込めます。
- 研究レベルの柔軟性:複数の投機的デコーディングアルゴリズム(DFlash、DSpark、P‑EAGLE、MTP)とマルチノードオンライントレーニングをサポートしているため、最新のアイデアを試しながら、それらをデプロイすることもできます。
コアコンポーネント
| コンポーネント | 役割 |
|---|---|
| トレーニングパイプライン | vLLM で隠れ状態データを生成し、ドラフトモデル(単層または多層、MoE、視覚言語など)をトレーニングします。 |
| hs_connectors | 複数ノード間で vLLM とトレーナー間の隠れ状態を移動するためのプラグ可能なバックエンド(ファイルベースまたは Mooncake 分散ストア)。 |
| アルゴリズム実装 | DFlash、DSpark、P‑EAGLE、MTP – それぞれ異なるドラフト戦略(アンカーブロック、マルコフヘッド、並列マルチトークン予測など)を追加します。 |
| Speculators 形式 | speculator_config を含む Hugging Face スタイルのモデルディレクトリで、vLLM にドラフトモデルを検証者と一緒に実行する方法を指示します。 |
| CLI / ユーティリティ | バージョンチェック用の speculators コマンド、応答再生成用スクリプト、ベンチマーク用の GuideLLM との統合。 |
典型的なワークフロー
- データ生成 – vLLM を使用してコーパス上で大きな検証者モデルを実行し、隠れ状態をディスクに保存します。
- ドラフトのトレーニング – アルゴリズム(例:DSpark)を選択し、Speculators トレーニングスクリプトを実行します。オプションで
hs_connectorsを介してノード間で実行できます。 - エクスポート – トレーニングされたドラフトは Speculators 形式で保存されます。
- デプロイ –
vllm serve <speculator_model>でドラフト+検証者の組み合わせが起動し、投機的デコーディングが自動的に有効になります。 - ベンチマーク – GuideLLM または組み込みメトリクスを使用して、レイテンシと受け入れ率を高密度検証者と比較します。
誰が使うべきか?
- LLM サービス運用者:本番サーバーでの推論レイテンシを削減する必要がある方。
- 研究者:新しい投機的デコーディング戦略を探求する方。ライブラリは既製の実装と統一されたトレーニングインターフェースを提供します。
- 開発者:カスタム AI 製品を構築し、サービススタックを書き直さずに高速生成へのドロップインアップグレードを希望する方。
クイックスタート
pip install speculators # ライブラリをインストール
speculators --version # 動作確認
# ドラフトをトレーニング(例のコマンド – 正確なフラグはドキュメントを参照)
python -m speculators.train \
--algorithm dspark \
--verifier Qwen/Qwen3-8B \
--output_dir ./my_speculator
# vLLM でサーブ
vllm serve ./my_speculator
ドキュメントとコミュニティ
- 完全なドキュメント:https://docs.vllm.ai/projects/speculators/en/latest/
- Slack:vLLM コミュニティ Slack(
#speculators、#feat-spec-decode) - オフィスアワーのビデオとスライドは README にリンクされています。
Speculators は、最先端の投機的デコーディング研究と実際の LLM サービス間のギャップを埋める、本格的で本番重視のオープンソースプロジェクトです。
関連
- プロジェクト
- Dispatch
- Dispatch
- プロジェクト
- プロジェクト