
로컬 LLM (Gemma4 26B QAT)을 110 tok/s로 구동해 본 결과
요약
Gemma4 26B QAT 모델의 양자화 성능과 로컬 구동 속도를 테스트한 결과입니다. 16GB VRAM 환경에서 128K 컨텍스트를 유지하며 최대 111.9 tok/s의 높은 추론 속도를 기록했습니다.
핵심 포인트
- QAT 양자화를 통해 품질 저하를 최소화하며 메모리 사용량 절감
- 16GB VRAM GPU(RTX 5070 Ti 등)에서 26B 모델 전체 로딩 가능
- 최적 설정 시 일반 버전 대비 약 3배 이상의 추론 속도 달성
- KV cache 경량화 및 배치 설정을 통한 성능 최적화 방법 제시
Gemma4의 QAT 버전이 나왔다. 일반적인 양자화(quantization)보다 품질은 유지하면서 메모리 사용량을 상당히 줄일 수 있는 것 같다.
특히 눈에 띄었던 것은 26B A4B 버전으로, QAT GGUF를 사용하면 16GB VRAM GPU에도 전체 로딩이 가능하다는 이야기였다. 만약 실제로 탑재된다면, RTX 5070 Ti 16GB에서도 상당히 빠르게 구동될 것으로 예상한다.
그래서 내 환경에서도 직접 테스트해 보았다. 그 결과, gemma-4-26B-A4B-it-qat-UD-Q4_K_XL.gguf 파일은 128K 컨텍스트를 유지한 채 111.9 tok/s까지 나왔다. 일반적인 Gemma4 26B Q4/Q5/Q6 계열이 33~35 tok/s 전후였기 때문에, 속도만 놓고 보면 상당히 강력하다.
본문에서는 먼저 실행 설정과 파라미터의 위치를 정리하고, 그 후에 속도, 일반 버전과의 차이점, 그리고 실제로 사용할 때 주의할 점들을 모아서 설명한다.
| 항목 | 내용 |
|---|---|
| GPU | RTX 5070 Ti 16GB |
| ... | |
llama-swap |
여기서는 먼저 다음과 같이 파라미터의 위치를 정했다.
| 설정 | context | batch | 위치 |
|---|---|---|---|
| 상용(常用) | 128K | b2048/ub256 | 가장 기본적으로 사용할 기준값. GPU 전체 탑재가 가능하여 이 시점에서도 충분히 빠르다 |
| 속도 측정 | 128K | b4096/ub512 | 111.9 tok/s를 달성한 설정. 16GB VRAM에서는 상당히 공격적인 값이다 |
| fallback | 128K | b1024/ub128 | 전문가(expert) CPU 퇴거용. GPU 전체 탑재가 불안정할 때의 비상 탈출구 |
중요한 것은, b4096/ub512만이 실용적인 설정이라는 의미는 아니라는 점이다. QAT 버전은 모델 자체가 가볍기 때문에, b2048/ub256에서도 일반 Gemma4 26B보다 훨씬 가볍게 구동된다. 이후 속도표에서 제시된 111.9 tok/s는 위 표의 '속도 측정' 조건으로 측정한 값이다.
이번 최고치를 기록한 속도 측정용 설정은 다음과 같다.
gemma-4-26B-A4B-it-qat-UD-Q4_K_XL-C128K-GPU.gguf:
ttl: 900
cmd: >-
...
포인트는 이 부분이다.
| 설정 | 의미 |
|---|---|
| -c 131072 | 128K context |
| -ngl 99 | GPU 전체 탑재 |
| -ctk q4_0 -ctv q4_0 | KV cache 경량화 |
| -b 4096 -ub 512 | 속도 측정용. 16GB VRAM에서는 공격적인 값이다 |
속도뿐만 아니라, OpenCode에서 사용했을 때의 실용감도 보기 위해, 직접 만든 벤치마크 파이프라인으로 단계적으로 평가를 진행했다.
사용된 주요 코드는 다음과 같다.
| 용도 | 파일 |
|---|---|
| API 직 호출 속도/품질 평가 | benchmarks/run_pipeline.py |
| ... | |
| 채점은 주로 GLM-5.1 (z.ai API) 에 0점에서 5점으로 판정하게 했다. Phase5에서는 GLM-5.1만으로는 점수가 낮게 나올 수 있는 경우가 있기 때문에, Claude Sonnet 으로도 블라인드 채점을 진행하여 평균을 확인했다. |
| Phase | 보는 것 |
|---|---|
| Phase2 | API 직 호출. 짧은 QA, 요약, 코드 생성 등에서 속도와 답변 품질을 본다 |
| ... | |
| 예를 들어 Phase3에서는 이진 탐색 구현, 단어 카운트 코드의 버그 수정, JSON만 출력하는 태스크, 사과 판매 이익 계산 등을 던졌다. Phase4/5에서는 단순한 문장 답변이 아니라, 지정된 경로에 파일을 생성하게 하고 Python이라면 실행, HTML이라면 구문이나 결과물의 유무를 확인했다. |
이 평가를 통해 파악할 수 있는 문제는 단순히 문장력만은 아니다. 예를 들어
| 모델 | Phase3 | Phase4 | Phase5 |
|---|---|---|---|
| Gemma4-26B-QAT-Q4KXL | 3.88 | 3.43 | 4.68 |
| ... | 4.73 | ||
| Gemma4-26B-UD-Q5KM | 4.75 | 4.00 | 4.55 |
Phase5에서는 GLM-5.1 단독 채점 시 만점이었으나, Claude Sonnet의 블라인드 채점(blind scoring)에서는 HTML 인용구(quote) 누락으로 인한 구문 오류(syntax error)가 지적되었다. 속도는 빠르지만, 코드의 세부적인 부분에서 거친 면이 나타난다.
| 용도 | 판단 |
|---|---|
| 고속 채팅 | 적합함 |
| ... | |
| 개인적인 활용 방식으로는, QAT 버전은 "대충 빠르게 돌리고 싶을 때 사용하는 모델"이다. 엄밀한 작업에서는 보통 Q5/Q6를 사용한다. |
- Google QAT 발표: https://blog.google/innovation-and-ai/technology/developers-tools/quantization-aware-training-gemma-4/
- Gemma 4 model card: https://ai.google.dev/gemma/docs/core/model_card_4
- Google 공식 QAT GGUF: https://huggingface.co/google/gemma-4-26B-A4B-it-qat-q4_0-gguf
- 이번에 사용한 Unsloth QAT GGUF: https://huggingface.co/unsloth/gemma-4-26B-A4B-it-qat-GGUF
- 사용 파일: https://huggingface.co/unsloth/gemma-4-26B-A4B-it-qat-UD-Q4_K_XL.gguf
- Unsloth QAT 해설: https://unsloth.ai/docs/models/gemma-4/qat
Gemma4-26B-QAT-Q4KXL은 RTX 5070 Ti 16GB에서 128K 컨텍스트(context)를 유지한 채 110 tok/s급으로 동작했다.
QAT 버전의 가벼움과 GPU에 모델을 전부 올린(full GPU offloading) 결과라고 생각한다. 품질은 통상적인 Q5/Q6보다 약간 떨어지므로, 속도를 중시하는 탐색이나 가벼운 작업용으로 사용한다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기