AMD MI355X 기반 Kimi K3 배포: 성능 및 비용 분석

AMD MI355X는 2.8T 파라미터 Kimi K3 모델을 서빙하는 데 있어 우수한 가성비(performance-per-dollar)를 제공하며, 노드당 952 tokens per second (tok/s)를 달성합니다. NVIDIA의 B300이 절대적인 총 처리량(aggregate throughput) 면에서는 우위를 유지하고 있지만, MI355X의 낮은 GPU-hour당 비용은 단일 B200 노드의 메모리 용량을 초과하는 프론티어급 모델을 위한 더 비용 효율적인 대안이 됩니다.

하드웨어 비교 및 처리량

Kimi K3 모델의 크기(2.8T 파라미터)는 1M tokens의 컨텍스트를 위한 KV cache를 할당하기 전에 1.5TB 이상의 VRAM을 필요로 합니다. 이러한 메모리 요구 사항으로 인해 GPU당 288GB VRAM을 갖춘 MI355X와 B300은 실행 가능한 옵션이 되는 반면, 단일 B200 노드(8 GPUs)는 모델 가중치와 KV pool을 모두 수용할 수 없어 multi-node TP16 배포가 필요합니다.

1,024-token 입력 및 400-token 출력 워크로드에 대한 성능 벤치마크 결과는 다음과 같습니다:

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배 더 저렴하여 결과적으로 훨씬 높은 가성비(performance-per-dollar) 지표를 나타냅니다.

ROCm을 위한 소프트웨어 최적화

AMD 하드웨어에서 Kimi K3를 배포하기 위해 피크 처리량을 달성하고 지연 시간을 줄이기 위한 두 가지 주요 엔지니어링 개입이 필요했습니다.

Speculative Decoding 수정

RadixArk의 Kimi-K3-DSpark를 사용하여 speculative decoding을 구현하기 위해, Wafer는 sglang ROCm 빌드에서 NameError를 발견했습니다. 이 오류는 ROCm 빌드가 accept-sampling verifier의 dense path에서 사용되는 top_k_renorm_prob 함수의 정의가 누락되었기 때문에 발생했습니다.

Wafer는 top-k renormalization(sorting, masked filling, and rescaling)을 처리하는 PyTorch 함수를 구현함으로써 이를 해결했습니다. 이 수정 덕분에 speculative decoding이 가능해졌으며, 그 결과 단일 스트림에서 2.2배의 성능 향상과 피크 총 처리량의 18% 증가를 가져왔습니다.

Prefill 최적화

MI355X에서의 초기 cold prefill 성능은 B300보다 현저히 느렸습니다(172k-token prefill 시 51s 대 23s). 이는 빠른 AITER MLA prefill 커널이 shape mismatch로 인해 로드에 실패하여 시스템이 느린 generic Triton attention kernel로 대체되었기 때문입니다. (K3 at TP8은 랭크당 12개의 attention heads를 제공하지만, AITER은 4, 8 또는 16의 배수를 기대합니다.)

Wafer는 head count를 12에서 16으로 zero-padding하고 출력에서 실제 12개의 heads를 추출함으로써 prefill에서 2~3배의 속도 향상을 달성했으며, AITER MLA prefill ASM을 약 13k tok/s의 steady-state로 끌어올렸습니다.

커뮤니티 비판 및 반론

이 결과의 발표 이후, 기술 커뮤니티는 방법론 및 데이터 프레임워크에 대해 몇 가지 우려 사항을을 제기했습니다:

  • TCO 및 가격 책정: 비판론자들은 시간당 클라우드 대여 가격을 사용하는 것이 하드웨어 소유 조직의 총 소유 비용(TCO)을 반영하지 않으며, 전력 비용을 고려하지 않는다고 주장합니다.
  • Benchmark 유효성: 일부 사용자들은 1,024-token 입력 길이가 현대적인 프론티어급 모델에 적정한 벤치마크인지 의문이 제기되었습니다.
  • Comparison Fairness (비교의 공정성): 댓글 작성자들은 B300이 모든 원시 성능 지표에서 MI355X를 능가하며, B200 비교는 cross-node all-reduce 오버헤드를 유발하는 multi-node 설정의 필요성 때문에 불리하게 설정되었다고 지적했습니다.
  • Model Correctness (모델 정확성): prefill 커널을 위한 zero-padding 최적화가 모델의 일관성이나 정확성에 영향을 미치는지에 대한 질문이 있었으나, 성능 저하의 증거는 제공되지 않았습니다.

"B300은 단일 스트림에서 약 46% 더 빠르고 총 처리량 면에서 { " " " } 65% 더 빠릅니다. AMD가 승리하는 것은 Wafer가 처리량을 클라우드 대여 가격으로 나눈 후를 본 뒤에야 가능합니다... 벤치마크는 재현 불가능하며, 전력 비용은 누락되었고, ROCm은 패치되었습니다..."

Sources