vLLMは2026年10月16日、Reflectionの総パラメータ501B・活性23BのMoEモデル「Beam-1.0」に公開初日から対応し、NVIDIA Blackwell向けの最適化でバッチ1デコードを初期実装比2.71倍に高速化しました。Beam付属のDFlash2ドラフタを使うと、TP8の単一リクエストで708 tokens/sに達します。InferactとNvidiaが実装・最適化に協力し、SkyRLが強化学習向けの初日対応に協力しました。
vLLMは大規模言語モデルの推論とAPI配信のためのライブラリで、OpenAI互換APIからモデルを利用できます。
何が新しいか
vLLMはBeam-1.0で推論(reasoning)、ツール呼び出し、構造化出力を標準で扱え、テンソル・データ・エキスパート並列で実行できます。初期実装はほぼ素のPyTorchで、コーディングエージェントがプロファイリング、カーネル作成、ベンチマークを自律的に行い最適化しました。主な変更は、104箇所のサブレイヤ境界でのnorm→residual→normのTriton単一カーネル化(デコード−40%)、Q/K norm・RoPE/SSMax・出力ゲートの融合、TP all-reduceのnormカーネルへの融合、FP32ルータ用GEMM、QKV+ゲート射影の統合、KVキャッシュ書き込みの融合などです。TP8のバッチ1デコードでは1つのMoE層が13カーネルで動き、うち6つがBeam向けに作成・融合・拡張されたものです。
Beamは52層・hidden size 5120のMoEデコーダで、256個のルーティングエキスパート(NVFP4)をDeepSeek-V3と同じ方式でルーティングし、共有エキスパートは持ちません。43層は直近512トークンのスライディングウィンドウAttention(RoPE)、残り9層がNoPEでコンテキスト全体を参照します。全系列のKVを保持するのはこの9層だけで、FP8で1トークン18 KiB、1Mトークンのフルコンテキストでもシャーディング前で約18 GiBです。
ベンチマーク
| 項目 | 条件 | 結果 |
|---|---|---|
| バッチ1デコード | TP8、GB200 | 8.95 → 3.30 ms/step(2.71倍) |
| プリフィル | TP8、8×2,048トークン | 328 → 176 ms(1.87倍) |
| ピーク入力処理 Attention DP + MegaMoE | 4×GB300、入力32K/出力1 | 168.8K tokens/s |
| ピーク入力処理 TP4 | 同上 | 98.7K tokens/s |
| DFlash2 単一リクエスト | TP8 | 708 tokens/s、受理長3.7 |
Attention DP + MegaMoEはTP4比で1.71倍のプリフィル性能です。DFlash2は対象モデルの隠れ状態からトークンのブロックを1回のforwardで予測します。適応検証はステップごとに検証する価値のあるドラフトトークンだけを検証します。SPEED-Bench throughput_1k の低エントロピーカテゴリ(最大4K出力トークン、greedy)での結果は次の通りです。
| 同時実行数 | 固定ドラフト (tok/s) | 適応検証 (tok/s) | 変化 |
|---|---|---|---|
| 1 | 708 | 707 | −0.1% |
| 8 | 3,232 | 3,221 | −0.3% |
| 32 | 7,744 | 8,275 | +6.9% |
| 128 | 15,012 | 16,632 | +10.8% |
同時実行数128ではp99 TPOTも9%減り、低い同時実行数ではほぼ中立です。vLLMは低エントロピーなテキストは予測しやすく、オープンな対話では受理率が下がる見込みとしています。
試し方
Dockerイメージ vllm/vllm-openai:reflection-beam を使います。以下は単一GB300ノードでTP4、DFlash2、FP8 KVキャッシュを使う既定構成です。
docker run --gpus all --ipc=host -p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
vllm/vllm-openai:reflection-beam \
reflection/Beam-1.0-501B-A23B-NVFP4 \
-tp 4 \
--max-num-seqs 128 \
--reasoning-parser beam \
--tool-call-parser beam --enable-auto-tool-choice \
--kv-cache-dtype fp8 \
--attention-config '{"backend":"FLASHINFER"}' \
--kernel-config '{"enable_flashinfer_autotune":false}' \
--speculative-config '{ "method": "dflash", "model": "reflection/Beam-1.0-501B-A23B-DFlash2", "num_speculative_tokens": 7, "attention_backend": "FLASH_ATTN" }'
- 適応検証:
--speculative-configに"enable_adaptive_verification": trueを追加します。 - 最低レイテンシーはTP4またはTP8、高スループットは
-dp 4 --enable-expert-parallelなどのデータ並列Attention+エキスパート並列を使います。 - Attention DP + MegaMoE:
--moe-backend flashinfer_moe_ep_cutedsl --data-parallel-size 4 --enable-expert-parallelに置き換えます。 - vLLMは既定で応答をチェックポイント付属のテンプレートに制約し、ツール呼び出しが各ツールのJSONスキーマに合うようにします。無効化は
VLLM_BEAM_ALWAYS_CONSTRAIN_OUTPUT=0です。
SkyRLでの強化学習対応
SkyRLとの連携で、Beamに対するLoRA、BF16フルファインチューニング、MXFP8 RLを初日から利用できます。SkyRLチームは推論にvLLM、学習にMegatronを使いDAPOレシピで事後学習し、50学習ステップでAIME25のavg@8が約61%から約79%に上がったと報告しています。

まだコメントはありません。