vLLM Kimi-K3 DSpark Speculative Decoding Implementation
Overview
vLLMは、2.8TパラメータのフロンティアモデルであるKimi K3向けに、DSpark speculatorをトレーニングし、デプロイすることに成功しました。SpeculatorsトレーニングライブラリとGB300 NVL72ハードウェアを活用することで、この実装は数学的推論ワークロードにおけるシングルストリームのインタラクティビティを約110から435 tok/s/userに向上させ、並列負荷条件下での出力スループットを最大3.5倍向上させます。
The DSpark Algorithm
DSparkは、並列予測されたブロック内の単一のミスが残りのトークンを無効にする「suffix decay(サフィックス・ディケイ)」問題を解決するために設計された、DFlashブロックレベルの投機的デコーディング・アルゴリズムの拡張版です。DSparkはDFlashの並列バックボーンを維持しつつ、トークン間のコヒーレンスを向上させるために2つの特定のコンポーネントを導入しています:
- Markov logit-bias head: このコンポーネントはトークンを逐次的にサンプリングし、低ランク遷移行列を使用して、追加のtransformerパスを必要とせずに、以前に選択されたトークンに基づいてlogitsを調整し、局所的な依存関係を復元します。
- Confidence head: このヘッドはトークンの受け入れ確率を推定し、低負荷時にはより長いプレフィックスを検証し、高システム負荷時には可能性の低いサフィックスをトリミングする、ハードウェアを意識したスケジューラを可能にします。
DFlashと比較して、DSparkはQwen3ターゲットモデルにおいて16–18%長い受け入れシーケンスを、EAGLE-3と比較して27–31%長いシーケンスを報告しています。
Inference Performance and Capabilities
Kimi K3 DSpark speculatorは、デコーディングステップごとに8つのトークンを提案する、5層・50億パラメータのドラフトモデルを使用します。
Benchmarks and Throughput
9つの評価ドメイン全体において、このモデルは検証ラウンドあたりのマクロ平均受け入れ長を4.11トークンに達成しました。パフォーマンスは構造化されたタスクで最も高くなりました:
- Mathematical reasoning: 6.42 tokens
- HumanEval: 4.96 tokens
- Translation: 4.65 tokens
Long-Context Performance
LongBench-v2データセットにおいて、このspeculatorは378K-tokenのプロンプトに対し、1デコード・イテレーションあたりの出力トークン数を最大5.31に達しました。上位10%のリクエストは、イテレーションあたり少なくとも3.76トークンを維持しており、これは投機的デコーディングが極端なコンテキスト長においても効果的であることを示しています。
Concurrency and Latency
並列実行数が1から16に増加するにつれて、合計出力スループットは毎秒177から683トークンに上昇しました。中央値のTTFT(Time to First Token)は、並列リクエストが16倍に増加したにもかかわらず、わずか100ミリ秒(379 msから479 ms)の増加に留まり、安定しています。
Hardware and Training Infrastructure
GB300 NVL72 Configuration
トレーニングは、Ubuntu 24.04.4 LTSおよびNVIDIAの64K-page kernel 6.14を使用するGB300ラックで実施されました。環境はNVIDIAの610.57.04 open-kernel GPU driver (R610)とCUDA 13.4.0 Developer Previewを使用しており、これはRubin support (sm_107) を含む最初のツールキットです。
Mooncake Hidden-State Transfer
ドラフトモデルは予測を合わせるためにターゲットモデルからのhidden statesを必要とすることが多いため、vLLMはMooncakeHiddenStatesConnectorを実装しました。このシステムは、分散トレーニングとhidden-stateの抽出を可能にし、これはKimi K3 (2.8Tパラメータ) のような、4-bit量子化を行っても単一ノード構成のVRAM制限を超えてしまうような巨大なモデルに対して必要不可欠です。
- Mechanism: A master Mooncake proxy processが、vLLMとトレーニング・インスタンス間の通信を管理します。トレーニング・プロセスはvLLMフロントエンド経由でhidden statesを要求し、Mooncake store keyを受け取り、Mooncake masterがRDMAまたはTCPを使用して転送をブローカーします。
- Topology: Kimi K3向けに発見された最適な構成は、3ノードのセットで構成されていました:2つのノードがvLLM推論用、1つのノードがトレーニング用です。
Deployment
Kimi K3 DSpark speculatorはHugging Face (RedHatAI/Kimi-K3-speculator.dspark) を通じて利用可能であり、以下のspeculative configurationを使用してvLLMでデプロイプロセスの可能です:
{
"model": "RedHatAI/Kimi-K3-speculator.dspark",
"num_speculative_tokens": 8,
"num_speculative_tokens": 8,
"method": "dspark",
"draft_sample_method": "probabilistic",
"rejection_sample_method": "block"
}