RTX 5090 한 장으로 Qwen3.6-35B-A3B 모델 65K 토큰 디코딩 시 543 tok/s 달성
543 tok/s single-request Qwen3.6-35B-A3B on one RTX 5090 over a 65K-token decode
핵심 요약
RTX 5090에서 특정 모델에 최적화된 커스텀 추론 엔진 NInfer를 통해 압도적인 추론 속도를 구현했습니다.
- NInfer 엔진 — 특정 모델에 최적화된 C++/CUDA 기반 추론 엔진 공개
- 압도적 성능 — RTX 5090 단일 GPU에서 542 tok/s의 디코딩 속도 기록
- 모델 지원 — Qwen3.6-27B 및 35B-A3B 모델에 최적화된 아티팩트 제공
- 기술적 특징 — 커스텀 양자화 및 커널 퓨전 등을 통한 엔드투엔드 최적화 수행
TL;DR
NInfer를 오픈소스로 풀었다. RTX 5090 한 장에서 Qwen3.6 체크포인트 두 개를 돌리는 데 특화된, C++/CUDA로 밑바닥부터 짠 추론 엔진이다. 엔진이랑 변환된 모델 아티팩트 전부 공개해 놨다.
Github: https://github.com/Neroued/ninfer
핵심 결과:
Qwen3.6-35B-A3B 모델을 RTX 5090 한 장에서 단일 요청으로 돌렸을 때, 65,536 토큰 전체 생성 동안 542 tok/s라는 속도를 찍었다.
내 목표는 딥하고 엔드 투 엔드인 최적화를 거쳤을 때, 고정된 모델과 가중치 환경에서 단일 GPU(내 경우엔 RTX 5090)로 어디까지 속도를 뽑을 수 있는지 확인하는 거였다. 그래서 할 수 있는 건 다 때려 박아서 파이프라인을 처음부터 새로 짰다. 커스텀 양자화, 가중치 레이아웃 설계, 연산별 커널 최적화, 커널 퓨전, 전용 LM 헤드 드래프트 등등. NInfer는 범용 추론 엔진이 아니라, 특정 모델 아티팩트 전용으로 설계된 물건이다.
현재 지원하는 모델은 다음과 같다:
변환된 모델 아티팩트는 전부 허깅페이스에 올려뒀다. NInfer의 양자화 방식을 적용하면, Qwen3.6-27B는 16.29 GiB (~5.03 bpw), Qwen3.6-35B-A3B는 20.84 GiB (~4.97 bpw) 정도 나온다.
Qwen3.6-35B-A3B 결과:
아래 모든 MTP 결과는 드래프트 윈도우 3과 NInfer의 최적화된 LM-헤드 드래프트 경로를 사용했다. 각 결과는 웜업 1회 후, 고정된 시드 5개로 돌린 평균값 ± 표본 표준편차다.
장문 추론 실행:
| Completion length | Decode speed | MTP acceptance |
|---|---|---|
| 65,536 tokens | 542.8 ± 12.5 tok/s | 73.0% |
| ~55,171 tokens | 572.9 ± 9.1 tok/s | 77.7% |
| ~8,675 tokens | 634.3 ± 14.2 tok/s |
