vLLM Day-0サポート:RecursiveのFlint
vLLMは、RecursiveのFlint(400億パラメータのMixture-of-Experts(MoE)モデル)に対するday-0サポートを統合し、ユーザーが単一のGB200 GPU上で高スループットでモデルを効率的にサービス提供できるようにしました。
Flintモデルの概要と機能
Flintは、トークンあたり約25億パラメータを活性化する400億パラメータのMoEモデルです。262Kトークンの大きなコンテキストウィンドウを備え、NVFP4(量子化認識トレーニング済み)とBF16の2つのチェックポイントで利用可能です。
NVFP4チェックポイントはGGUFファイルとして提供され、vLLMはロード時にロスレスで再パッケージ化します。このプロセスにより、モデルは重みのみ(W4A16)で実行でき、BF16アクティベーションとKVキャッシュを維持し、GSM8K、GPQA-Diamond、長文脈MRCR、ツール呼び出しスイートなどのベンチマークで精度がRecursiveのリファレンス実装と一致することを保証します。
Flintモデルのアーキテクチャ
Flintは、隠れサイズ2048の49層のpre-norm MoEアーキテクチャを利用しています。そのユニークな設計は、大きなコンテキストウィンドウを効率的に管理するためにローカルアテンションを重視しています。
- アテンションメカニズム: ほとんどの層(35層)は、RoPEを使用した513トークンのスライディングウィンドウアテンションを使用します。フルコンテキストにアテンションするのは14層のみで、位置エンコーディングは使用しません。この設計により、KVキャッシュコストはトークンあたり28 KiBに制限され、フルコンテキストの14層のみがシーケンス全体のKV状態を保持します。
- MoE構造: モデルは256のエキスパートを備え、シグモイドtop-6選択メカニズムと共有エキスパートを採用しています。層0と1はMoE構造の代わりに高密度MLPを使用します。
- アテンションシンク: アーキテクチャは学習されたアテンションシンクを組み込み、32のクエリヘッドと4のKVヘッドを持つグループクエリアテンション(GQA)を使用し、ヘッドごとのQ/K RMSNormを採用しています。
パフォーマンスとサービング実装
単一のGB200 GPUでFlintをサービス提供すると、100Kトークンのコンテキストを処理する場合でも、約500トークン/秒のデコードレートを達成します。このパフォーマンスは、vLLM内で実装された広範なカーネルレベルの最適化の結果です。
Flintサポートは、day-0 Dockerイメージ vllm/vllm-openai:flint(x86_64およびarm64、CUDA 13.0対応)で利用可能です。
使用例:
NVFP4チェックポイント(GGUF)の場合、Dockerコマンドは次のとおりです:
docker run --gpus all --ipc=host -p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
vllm/vllm-openai:flint \
RecursiveSI/flint-nvfp4-gguf \
--hf-config-path RecursiveSI/flint --tokenizer RecursiveSI/flint \
--enable-auto-tool-choice --tool-call-parser glm47 \
--reasoning-parser glm47 --exclude-tools-when-tool-choice-none
BF16チェックポイントの場合、Dockerコマンドは次のとおりです:
docker run --gpus all --ipc=host -p 8000:8000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
vllm/vllm-openai:flint \
RecursiveSI/flint \
--enable-auto-tool-choice --tool-call-parser glm47 \
--reasoning-parser glm47 --exclude-tools-when-tool-choice-none
最適化戦略
パフォーマンスの向上は、標準のvLLMレイヤーを専用のFlintカーネルに置き換えることで達成され、リファレンス実装に対して厳密にチェックされました。
主な最適化は次のとおりです:
- 小バッチMoEカーネル: これらのカーネルにより、ルーターとエキスパートGEMVは選択されたエキスパートの重みのみを読み取ることができ、デコードステップのレイテンシが27%削減されます。
- 融合カーネル: Q/Kノルム、RoPE、KVキャッシュ書き込みを単一のカーネルに融合することで、レイテンシが8%削減されました。
- 低レイテンシデコードパス: 最大8リクエストの場合、低レイテンシパスはMoEレイヤー操作(Q/Kノルム、RoPE、ルーティング、エキスパート結合)を隣接するGEMVカーネルに融合します。このパスにより、NVFP4デコード時間は2.7倍(4.81 msから1.78 ms)、BF16デコード時間は1.5倍(3.53 msから2.34 ms)削減されます。
エンドツーエンドでサービス提供する場合、100Kコンテキストでのバッチ1デコードはトークンあたり2.06 msかかり、これにはフォワードパス、LMヘッド、サンプリングが含まれます。
SUMMARY: vLLMは現在、RecursiveのFlint(400億パラメータのMoEモデル)に対するday-0サポートを提供し、単一のGB200 GPU上で最大500トークン/秒の高スループットサービスを可能にします。
TITLE: vLLM Day-0サポート:RecursiveのFlint
Sources
- OriginalDay-0 Support for Flint on vLLM