vLLM、Beam-1.0を初日対応 デコード2.71倍とDFlash2で708 tok/s

スペック

総パラメータ501B
活性パラメータ23B
コンテキスト長1M-token context
重みの公開NVFP4モデルを提供
配布形式・量子化NVFP4
4bit量子化の目安メモリ約300.6GB(512GB以上のメモリで実行可能な目安)

メモリの目安はパラメータ数×0.6バイトの概算で、実際はコンテキスト長と実装で変わります

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%に上がったと報告しています。

この記事の固有名詞

コメント (0)

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

コメントを書く

2000文字以内