TL;DR
게시자는 AMD R9700과 ROCm에서 Qwen3.8-27B를 실행하며 F16과 Q8_0 KV 캐시가 사실상 같다는 통념과 다른 결과를 얻었습니다. F16은 구조화된 출력과 자유 형식 출력의 세밀함, reasoning 일관성, 120k context 이후 기억 유지에서 더 나았다고 했습니다. 설정에는 184320 context, F16 K/V 캐시, flash-attn, KV 오프로딩, ngram-mod와 draft-mtp 기반 speculative decoding이 포함됐습니다. Q4_0 KV 캐시에서 나타난 부정적 평가가 Qwen 모델에만 해당하는지, 다른 모델에서도 재현되는지가 핵심 쟁점입니다.
섹션별 상세
용어 해설
- KV 캐시(KV Cache)
- — KV 캐시는 Transformer가 앞서 처리한 토큰의 Key와 Value 상태를 저장해 긴 문맥에서 이미 계산한 어텐션 정보를 재사용하는 메모리 구조입니다. 캐시 정밀도가 낮아지면 메모리 사용량은 줄지만, 구조화된 출력이나 장문 기억 유지에 영향을 줄 수 있습니다.
- F16
- — F16은 각 값을 16비트 부동소수점으로 저장하는 형식입니다. KV 캐시에 적용하면 Q8_0보다 더 많은 메모리를 사용하지만, 원래 계산 결과에 가까운 정밀도를 유지해 출력 안정성과 장문 문맥 처리에 유리할 수 있습니다.
- Q8_0 양자화(Q8_0)
- — Q8_0은 값을 8비트 정수 중심으로 압축하는 양자화 형식입니다. KV 캐시의 메모리 사용량을 F16보다 줄이는 대신 값의 정밀도를 낮추며, 게시자는 두 형식이 사실상 같다는 기존 평가와 자신의 실제 결과가 다르다고 비교했습니다.
- 추측 디코딩(Speculative Decoding)
- — 추측 디코딩은 별도의 초안 생성 방식으로 다음 토큰 후보를 먼저 만들고, 주 모델이 이를 검증해 생성 속도를 높이는 방법입니다. 이 게시물의 설정에는 ngram-mod와 draft-mtp가 함께 지정됐지만, KV 캐시 정밀도에 따른 품질 차이의 원인으로 직접 검증되지는 않았습니다.
코드 예제
[*]
; device / offload
device = ROCm0
n-gpu-layers = -1
n-cpu-moe = 0
flash-attn = on
swa-full = true
kv-unified = true
kv-offload = true
; threads / misc
threads = 24
threads-batch = 24
fit = off
poll = 100
verbosity = 3
warmup = false
log-timestamps = false
jinja = true
; memory
load-mode = mlock
cache-ram = 40960
cache-type-k = f16
cache-type-v = f16
; cache / slots
cache-ram = -1
ctx-checkpoints = 32
checkpoint-min-step = 8192
parallel = 1
cont-batching = false
image-min-tokens = 1024
image-max-tokens = 2048
; ------------------------------------------------------------------------
[qwen3.8-27B]
alias = coding-model,tool-model,planner-model,flash-model,vision-model,chat-model
model = /root/models/unsloth/Qwen3.8-27B-GGUF/Qwen3.8-27B-UD-Q4_K_XL.gguf
mmproj = /root/models/unsloth/Qwen3.8-27B-GGUF/mmproj-F16.gguf
; ctx-size = 262144
ctx-size = 184320
; speculative decoding: MTP + ngram-mod
spec-type = ngram-mod,draft-mtp
spec-draft-p-min = 0
spec-draft-n-max = 3
spec-draft-type-k = f16
spec-draft-type-v = f16
spec-ngram-mod-n-match = 24
spec-ngram-mod-n-min = 48
spec-ngram-mod-n-max = 64
; sampling (swap filter setParams)
temp = 1.0
top-p = 0.95
top-k = 20
min-p = 0.0
presence-penalty = 0.0
repeat-penalty = 1.0
; reasoning
reasoning = on
reasoning-format = deepseek
reasoning-preserve = true
; reasoning-budget = 8192
; chat-template-kwargs = {"preserve_thinking": true, "reasoning_effort": "medium"}
chat-template-file = /root/models/chat_template.jinjaROCm에서 Qwen3.8-27B를 실행하며 KV 캐시 정밀도와 긴 문맥 유지력을 비교한 전체 설정입니다.
언급된 도구
AMD R9700 환경에서 Qwen3.8-27B를 실행하는 GPU 소프트웨어 스택입니다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.