AMD ROCm Blogsに掲載されたJiejing Zhang氏らの記事によると、AMD Instinct MI355X上でのGLM-5.2-MXFP4の提供をInferenceX AgentXベンチマークに基づいて最適化し、ピークスループットを10,625から18,327 total tokens/s/GPUへ1.72倍、ピークP90インタラクティビティを2.46倍に引き上げました。手段はSGLangのHiCacheによるKVのDRAMオフロード、デコードカーネルの改善、HIPグラフとスケジューリングの見直しです。
GLMはZ.aiが開発するAIモデルのファミリーで、SGLangはLMSYSのもとで公開されている推論フレームワークです。MXFP4はmicroscaling 4-bit floating-pointの重み形式です。
結果
8月11日のベースラインスイープと10月6日の最終スイープを比較した結果です。各スイープで最もスループットが高い点を比べています。
| 指標 | ベースライン | 最終構成 |
|---|---|---|
| ピークスループット | 10,625 total tokens/s/GPU(同時実行数10) | 18,327 total tokens/s/GPU(同時実行数16) |
| ピークP90 ITV(同時実行数1) | 110.25 tokens/s/user | 271.00 tokens/s/user |
| InferenceX commit | d204ac0 |
b3c3b96 |
記事は、これが2つのデプロイ済み構成の測定値であり、統制されたA/Bテストや公式InferenceX総合スコアではないとしています。GPU割り当ても16基から4基に変わっています。
AgentXが何に負荷をかけるか
AgentXは、利用者が共有に同意したClaude Codeセッションを、元のプロンプトやコードを含まない合成ペイロードで再現します。共有プレフィックスと長いコンテキストにより、KVキャッシュ容量と再利用、長いプリフィル、並列エージェント処理に負荷がかかります。
| 項目 | 値 |
|---|---|
| v1.0コーパス | 393セッション |
| 入力トークン中央値 | 約142,000 |
| 出力トークン中央値 | 444 |
| サブエージェントを含むセッション | 44% |
| プロファイリング時間 | 3,600秒(キャッシュウォームアップ後) |
クライアントは前の応答完了後に次のリクエストを送るクローズドループで動き、測定対象は回答品質ではなく提供性能です。このレシピでは同時実行数12を超えるとKVワーキングセットがGPUキャッシュ容量に近づき、HiCacheのDRAMオフロードが効く領域になりました。この境界はモデルとサービング構成に固有のものです。
主な最適化
- ROCm向けHiCache: 登録済みホストポインタの扱いを修正し、576バイトのFP8 MLAキャッシュ行とK-onlyホストプール向けにJITコピーパスを有効化、マップドホスト転送のHIP JITブロッククォータを引き上げました。
- HIPグラフ: #37118でプリフィル時のDSAヘッドゲートヘルパーを、#37124で融合DSAメタデータカーネルを有効化し、デコードパスから繰り返しのクエリ連結と重み操作を除きました。
- 融合インデクサー(SGLang PR #38583): 12回起動のDSAインデクサーデコードチェーンを4つのHIPカーネルに置き換えました。gfx950、AITER preshuffle、GLM-5.2のインデクサー形状の条件を満たす場合のみ適用されます。同時実行数1、各アーム1,200秒のAgentX A/Bで、P90 ITLは3.81 msから3.56 ms(−6.7%)、P50は−4.7%、P99は−6.6%でした。
インデクサーの開発ではHyperLoomを使い、代表的なデコード形状で約16時間・11段階の試行によりカーネルレイテンシを91.24 µsから35.56 µs(2.57倍)に短縮しました。インデクサー、MLA、その他の変更の改善値はベースラインが異なり、合算できません。
構成と再現手順
- InferenceXの公開レシピを使い、低負荷の3点はGPU常駐KVでTP8/EP1、高負荷の6点はHiCacheのDRAMオフロードでTP4/EP4とします。
- FP8 KV cacheと、6 draft tokensの5-step EAGLE MTPを使います。出荷されたGLM-5.2 NextN draft headはBF16のままです。
- 候補は300秒のAgentX A/Bスイープで選別し、3,600秒スイープでエンドツーエンド結果、テール挙動、精度を確認します。
- カーネル計測は
rocprofv3でタイミング、rocprof-computeで計算・メモリ挙動を取ります。 - 各スイープは公開済みサービングイメージを使い、サービングパラメータと環境変数をレシピに記録します。

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