Gemma 4 12B QAT MTP로 12GB VRAM에서 120 tok/s 달성
120 tok/s on 12GB VRAM with Gemma 4 12B QAT MTP
핵심 요약
Gemma 4 12B QAT 모델과 MTP 기술을 활용해 12GB VRAM 환경에서 추론 속도를 120 tok/s까지 끌어올린 벤치마크 결과입니다.
- Gemma 4 MTP — llama.cpp의 MTP PR을 적용하여 Gemma 4 12B 모델의 추론 속도를 대폭 향상함.
- QAT 모델 활용 — Google의 QAT 변체 모델을 사용하여 12GB VRAM에 최적화된 성능을 구현함.
- 성능 2배 향상 — MTP 미적용 시 60 tok/s였던 속도가 적용 후 120 tok/s로 약 2배 빨라짐.
- 설치 가이드 — llama.cpp 빌드부터 모델 다운로드 및 실행 명령어까지 단계별 방법을 공유함
Google이 12B를 포함한 Gemma 4 모델의 QAT(Quantization-Aware Training) 변체를 막 출시했습니다. VRAM에 완전히 들어가기 때문에 제 12GB GPU에서 벤치마크를 해보는 건 당연한 수순이었죠. 결과는 정말 놀라웠습니다!
Gemma 4 MTP PR이 패치된 llama.cpp를 사용하고, Unsloth의 gemma-4-12B-it-qat-GGUF 양자화 모델과 Google의 gemma-4-12B-it-qat-q4_0-unquantized-assistant QAT 어시스턴트/드래프트 모델을 로드했습니다. 어시스턴트 모델은 llama.cpp의 convert_hf_to_gguf.py를 사용해 GGUF로 변환하여 gemma-4-12B-it-qat-assistant-MTP-Q8_0-GGUF로 허깅페이스에 업로드해 두었습니다. 이를 통해 mtp-bench.py로 120 tok/s를 달성할 수 있었습니다!
시작하기 전에 제 PC 사양입니다:
OS: CachyOS GPU: RTX 4070 Super 12GB (iGPU를 메인 GPU로 사용) CPU: AMD Ryzen 7 9700X RAM: 32GB DDR5-6000
제 llama.cpp 실행 명령어입니다:
llama-server \
-m gemma-4-12B-it-qat-UD-Q4_K_XL.gguf \
--model-draft gemma-4-12B-it-qat-assistant-MTP-Q8_0.gguf \
--spec-type draft-mtp \
--spec-draft-n-max 4 \
--parallel 1 \
--ctx-size 131072 \
--temp 1.0 \
--top-p 0.95 \
--top-k 64
비교를 위해 MTP를 사용하지 않았을 때의 mtp-bench.py 벤치마크 결과입니다:
❯ ./mtp-bench.py
code_python pred= 192 draft= 0 acc= 0 rate=n/a tok/s=59.9
code_cpp pred= 192 draft= 0 acc= 0 rate=n/a tok/s=60.0
explain_concept pred= 192 draft= 0 acc= 0 rate=n/a tok/s=59.9
summarize pred= 192 draft= 0 acc= 0 rate=n/a tok/s=59.9
qa_factual pred= 192 draft= 0 acc= 0 rate=n/a tok/s=59.9
translation pred= 192 draft= 0 acc= 0 rate=n/a tok/s=60.0
creative_short pred= 192 draft= 0 acc= 0 rate=n/a tok/s=60.0
stepwise_math pred= 192 draft= 0 acc= 0 rate=n/a tok/s=59.8
long_code_review pred=
작동시키기 위한 단계별 지침입니다:
- llama.cpp 클론
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp

