Batch-1の限界を追求:BlackwellにおけるLing-3.0-flashの投機的デコード最適化

Batch-1の限界を追求:BlackwellにおけるLing-3.0-flashの投機的デコード最適化

はじめに

Batch-1デコードの重要性が高まっている。Xiaomi MiMoなどのプロジェクトは、兆パラメータ規模のMoEモデルで1000トークン/秒のデコード速度を実現したと発表している。Batch-1シナリオでは、推論スタックがオーバーヘッドを隠蔽できず、バッチによる起動コストの分散も、並行処理によるパイプラインバブルの補填も行えない。本稿では、4枚のBlackwell GPU上でのLing-3.0-flashハイブリッド線形アテンションMoEモデルの最適化に焦点を当てる。

Headline results across the four configurations

図1は4種類の構成における主要結果を示している。

ハイライトまとめ

  • 最終結果:平均TPOT54%削減(3.33ms→1.53ms)、単一リクエストスループット2.1倍向上(288→606トークン/秒)。
  • 最適化の流れ:ホスト先行実行→PDLチェーン→カーネル最適化→DSpark。
  • 数値精度を帯域幅のレバーとして活用:router gateおよびlm_headをfp32からbf16へ変換することで約10%の改善を達成。

モデルアーキテクチャ

Ling-3.0-flashはハイブリッドアテンション設計を採用しており、42層のうち35層がKDA線形アテンション、7層がMLA全アテンションで構成され、512エキスパートのMoEと組み合わせている。

Ling-3.0-Flash architecture: 42 layers interleaving 35 KDA linear-attention layers with 7 MLA full-attention layers over a 512-expert MoE

図2はモデルアーキテクチャの詳細を示している。

Batch-1における単一ステップの形態

NEXTN投機的デコード(steps=5、topk=1、draft_tokens=6)を使用し、各ステップは3つのCUDA graphのリレーで構成される。

Three graphs per decode step

図3はデコードステップごとの3つのgraphを示している。

2種類のアイドル時間の形態

初期状態ではGPUの稼働率はおよそ3分の2に留まり、アイドル時間はホストモードとGPUモードの2種類に分類される。

Two shapes of idle time at batch 1

図4は2種類のアイドル形態を比較している。

ロックステップからディープパイプラインへ

ホスト先行実行とPDL最適化によりアイドル時間を解消する。

From lockstep to deep pipelining

図5はロックステップからディープパイプラインへの移行を示している。

アイドル余裕の所在

先行実行スラックの分布を分析する。

Where the run-ahead slack lives

図6はアイドル余裕の所在を特定している。

ルーターパス上のPDL

ルーターパスにPDL最適化を適用する。

PDL on the router path

図7はルーターパスへのPDL適用を示している。

SplitServe Trainerレイアウト

トレーナーのレイアウトを示す。

SplitServe Trainer layout

図8はSplitServe Trainerのレイアウトである。

受理長さを考慮した最適化

受理長さを組み合わせた最適化戦略を示す。

Acceptance-aware optimization

図9は受理長さを考慮した最適化を示している。

最適化後の単一ステップデコード

最適化後の単一ステップの形態を示す。

One decode step after the campaign

図10は最適化後の1ステップのデコードを示している。