Kimi K3 Deployment on AMD MI355X: Performance and Cost Analysis

AMD MI355Xは、2.8TパラメータのKimi K3モデルを提供する際に、ノードあたり952トークン/秒(tok/s)を達成し、優れたパフォーマンス・パー・ドル比を提供します。NVIDIAのB300は絶対的な総合スループットでリードを維持していますが、MI355XのGPU時間あたりのコストが低いため、単一のB200ノードのメモリ容量を超えるフロンティア規模のモデルにとって、よりコスト効率の良い代替手段となります。

ハードウェア比較とスループット

Kimi K3モデルのサイズ(2.8Tパラメータ)は、1Mトークンのコンテキスト用のKVキャッシュを割り当てる前に、1.5TB以上のVRAMが必要です。このメモリ要件により、GPUあたり288GBのVRAMを持つMI355XとB300が実行可能なオプションとなります。一方、単一のB200ノード(8 GPU)はモデルの重みとKVプールを収めることができず、マルチノードTP16デプロイが必要となります。

1,024トークンの入力と400トークンの出力のワークロードでのパフォーマンスベンチマークは、以下の結果を示しています:

Metric 8× MI355X (TP8) 2×8 B200 (TP16) B300 (TP8+DCP8)
Decode tok/s per stream 118 tok/s 90 tok/s 172 tok/s
Peak aggregate 952 tok/s 498 tok/s 1,568 tok/s
Peak aggregate per GPU 119 tok/s 31 tok/s 196 tok/s
Peak aggregate per $/GPU-hr 48 tok/s/$ 7 tok/s/$ 33 tok/s/$

価格はMI355Xが$2.50/GPU-hr、B300が$6.00、B200が$4.25に基づいています。

B300は絶対的なパフォーマンスでリードしています(MI355Xの総合スループットの約1.65倍)が、MI355XはGPUあたり約2.4倍安いため、パフォーマンス・パー・ドルの指標がはるかに高くなります。

ROCm向けソフトウェア最適化

AMDハードウェアでKimi K3をデプロイし、ピークスループットを達成し、レイテンシを削減するために、2つの主要なエンジニアリング介入が必要でした。

スペキュラティブデコード修正

RadixArkのKimi-K3-DSparkを使用してスペキュラティブデコードを実装する際、Waferはsglang ROCmビルドでNameErrorに遭遇しました。このエラーは、ROCmビルドが密集パスのアクセプトサンプリングベリファイアで使用されるtop_k_renorm_prob関数の定義を欠いていたために発生しました。

Waferは、トップk再正規化(ソート、マスクフィル、リスケーリング)を処理するPyTorch関数を実装することでこれを解決しました。この修正によりスペキュラティブデコードが可能になり、シングルストリームで2.2×のパフォーマンス向上、ピーク総合スループットで18%の増加がもたらされました。

プリフィル最適化

MI355Xでの初期のコールドプリフィルパフォーマンスは、B300よりも著しく遅かった(172kトークンのプリフィルで51秒対23秒)。これは、システムが高速なAITER MLAプリフィルカーネルのロードに失敗したため、遅い汎用Tritonアテンションカーネルにフォールバックしたことが原因でした(K3におけるTP8ではランクあたり12のアテンションヘッドが提供され、AITERは4、8、または16の倍数を期待していました)。

ヘッド数を12から16にゼロパディングし、出力から実際の12ヘッドを抽出することで、Waferはプリフィルで2  - 3×のスピードアップを達成し、AITER MLAプリフィルASMを約13k tok/sの定常状態に持ち込みました。

コミュニティの批判と反論

これらの結果の公開後、技術コミュニティは方法論とデータのフレーミングについていくつかの懸念を提起しました:

  • TCOと価格: 批判者は、時間あたりのクラウドレンタル価格を使用することは、ハードウェアを所有する組織の総所有コスト(TCO)を反映しておらず、電力コストも考慮していないと主張しています。
  • ベンチマークの妥当性: 一部のユーザーは、1,024トークンの入力長が現代のフロンティアモデルに関連するベンチマークであるかどうかを疑問視しています。
  • 比較の公平性: コメンテーターは、B300がMI355Xをすべての生のパフォーマンス指標で上回っていること、およびB200の比較はマルチノードセットアップの必要性により不利であることを指摘しました。これはクロスノードall-reduceオーバーヘッドを導入します。
  • モデルの正確性: プリフィルカーネルのゼロパディング最適化がモデルの一貫性や正確性に影響を与えるかどうかについて疑問が呈されましたが、劣化の証拠は提供されませんでした。

"B300 is about 46% faster for one stream and 65% faster in aggregate. AMD wins only after Wafer divides throughput // selected cloud-rental prices... Benchmarks are unreproducible, power costs are missing, ROCm was patched..."

Sources