MTP를 사용한 Qwen 3.6 27B의 2.5배 빠른 추론 - 로컬 에이전트 코딩을 위한 최적의 선택
핵심 요약
MTP 기술을 적용해 Qwen 3.6 27B 모델의 추론 속도를 2.5배 높이고 로컬 환경에서 효율적으로 구동하는 방법을 공유함.
- MTP 추론 가속 — Multi-Token Prediction을 통해 모델 생성 속도를 2.5배 향상함.
- 로컬 에이전트 최적화 — 262K 컨텍스트와 turbo4 KV 캐시로 48GB 메모리 환경에서 원활한 구동 지원.
- llama.cpp 통합 — MTP 지원 PR을 적용하여 로컬 환경에서 최신 Qwen 모델을 직접 실행함.
- 하드웨어별 가이드 — Apple Silicon 및 NVIDIA GPU 환경에 맞춘 최적의 양자화 및 설정값 제공.
경고: HF에서 다운로드하기 전에 잠시 기다려 주세요: 채팅 템플릿에 추가 수정 사항이 포함된 새 버전의 업로드가 아직 완료되지 않았음을 방금 확인했습니다. 완료되면 이 경고를 삭제하겠습니다.
최근 llama.cpp에 병합된 PR을 통해 Qwen 3.6 27B에 대한 MTP 지원이 추가되었습니다. 이는 추론 가속을 위해 내장된 텐서 레이어를 사용합니다. 기존 GGUF 파일들은 이 PR을 통해 변환되어야 하므로 현재 지원하는 파일이 없습니다.
제 Mac M2 Max 96GB 환경에서 로컬로 테스트해 본 결과, 결과는 놀라웠습니다. 속도가 2.5배 증가하여 28 tok/s에 도달했습니다! 또한 최근 릴리스된 llama.cpp는 turboquants를 지원하여, 더 제한된 환경에서도 메모리 사용량을 크게 줄이고 추가적인 속도 향상을 제공합니다.
가장 유용한 양자화 버전을 변환하여 HF에 업로드했습니다. Apple Silicon을 사용 중이라 하더라도 MLX 대신 이 버전을 사용해야 합니다. 아래에서 다운로드할 수 있습니다:
https://huggingface.co/froggeric/Qwen3.6-27B-MTP-GGUF
여기에는 vLLM 특수성으로 인해 다른 도구에서 문제가 발생했던 기존 jinja 채팅 템플릿에 제가 직접 적용한 7가지 수정 사항도 포함되어 있습니다:
https://huggingface.co/froggeric/Qwen-Fixed-Chat-Templates
현재로서는 이를 사용하기 위해 llama.cpp를 직접 컴파일해야 합니다. 과정은 꽤 간단합니다:
git clone --depth 1 https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
git fetch origin pull/22673/head:mtp-pr && git checkout mtp-pr
cmake -B build -DGGML_METAL=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --target llama-cli llama-server
그런 다음 API 엔드포인트로 서비스를 시작하려면 다음과 유사한 명령어를 사용하세요:
llama-server -m Qwen3.6-27B-Q5_K_M-mtp.gguf \
--mmproj mmproj-Qwen3.6-27B-f16.gguf \
--spec-type mtp --spec-draft-n-max 5 \
--cache-type-k turbo4 --cache-type-v turbo4 \
-c 262144 --temp 0.7 --top-k 20 -ngl 99 --port 8081
이게 전부입니다. 한 번의 명령어로 세 가지 최적화를 적용할 수 있습니다:
| Flag | What it does | Impact |
|---|---|---|
| --spec-type mtp --spec-draft-n-max 5 | Multi-Token Prediction (built into the model) | 2.5x faster generation |
| --cache-type-k turbo4 --cache-type-v turbo4 | 4.25-bit KV cache (instead of 16-bit) | Quarter the KV memory |
| -c 262144 | 262K context window | Full native context on 48 GB Mac with turbo4 KV |
아래 표에 따라 하드웨어에 맞춰 -m, -c, --cache-type-k/v 값을 조정하세요.
하드웨어별 권장 사항은 다음과 같습니다:
Apple Silicon
| RAM | Quant | KV cache | Max context | Memory used | Vision |
|---|---|---|---|---:|---|
| 16 GB | IQ2_M | turbo3 | 48K | 11.7 GB | ✗ |
| 24 GB | IQ3_M | turbo4 | 64K | 15.4 GB | ✗ |
| 24 GB | IQ4_XS | turbo3 | 48K | 15.9 GB | ✗ |
| 32 GB | Q4_K_M | turbo4 | 128K | 22.8 GB | ✓ |
| 32 GB | IQ4_XS | turbo4 | 160K | 23.4 GB | ✓ |
| 32 GB | Q5_K_M | turbo4 | 80K | 23.1 GB | ✓ |
| 48 GB | Q6_K | q8_0 | 128K | 33.8 GB | ✓ |
| 48 GB | Q5_K_M | turbo4 | 262K | 32.8 GB | ✓ |
| 48 GB | Q8_0 | q8_0 | 80K | 35.0 GB | ✓ |
| 64+ GB | Q8_0 | q8_0 | 262K | 53.2 GB | ✓ |


