H20でV4-Pro稼働、B300の7割速度を実現

LMSYSチームが、DeepSeek-V4-Proのサービング最適化データを公開した。テスト環境はH20で、比較対象はNVIDIAのフラッグシップチップB300。担当したのはTianyu Zhang、Yusong Gao、Yun Zhangの3氏で、すべての作業はオープンソースフレームワークSGLang上で行われた。

まず2つの主要な数値を見る。プリフィル段階では、PP2-CP8-TP8構成が4Kコンテキストで毎秒16900トークンを達成。512Kのロングコンテキストに切り替えたPP4-CP8-TP8構成ではスループットがむしろ上昇し、毎秒25860トークンに達し、100万トークンの処理は43.7秒で完了する。低レイテンシー志向のデコード段階では、H20上の単一バッチで毎秒271トークン、B300は383.7トークンで、両者の比は1.42倍となる。

高スループット向けには別の構成がある。DP32-EP32は4Kコンテキスト・32並列でGPU1枚あたり毎秒703.15トークン、DP16-EP16はさらに高く759.73トークン。コンテキストを100万トークンまで伸ばしても、GPU1枚あたり毎秒66〜67トークンを維持する。

1.42倍とはどれほどの意味か

H20はNVIDIAが中国市場向けに用意した規制準拠版であり、カタログ上の演算性能はB300と比べて一段どころではない差がある。単一バッチ復号の差を1.42倍まで圧縮できたということは、ボトルネックはピーク演算性能ではなく、メモリ帯域、通信オーバーヘッド、スケジューリングの空転にあったことを意味する。

最適化項目の構成もこの見立てと符合する。効果が最大だった項目はいずれも演算精度によるものではない。量子化ホットパスの融合——SwiGLU活性化と量子化を統合し、中間バッファを排除——により単体スループットが44.0%向上。語彙重みの内積を転置GEMMに置き換えて高並列時の重複読み出しを減らし、スループットがさらに22.8%上昇。実測されたエキスパートの選好に基づいて負荷配置を再構成し、13.5%を追加で得た。

プリフィル側も同じ発想だ。7つの演算子を3つの実行グループに統合し、初回トークン遅延を3.5%削減。本番環境の実際のルーティングヒストグラムから高頻度な形状を抽出し、2種類のエキスパート重みそれぞれに合わせて狙い撃ちで最適化することで、初回トークン遅延をさらに11.35%削減した。この最後の手法はとりわけ実践的で、リクエスト分布が均一だと仮定せず、本番トラフィックが実際に持つ偏りに合わせて調整している。

構造面での置き換えもある。プリフィル段階では、MoE層の分割にエキスパート並列ではなくテンソル並列を採用した。エキスパートの負荷が不均一だとロングテールを招くため、通信コストを多少払ってでもそのテールを切り落とす方を選んだという理由だ。

メモリ容量は引き換えに得ている

速度よりも厳しい制約はメモリ容量だ。今回の取り組みのうち2項目はメモリを直接の対象としている。Humming MXFP4AFP8は、エキスパート重みをMXFP4で保持し、オンラインFP8アクティベーションと組み合わせることで、ベースライン比1.71〜4.47倍の容量を獲得。オンラインC128 KV圧縮は、インデックス単位ではなくコンパクトな集約状態を維持することで2.268倍に貢献する。両者を重ねると、その幅は3.88〜10.14倍に達する。

導入側にとって、この項目は最も計算しやすい部分だ。同じ8枚構成のマシンで、収容できる並列数やコンテキスト長が数倍に膨らめば、トークン単価もほぼ同じ比率で下がる。チップの枚数を増やせない状況では、容量倍率こそが自分たちでコントロールできる唯一の変数になる。

DSparkの貢献は別項目として計上されている。パイプラインの各ステージをまたいでターゲット実行と検証ステップを協調させることで、トークンあたりの出力時間が74.8〜78.0%改善する。

これをコストに落とし込むとより具体的になる。8枚構成のH20マシン1台の月間保有コストが一定だと仮定すると、容量倍率が4倍になれば同じ請求額で従来の4倍の並列数をさばけることになり、トークンあたりのマシンコストはおおよそ4分の1まで下がる(これは概算であり、ロングコンテキストによる追加計算量やルーティングの揺らぎは考慮していない)。トークン単位で課金され、価格競争によって粗利がすでに薄くなっているサービス事業者にとって、この余地は次世代チップへの切り替えを待つよりも現実的な場合が多い。しかも次世代チップが手に入る保証もない。

示されたのは1枚の構成表

この取り組みが最終的に提示したのは単一の最適解ではなく、シナリオ別に整理された構成表だ。プリフィルは32K以下ならPP2、128K以上ならPP4に切り替える。デコードは低レイテンシー志向ならPP2-TP8、スループット志向ならDP32-EP32、DP16-EP16は効率面の参照値として残す。

この見せ方そのものがシグナルになっている。リーダーボードが求めるのはひとつの数字だが、本番環境が求めるのは自分たちのトラフィックがどんな形をしていて、どの行に当てはまるかを知ることだ。手元にH20しかなく、それでも1.6兆パラメータのモデルをサービングしなければならないチームにとって、このピーク性能の一記録よりも、この表の方がずっと直接役に立つ。

参考資料:LMSYS技術ブログ、CocoLoop、SGLangプロジェクトドキュメント。スループット、レイテンシー、容量倍率の数値はいずれも同ブログが示す実測構成表に基づく。B300の比較データも同じ出典による。