본문으로 건너뛰기

F16 KV 캐시가 Q8_0보다 긴 문맥에서 더 안정적인가

F16 KV 캐시가 Q8_0보다 출력 세밀함과 120k 이후 기억 유지에서 앞섰다는 실험 결과입니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

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 모델에만 해당하는지, 다른 모델에서도 재현되는지가 핵심 쟁점입니다.

섹션별 상세

01
게시자는 release 이후 AMD R9700과 ROCm 환경에서 UD 3.0을 계속 시험하면서 F16과 Q8_0 KV 캐시의 실제 차이를 비교했습니다. F16에서는 구조화된 출력과 자유 형식 출력이 더 신중하고 세밀했으며, reasoning 과정도 대부분 일관됐다고 기록했습니다. 120k context를 넘긴 뒤에도 50k 미만에서와 비슷한 방식으로 기억을 유지했다고 했지만, 정량 벤치마크나 동일 프롬프트 반복 횟수는 제시하지 않았습니다.
02
게시자는 Q4_0 KV 캐시를 사용한 영상과 게시물에서 나쁜 평가 또는 엇갈린 평가를 접한 뒤, 낮은 정밀도의 KV 캐시가 품질 차이를 키울 가능성을 의심했습니다. 자신의 설정에서는 cache-type-k와 cache-type-v를 모두 f16으로 두고, 184320의 ctx-size와 flash-attn, swa-full, kv-unified, kv-offload를 함께 사용했습니다. 모델 파일은 Qwen3.8-27B-UD-Q4_K_XL.gguf이며, Q6_X_M과 Q4_K_KL 사이에서는 큰 차이를 느끼지 못했다고 기록했습니다.
03
실행 환경에는 ROCm0에서 모든 레이어를 GPU로 오프로딩하는 n-gpu-layers = -1, 24개의 threads와 threads-batch, 32개의 ctx-checkpoints가 지정됐습니다. 생성 과정에는 ngram-mod와 draft-mtp 기반의 speculative decoding, reasoning on, deepseek 형식, reasoning-preserve true가 포함됐습니다. 게시자는 이런 결과가 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 캐시 정밀도에 따른 품질 차이의 원인으로 직접 검증되지는 않았습니다.

코드 예제

ini
[*]
; 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.jinja

ROCm에서 Qwen3.8-27B를 실행하며 KV 캐시 정밀도와 긴 문맥 유지력을 비교한 전체 설정입니다.

언급된 도구

ROCm중립

AMD R9700 환경에서 Qwen3.8-27B를 실행하는 GPU 소프트웨어 스택입니다.

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 20.수집 2026. 08. 20.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.