앤트그룹(Ant Group)과 vLLM 커뮤니티가 양자화 추론 커널 라이브러리 Humming을 공동으로 오픈소스로 공개했다. 코드는 vLLM 프로젝트 조직 아래에 올라와 있으며 pip install humming-kernels로 바로 설치할 수 있다. vLLM 0.29.0부터는 CUDA용 설치 패키지에 이 의존성이 기본 포함돼 있어, --linear-backend humming 또는 --moe-backend humming 옵션만 붙이면 전환된다.
블로그에 이름이 오른 앤트 측 기여자는 Jinzhen Lin, Zekai Gu, Zhilin Huang이고, 커뮤니티 쪽에는 Red Hat의 Michael Goin 등이 있다.
하나의 라이브러리로 긴 포맷 목록을 포괄
양자화 추론의 오랜 골칫거리는 포맷이 너무 많다는 점이다. 가중치 4비트·활성화 16비트는 한 세트의 커널이 필요하고, 활성화를 8비트로 바꾸면 또 다른 세트가 필요하다. FP4, MXFP4, NVFP4도 저마다 구현 방식이 다르다. Humming은 "양자화를 어떻게 기술하는가"와 "커널을 어떻게 실행하는가"를 분리한 뒤, 공유 컴포넌트를 조합해 개별 커널을 만드는 접근을 택했다. 블로그의 표현으로는 "separating quantization descriptions from execution choices"다.
현재 지원하는 조합은 WnA16, W8A8, W4A8, W4A4이며, 데이터 타입은 INT1부터 INT8, FP4부터 FP8, 그리고 MXFP4, MXINT4, NVFP4까지 걸쳐 있다. 하드웨어는 엔비디아 Turing 이후의 모든 아키텍처를 포괄하며, Hopper의 H20·H200부터 Blackwell의 B300, 소비자용 SM120까지 포함한다.
단일 레이어 행렬곱 비교 결과 몇 가지는 다음과 같다(모두 프로젝트 측 자체 측정이며 조건은 블로그의 그래프 참조).
| 시나리오 | 비교 대상 | 속도 향상 |
|---|---|---|
| 밀집 W4A16, 소형 배치 | cuBLAS | 대부분의 장치에서 약 3~4배 |
| W4A8-MXFP4, H200 | DeepGEMM W8A8 | 약 4.5배 |
| MoE W4A16, B300 대형 배치 | Marlin | 약 5배 |
엔드투엔드 테스트에는 DeepSeek-V4.1-Flash, H20 8장, 텐서 병렬 8을 사용했다. MoE 부분을 Marlin W4A16에서 Humming W4A8로 바꾸자 출력 처리량은 약 14%에서 43%까지 늘었고, 첫 토큰 지연은 약 25%에서 32% 줄었다. 동시 요청이 많을수록 효과가 커졌다.
중국 내 배포 담당자에게 주는 의미
블로그의 테스트 플랫폼은 중국 추론 클러스터의 현실적인 구성을 그대로 따라 고른 듯하다. H20은 엔비디아가 중국 시장용으로 내놓은 카드로, 연산 성능은 깎였지만 메모리 대역폭은 유지됐다. 대형 모델을 추론할 때 저비트 양자화는 사실상 필수다. 엔드투엔드 테스트에 쓰인 모델도 DeepSeek의 자체 MoE 모델인데, 중국의 많은 팀이 손에 쥐고 있는 조합이 바로 이것이다.
또 하나의 대목은 CUDA 호환 중국산 장치 지원이다. 블로그는 알리바바 계열 T-Head(Pingtouge)의 Zhenwu 810E를 지원 목록에 올렸고, 로드맵에는 Zhenwu M890 등 더 많은 T-Head PPU 장치에 대응하겠다고 적혀 있다. 앤트와 T-Head는 모두 알리바바 계열이다. 이 노선이 어디까지 진행될지는 업스트림 병합 속도에 달려 있다.
이미 vLLM을 쓰는 팀이라면 이전 비용은 주로 검증에서 발생한다. Humming이 직접 읽을 수 있는 포맷은 모델을 다시 양자화할 필요가 없다. GPTQ INT3처럼 vLLM이 기본 지원하지 않는 포맷은 --quantization humming 호환 경로로 실행할 수 있다.
명시된 약점
블로그는 제약 사항을 분명하게 나열했다. B300의 새 명령어는 INT8 연산을 더 이상 지원하지 않아 INT8 행렬곱은 이전 명령어로만 실행할 수 있으며 성능이 눈에 띄게 낮다. 차세대 Rubin은 Blackwell에 있던 숨은 Tensor Core 포맷 두 가지를 지원하지 않는다. 커널 설정은 현재 휴리스틱 규칙으로 고르는데, 저자들은 전역 최적값을 찾지 못한다고 인정했다. 자동 튜닝도 아직 완성되지 않았다.
컴파일 속도도 또 다른 강점이다. H200에서 캐시를 끈 상태로 W4A16 커널 하나를 Humming과 NVRTC로 컴파일하는 데는 1.88초면 충분하다. 모델 워밍업 때 단일 레이어의 모든 크기를 덮는 커널은 약 2~4초면 빌드가 끝난다. 모델과 포맷을 자주 바꿔 가며 실험하는 팀에게는 처리량 수치보다 시간을 더 아껴 주는 부분이다.
참고 출처: vLLM 공식 블로그, Humming GitHub 저장소, CocoLoop; 처리량, 지연 시간, 컴파일 소요 시간은 모두 프로젝트 측이 공개한 테스트 기준을 따른다.