Zyphra는 Zyphra Optimization Engine (ZOE)을 기반으로 @AMD Instinct MI355X GPU에 대한 두 번째 웨이브의 추론 최적화(inference optimizations)를 선보입니다.
당사의 최신 엔지니어링 블로그에서는 최첨단 오픈 모델을 위한 더 빠른 장문맥 서빙(long-context serving)의 핵심 커널 작업에 대해 자세히 설명합니다. 🧵
코딩 및 연구 에이전트(agents)는 코드, 문서, 도구 출력물로부터 장문맥을 구축하고, 이를 매 턴 모델에 다시 전송합니다.
장문맥에서는 최첨단 Mixture-of-Experts (MoE) 모델이 GPU의 컴퓨팅 자원을 거의 사용하지 않는 계산에 많은 시간을 소비합니다.
ZOE를 사용했을 때, 512K 컨텍스트에서의 GLM-5.3의 첫 토큰 생성 시간(time to first token)은 178.8초에서 64.6초로 감소했습니다 (2.8배). 에이전트가 컨텍스트의 대부분을 재사용하고, 90%를 캐싱했을 경우 이 시간은 42.3초에서 11.8초로 감소했습니다 (3.6배).
당사의 인덱서 커널(indexer kernel)은 매트릭스 코어(matrix cores)에서 실행되며, 현재 키를 점수화하는 동시에 다음 키들을 로드합니다.
512K 컨텍스트의 GLM-5.3에서는 프리필 시간(prefill time) 대부분이 희소 어텐션 인덱서(sparse attention indexer)에 할애됩니다. 희소 어텐션은 새로운 토큰이 이전 토큰 중 오직 2,048개에만 주의를 기울이게 합니다. 이들을 선택하기 위해 인덱서는 모든 이전 토큰을 점수화하므로, 그 비용은 컨텍스트 길이와 함께 증가합니다.
DeepSeek-V4 역시 유사한 선택 단계를 가지고 있습니다. 이는 새로운 토큰마다 상위 512개의 압축된 항목을 선택합니다. SGLang은 이를 GPU의 256개 컴퓨팅 유닛 중 1개에서 실행하며, 당사의 커널은 최대 32개로 분할합니다.
1M 컨텍스트에서 단일 사용자 디코드(decode) 속도는 43.5 토큰/초에서 61.1 토큰/초로 증가합니다.
커널의 속도는 GPU의 컴퓨팅 자원 또는 메모리 대역폭(memory bandwidth) 중 하나에 의해 제한되며, 당사는 MI355X에서 이 두 가지를 경험적으로 측정했습니다. 디코드 과정에서는 각 MoE 전문가가 소수의 토큰만 보기 때문에, 대역폭이 한계를 설정합니다.
당사의 통합된 MoE 커널은 vLLM의 Triton 커널보다 최대 2.0배 빠릅니다.
FP4는 가중치 바이트를 절반으로 줄이므로, 당사는 AMD의 MXFP4 GLM-5.3을 테스트했습니다. 이는 FP8 대비 756 GB에서 410 GB로 줄었으며, 네 가지 추론 벤치마크(reasoning benchmarks)에서 3점 이내의 성능 차이를 보였습니다.
이는 높은 동시성(high concurrency)일 때만 더 빠르게 디코드됩니다. 낮은 동시성에서는 FP4 커널이 절약되는 작은 가중치보다 더 많은 시간을 추가합니다.