TL;DR
작성자는 UI가 없는 서버용 PC의 RTX 4090에서 llama.cpp로 Qwen3.8-27B-UD-IQ4_XS.gguf를 실행하며, 모든 GPU 레이어와 Q8_0 KV Cache를 사용합니다. draft-mtp와 MTP 2를 적용하면 VRAM 568MB를 남긴 채 242k 컨텍스트를 쓰고, MTP를 끄면 1.5GB를 남기면서 262k 컨텍스트를 확보하지만 속도는 45~50t/s로 낮아집니다. 작은 skills만 사용하는 opencode 작업에서는 컨텍스트 20k를 줄이고 속도를 택하는 구성이 더 적합하다는 판단입니다. Q4 양자화와 FP16·Q8 KV Cache 사이에서 체감 차이는 없었습니다.
실용적 조언
- RTX 4090에서 긴 컨텍스트와 생성 속도를 함께 조정하려면 MTP를 켠 242k 컨텍스트 설정과 MTP를 끈 262k 컨텍스트 설정을 각각 비교할 수 있습니다. 전자는 VRAM 여유가 568MB이고 후자는 1.5GB이므로 다른 프로그램을 GPU에서 실행할 계획이 있으면 여유 공간도 함께 고려해야 합니다. 작성자의 측정에서는 MTP를 끄면 속도가 45~50t/s로 낮아졌으므로 컨텍스트 길이보다 응답 속도가 중요한지 먼저 판단해야 합니다.
- KV Cache는 이 글의 조건에서 FP16 대신 Q8_0을 선택해 VRAM을 절약하는 방향으로 구성됐습니다. 작성자는 Qwen3.8-27B-UD-IQ4_XS.gguf에서 두 형식 사이의 차이를 체감하지 못했다고 밝혔습니다. 같은 모델과 GPU를 쓰는 경우 Q8_0을 기준으로 실행한 뒤 FP16과 결과 품질 및 사용 가능한 컨텍스트를 직접 비교하는 방식이 적합합니다.
섹션별 상세
용어 해설
- 추측 디코딩(Speculative Decoding)
- — 작은 draft 모델이 다음 토큰 후보를 먼저 생성하고, 주 모델이 이를 한 번에 검증해 토큰 생성 속도를 높이는 방식입니다. 이 글에서는 llama.cpp의 draft-mtp 설정으로 최대 2개의 후보 토큰을 활용합니다.
- KV 캐시(KV Cache)
- — 대화 문맥을 처리할 때 생성된 Key와 Value를 저장해 이전 토큰의 어텐션 계산을 반복하지 않게 하는 메모리 구조입니다. 글에서는 K와 V를 Q8_0으로 양자화해 VRAM 사용량과 품질을 조정합니다.
- GGUF 모델 형식(GGUF)
- — llama.cpp 계열 추론 환경에서 모델 가중치와 관련 메타데이터를 저장하는 파일 형식입니다. 작성자는 Qwen3.8-27B-UD-IQ4_XS.gguf 파일을 RTX 4090에서 직접 로드합니다.
- 다중 토큰 예측(MTP)
- — 모델이 한 번의 생성 단계에서 여러 후속 토큰을 예측하도록 해 디코딩 처리량을 높이는 방식입니다. 이 구성에서는 MTP 2를 켜는 대신 사용 가능한 컨텍스트 길이가 242k로 줄어듭니다.
코드 예제
-m
/models/gguf/Qwen3.8-27B-UD-IQ4_XS.gguf
--parallel
1
--n-gpu-layers
all
--split-mode
none
--main-gpu
0
--flash-attn
on
--cache-type-k
q8_0
--cache-type-v
q8_0
--batch-size
256
--ubatch-size
64
-c
242760
--fit
off
--spec-type
draft-mtp
--spec-draft-n-max
2RTX 4090에서 Qwen3.8-27B-UD-IQ4_XS.gguf를 단일 GPU로 실행하고, Q8_0 KV Cache와 draft-mtp를 적용하는 llama.cpp 서버 옵션입니다.
언급된 도구
CUDA 환경에서 GGUF LLM을 로드하고 서버 형태로 추론합니다.
작은 skills와 MCP 없이 대규모 코드베이스 작업에 사용합니다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.