아티클 목록으로
추론·배포

Chord 공개: Kimi K2.x용 고성능 INT4 MoE 커널

약 3분 소요

들어가며

MoE 모델의 추론 성능은 행렬 연산 처리량만으로 결정되지 않습니다. 각 전문가에게 전달되는 토큰 수, 라우팅 이후의 패딩, GPU에서 충분한 warp를 상주시키는 능력에 따라 최적의 커널 스케줄이 달라집니다. Novita AI가 공개한 Chord는 이러한 차이를 반영해 Kimi K2.x의 INT4 서빙 형태를 겨냥한 CUDA 커널입니다.

Chord는 W4A16 구성을 사용합니다. BF16 활성값에 INT4 가중치와 group-32 스케일을 결합하는 방식입니다. 현재 저장소에는 두 개의 독립적인 커널 계열이 포함돼 있습니다. indexed 경로는 공개 Humming 구현에서 파생됐으며, vLLM의 sorted_ids, expert_ids, num_tokens_padded와 같은 라우팅 텐서를 사용합니다. 다른 계열인 grouped_contiguous와 grouped_masked는 각각 prefill과 decode를 대상으로 하며, DeepGEMM에서 아이디어를 얻은 별도의 SM90 구현과 다른 가중치 패킹 형식을 사용합니다.

주요 결과

  • 공개 Humming의 대응 경로와 비교했을 때 H200 EP8 prefill에서 약 1.111.20배, H200 TP8 단일 인스턴스 서빙에서 약 1.171.33배의 성능이 측정됐습니다.
  • H200 EP8 decode에서는 약 1.16~1.24배였고, down 단계는 1.31배에 도달했습니다.
  • B300 EP8 decode에서는 1.81~2.15배가 보고됐습니다. 다만 공개 Humming에는 SM100/SM103 튜닝 테이블이 없기 때문에, 이 비교는 튜닝된 구현끼리의 비교가 아니라 Humming의 튜닝되지 않은 기본 설정과의 비교입니다.
  • grouped 경로의 H200 EP8 결과는 prefill 약 1.001.31배, decode 약 1.161.35배였습니다. EP16과 EP32에 대한 측정표도 제공됩니다.

Chord의 핵심은 모든 요청에 하나의 고정 커널을 적용하지 않는 것입니다. prefill과 decode에서는 전문가별 라우팅 토큰 수가 크게 달라질 수 있습니다. indexed 경로는 이 값을 활용해 block-M과 점유율 선택을 조정합니다. H200 prefill에서는 토큰 수가 일정 수준을 넘을 경우 전문가별 패딩 행에 맞춰 타일 크기를 선택합니다. 일부 중간 규모 타일에서는 레지스터 사용량을 제한해 더 많은 warp를 SM에 상주시킴으로써 gather와 역양자화에 따른 대기 시간을 숨깁니다. 가중치 로드, INT4 역양자화, WGMMA 연산을 겹치는 파이프라인도 적용됐습니다.

통합과 한계

호환되는 vLLM 리비전에서는 Chord를 설치한 뒤 Humming 백엔드를 명시적으로 선택할 수 있습니다. indexed 경로는 기존 통합을 활용하도록 설계됐지만, grouped 경로와 vLLM Humming 백엔드의 통합은 아직 진행 중입니다. Kimi K2.x에서 사용하는 uint4, group-32, BF16 스케일과 압축 INT4 가중치 형식을 지원하며, 지원하지 않는 양자화 방식은 잘못된 커널을 조용히 선택하는 대신 로드 단계에서 실패하도록 설계됐습니다.

발표된 수치는 커널 단위 벤치마크라는 점도 중요합니다. 실제 서비스의 전체 지연시간이나 처리량이 같은 비율로 개선된다는 의미는 아닙니다. 전문가 병렬화 수준, 배치 구성, 라우팅 분포, GPU 세대, 가중치 레이아웃, vLLM 버전에 따라 결과가 달라질 수 있습니다. Chord가 보여주는 방향은 MoE 추론 백엔드가 모든 요청에 동일한 설정을 적용하기보다, 실제 라우팅 형태에 맞춰 스케줄을 선택해야 한다는 것입니다.

출처: vLLM Blog

댓글

로그인 상태 확인 중…

댓글 불러오는 중…

관련 게시물

CCTest · Blog
HyQuant, 혼합 정밀도로 LLM 어텐션과 KV 캐시 압축
추론·배포
cctest.ai
추론·배포

HyQuant, 혼합 정밀도로 LLM 어텐션과 KV 캐시 압축

HyQuant는 대규모 언어 모델의 어텐션을 위한 혼합 정밀도 양자화 프레임워크입니다. 중요한 토큰과 최근 로컬 윈도우는 높은 정밀도로 보존하고, 나머지 컨텍스트는 저비트 형식으로 압축해 정확도와 메모리 효율의 균형을 추구합니다.

더 보기
CCTest · Blog
병목을 따라가다: AMD MI355X에서 MiniMax M3를 최적화한 방법
추론·배포
cctest.ai
추론·배포

병목을 따라가다: AMD MI355X에서 MiniMax M3를 최적화한 방법

vLLM은 AMD Instinct MI355X에서 MiniMax M3의 성능을 높인 과정을 공개했다. 핵심은 단일 커널을 찾는 것이 아니라 로컬 텐서 형태, 중복 계산, 데이터 이동, 디스패치, 대기열을 차례로 점검하며 이동하는 병목을 추적하는 것이다.

더 보기