Speculators v0.5.0 リリースノート / 新機能

Speculators v0.5.0 リリースノート / 新機能

Speculators v0.5.0は、シングルパスドラフトトークン生成のためのDFlashアルゴリズムのサポートを追加し、vLLMのネイティブ隠れ状態抽出システムを介してオンラインおよびオフライントレーニングワークフローを統合します。これらのアップデートにより、トレーニングの柔軟性が向上し、スペキュラティブデコーディングのオーバーヘッドが削減され、スペキュラティブデコーディングワークフローの本番環境への準備が向上します。

DFlashアルゴリズムサポート

Speculators v0.5.0は、ブロックディフュージョンを使用してシングルフォワードパスですべてのドラフトトークンを生成するスペキュラティブデコーディングアルゴリズムであるDFlashのトレーニングサポートを追加します。これは、ドラフトトークンを生成するために複数のフォワードパスが必要なEagle 3などの自己回帰モデルとは異なります。

Key technical characteristics of DFlash include:

  • シングルパス生成: DFlashは各プレフィックスに対して長さBのトークンブロックを生成し、長いドラフトシーケンスのオーバーヘッドを削減します。
  • 非因果アテンション: ブロック内では、クエリは特定のアテンションマスクを利用して同じブロック内の他のすべてのトークンにアテンションできます。
  • 最適化されたトレーニングアンカー: アテンションマスクが大きくなりすぎて過剰なメモリ/コンピュートを消費するのを防ぐため、DFlashはシーケンスの各ポイントで予測ブロックを開始しません。代わりに、トレーニング損失に寄与する「アンカー」位置の小さなセットをランダムに選択し、これらのアンカーにのみ予測ブロックを付加します。

DFlashスペキュレーターのトレーニング

DFlashモデルのトレーニングは、Eagle 3と同様のオンラインワークフローに従いますが、特定のパラメータが必要です。トレーニングコマンドはtorchrunを使用し、以下のDFlash固有のフラグを含みます:

  • --speculator-type dflash: アルゴリズムを指定します。
  • --block-size: ディフュージョンブロックごとに生成されるトークン数を定義します。
  • --max-anchors: トレーニング中のスペキュレーションのためのアンカーポイントの最大数を設定します。

Gemma 4 DFlashパフォーマンス

新しいDFlashサポートを使用して、Gemma 4 31B DFlashスペキュレーターがトレーニングされました。さまざまなタスクでの評価により、特に推論とコード生成において強力なパフォーマンスが示されています。

パフォーマンスベンチマークによると、Gemma 4 DFlashはEagle 3およびスタンドアロンのFP8量子化ベリファイアよりも優れたインタートークンレイテンシーを達成します。FP8量子化ベリファイアと組み合わせると、インタートークンレイテンシーの改善がさらに向上します。

vLLM統合とサービング

DFlashモデルは、PR #38300 を通じて vLLM のスペキュラティブデコーディング インフラストラクチャに統合され、vllm>=0.20.0 でサポートされています。

モデルは、config.json ファイルに speculators_config を含み、ターゲットモデルとスペキュラティブアルゴリズムを指定します。これにより、標準の vllm serve コマンドを使用して DFlash モデルをサービングできます:

vllm serve -tp 2 RedHatAI/gemma-4-31B-it-speculator.dflash

オンラインおよびオフライントレーニングの統合

Speculators v0.5.0は、vLLMのネイティブ隠れ状態抽出システム(vLLM v0.18.0で導入)に移行します。これにより、以前の低レベルユーティリティが置き換わり、vLLMが直接のPython依存関係ではなくなり、トレーニングパイプラインがvLLMの内部APIから切り離されます。

トレーニングモード

オンライントレーニングとオフライントレーニングは現在、同じ vLLMベースの抽出パスを利用します:

  • オンライントレーニング: 隠れ状態はトレーニング中にオン・ザ・フライで抽出されます。このプロセスでは、vLLM サーバーにプロンプトを送信し、隠れ状態をディスクまたは RAM ディスクに抽出し、トレーニングのためにロードした後、ファイルを削除します。
  • オフライントレーニング: 隠れ状態はトレーニング開始前に事前に生成され、ディスクにキャッシュされます。

これらのモードは密結合されているため、組み合わせて使用できます。ユーザーはオフラインで隠れ状態を一部生成し、オンライントレーニング中にロードしたり、ファイルをクリアせずにオンライントレーニングを実行して、その後のエポックで再利用することができます。

ネイティブ抽出システムを活用することで、Speculators はハードウェアアクセラレーションや効率的なバッチング戦略などの vLLM の推論最適化を継承し、標準の REST API を介して vLLM サーバーと通信します。

ドキュメントの更新

このリリースには、以下を特徴とする更新されたドキュメントサイトが含まれます:

  • サポートされているスペキュラティブデコーディングアルゴリズムの紹介。
  • スペキュレーターモデルのトレーニングのための詳細なチュートリアルウォークスルー。
  • ライブラリに新しいスペキュラティブデコーディングアルゴリズムを追加するための開発者ガイド。
  • 包括的なAPIリファレンス。

Sources