Qwen 3.6 27B·35B 모델, MTP와 표준 버전의 16GB GPU 성능 비교
Source: Dev.to
RTX 4080(16 GB VRAM)에서 Qwen 3.6 27B와 35B의 Speculative decoding(Multi‑Token Prediction, MTP) 성능을 테스트했습니다.
동일 하드웨어에서 다양한 모델의 토큰 속도와 VRAM 트레이드‑오프를 한눈에 보고 싶다면 llama.cpp 로 수행한 16 GB VRAM LLM 벤치마크를 참고하세요.
Multi‑Token Prediction은 특정 모델 체크포인트에 직접 내장된 speculative decoding 방식입니다. 한 번의 포워드 패스에서 하나의 토큰을 예측하는 대신, 모델에 추가된 “MTP 헤드”가 한 단계에 여러 미래 토큰을 제안하고 이를 병렬로 검증합니다. 추측이 받아들여지면 출력 품질을 유지하면서 실질적인 처리량이 상승합니다.
Qwen 3.6 계열은 표준 GGUF 파일과 MTP‑활성화 변형을 모두 제공합니다. llama.cpp 에서는 다음 옵션으로 MTP를 활성화합니다.
--spec-type draft-mtp --spec-draft-n-max 3
--spec-draft-n-max 가 핵심 튜닝 노브이며, 단계당 MTP 헤드가 제안하는 speculative 토큰 수를 지정합니다. 값이 클수록 속도 향상이 기대되지만, 초안 버퍼를 위한 추가 VRAM이 필요해 16 GB 카드에서는 제약이 됩니다.
테스트 환경
- GPU: RTX 4080 (16 GB VRAM)
- 모델 가중치와 KV 캐시를 VRAM에 맞추기 위해 강하게 양자화된 변형 사용
| 모델 | 양자화 | MTP‑버전 |
|---|---|---|
| Qwen3.6‑27B‑UD‑IQ3_XXS | IQ3_XXS | MTP 포함 |
| Qwen3.6‑35B‑A3B‑UD‑IQ3_S | IQ3_S | MTP 포함 |
각 실행마다 두 가지 컨텍스트 예산을 기록했습니다.
- Avg Ctx – llama.cpp 가 약 14.8 GB VRAM을 차지하도록 설정한 평균 컨텍스트 크기. 나머지 애플리케이션(Xorg, GNOME Shell, Cursor)에게 약 500 MB 여유를 남깁니다.
- Max Ctx – 동일 데스크톱 애플리케이션이 이미 ~500 MB를 차지하고 있는 상황에서 llama.cpp 가 할당할 수 있는 최대 컨텍스트 크기.
실제 사용에서는 Hermes Agent(이 머신에서 llama.cpp와 연결된 주요 AI 어시스턴트)가 최소 64 K 컨텍스트를 요구합니다. 따라서 평균 컨텍스트가 64 K 이하로 크게 줄어들면 다단계 툴 호출 워크플로우를 수행할 수 없습니다. 이 때문에 아래 표에서 Avg Ctx 값이 가장 중요한 판단 기준이 됩니다.
KV 캐시 양자화 레벨도 두 가지 테스트했습니다.
- q8 – 품질은 높지만 VRAM 사용량이 많음.
- q5 – VRAM 절감, 컨텍스트 길이 증가. 다만 품질 저하가 눈에 띄어 제 작업에서는 적합하지 않았습니다. q5에 대한 속도·컨텍스트 수치는 참고용이며, 실제 사용 전 반드시 품질을 검증하시기 바랍니다.
Qwen 3.6 27B (q8 KV 캐시)
| MTP max 1 | MTP max 2 | MTP max 3 | MTP max 4 | 표준 (IQ3_XXS) | |
|---|---|---|---|---|---|
| 프롬프트 속도 | 148 t/s | 151 t/s | 148 t/s | 147 t/s | 200 t/s |
| 생성 속도 | 65 t/s | 75 t/s | 73 t/s | 75 t/s | 45 t/s |
| 평균 컨텍스트 | 40 K | 40 K | 40 K | 30 K | 80 K |
| 최대 컨텍스트 | 60 K | 60 K | 60 K | 50 K | 100 K |
q8 KV 캐시에서 --spec-draft-n-max 2 로 설정하면 생성 속도가 약 67 % 빨라짐(75 t/s vs 45 t/s) 대신 평균 컨텍스트가 80 K → 40 K 로 절반으로 줄어듭니다. 프롬프트 입력 속도도 200 t/s → ~150 t/s 로 감소하는데, 이는 프리필 단계에서 디바이스‑투‑호스트 전송이 필요하기 때문입니다.
Qwen 3.6 27B (q5 KV 캐시)
| MTP max 1 | MTP max 2 | MTP max 3 | MTP max 4 | 표준 (IQ3_XXS) | |
|---|---|---|---|---|---|
| 프롬프트 속도 | 145 t/s | 144 t/s | 141 t/s | 139 t/s | 191 t/s |
| 생성 속도 | 57 t/s | 62 t/s | 67 t/s | 66 t/s | 41 t/s |
| 평균 컨텍스트 | 70 K | 60 K | 60 K | 50 K | 130 K |
| 최대 컨텍스트 | 100 K | 100 K | 90 K | 80 K | 160 K |
q5 KV 캐시로 전환하면 컨텍스트가 크게 회복됩니다. --spec-draft-n-max 1 은 평균 70 K 컨텍스트와 57 t/s 를 제공해 표준 디코딩 대비 39 % 빠른 속도를 얻으며, 여전히 충분히 큰 컨텍스트를 유지합니다. --spec-draft-n-max 3 은 평균 60 K 로 줄지만 생성 속도는 67 t/s(+63 %) 로 상승합니다.
요약 (27B dense 모델)
- q8 KV +
--spec-draft-n-max 2– 최고 원시 속도(75 t/s), 컨텍스트 40–60 K. - q5 KV +
--spec-draft-n-max 1– 속도·컨텍스트 균형 최적(57 t/s, 평균 70 K).
Qwen 3.6 35B (MoE, q8 KV 캐시)
| MTP max 1 | MTP max 2 | MTP max 3 | MTP max 4 | 표준 (IQ3_S) | |
|---|---|---|---|---|---|
| 프롬프트 속도 | 277 t/s | 277 t/s | 265 t/s | 275 t/s | 368 t/s |
| 생성 속도 | 186 t/s | 189 t/s | 180 t/s | 171 t/s | 146 t/s |
| 평균 컨텍스트 | 15 K | 10 K | — | — | 80 K |
| 최대 컨텍스트 | 80 K | 70 K | 60 K | 50 K | 150 K |
MoE(35B‑A3B) 구조는 희소 라우팅 덕분에 MTP 헤드가 전체 포워드 패스 대비 계산 비용이 낮아 MTP의 이점이 크게 나타납니다. 실제로 MTP 사용 시 최대 1에서 +27 %, 최대 2에서 +29 % 정도 속도가 향상됩니다. 하지만 평균 컨텍스트가 극히 제한적입니다. q8 KV 캐시에서는 --spec-draft-n-max 1조차 평균 15 K에 불과해 간단한 작업조차 버거울 정도이며, 더 높은 draft 깊이는 평균 컨텍스트가 실질적으로 존재하지 않습니다.
핵심 문제 – 소비자용 16 GB GPU에서는 초안 버퍼가 남은 VRAM을 크게 잠식해 35B Mo