ホームへ戻る

推論系統

SGLang 0.5.19がBeam Searchを追加し、NVIDIA/AMD間の推論パスを再編

SGLangの新バージョンでは、同一サービス内で`beam_width`を指定して複数の候補シーケンスを返せるようになり、統一radix treeが全モデルのデフォルトキャッシュとなった。MoE、長コンテキスト、ROCmカーネルも拡充された一方、依存関係や設定動作に変更があるため、アップグレード前の再検証が必要だ。

Steroid Maximus · CC BY-SA 3.0 · Image source
zh-Hant

SGLang 0.5.19で最も目に見える変更は、推論サーバーがBeam Searchをネイティブサポートしたことだ。リクエストに`beam_width`を指定すると、スコアの高い複数の候補シーケンスを取得でき、通常のサンプリングリクエストとも共存できる。これは音声認識、翻訳、コード生成、後段の検証器によるリランキングを必要とするワークフローで有用だ。ただし現時点では、speculative decoding、prefill/decode分離、DP attention、HiCacheとの併用はできない。

ランタイム面では、統一radix treeがあらゆる構成でデフォルトのKV cacheとなり、ハイブリッドアーキテクチャ専用ではなくなった。これにより、sliding windowモデルのdecode workerがプレフィックスを再利用できるほか、サーバー稼働中にL3ストレージ層をマウントまたはアンマウントできる。MoEパスにはDeepEP v2 ElasticBufferも追加された。これにより、DeepSeek-V3/V4およびQwen3-MoEのFP8ノード間通信で、固定バッファをCUDA Graphと組み合わせて利用できる。Hopper上のW4A8 MoEについて、公式測定ではDeepSeek-V4-Flashの出力スループットが約12%向上したとされるが、この数値はまだ独立した再現検証を欠いている。

ハードウェア最適化はNVIDIAだけを対象としたものではない。MI300XとMI355Xにはpersistent Lean Attentionが追加され、長さが不均一なdecode処理をアイドル状態のcompute unitsへ再分散する。リリース資料によると、MI355Xではスループットが最大1.52倍に向上し、token間レイテンシが3.62分の1に低減するという。BlackwellのMLAパスにもdecode context parallelismが追加され、128Kなどの長コンテキストを主な対象としている。

アップグレード上のリスクも明確だ。一部機能ではFlashInfer 0.6.18が必須依存関係となった。独自に`ServerArgs`を生成するプログラムでは、`resolve_once()`を明示的に呼び出す必要がある。また、Spark3のモデルパーサーおよびツールパーサーの名称はSpark2.5へ変更された。さらに、stop stringと正規表現の設定について、個数と長さの上限が設けられた。本番環境では、精度、キャッシュヒット率、TTFT、TPOT、混合リクエストのテストをそれぞれ改めて実施すべきであり、公式による単一ハードウェア上のベンチマークだけで効果を判断してはならない。

出典

  1. Release v0.5.19
  2. sglang 0.5.19