본문으로 건너뛰기

© 2026 Molayo

Reddit요약2026. 05. 23. 18:39

[llama.cpp] 비대칭 KV q8/q4 캐시: 현재의 주의사항 및 GGML 리포지토리 내 논의

요약

llama.cpp에서 비대칭 KV 캐시 양자화 사용 시 CUDA 환경에서 성능이 저하되는 문제를 다룹니다. 컴파일 과정에서 다양한 양자화 조합을 포함하는 해결책이 제안되었으며, 메모리 절약과 정밀도 유지 효과가 확인되었습니다.

핵심 포인트

  • 비대칭 KV 캐시 사용 시 CUDA 환경에서 CPU로 프롬프트 처리가 전환되는 문제 발생
  • 컴파일 시 KV 캐시 양자화 조합을 포함하는 방식이 효율적인 해결책으로 제안됨
  • 8/4 비트 비대칭 양자화 적용 시 메모리를 50% 이상 절약 가능
  • 메모리 절약 대비 정밀도 손실은 약 1.3% 수준으로 매우 낮음

아마 여러분 대부분은 llama.cpp의 시작 옵션으로 -ctk q8_0 -ctv q8_0 / -ctk q4_0 -ctv q4_0 이외의 다른 것을 사용하면, 최소한 CUDA 환경에서는 GPU 대신 CPU에서 프롬프트 처리 (prompt processing)가 이루어진다는 사실을 알고 계실 것입니다. 예를 들어, 자주 권장되는 조합인 -ctk q8_0 -ctv q4_0를 사용할 때 초당 토큰 처리량 (pps)이 급격히 떨어집니다.

저는 이 문제에 대해 적절한 LLM과 논의하였으며, LLM은 llama.cpp의 CUDA 소스 코드에 약간의 수정을 추가하거나, 시간이 매우 오래 걸리는 cmake -DGGML_CUDA_FA_ALL_QUANTS=ON .. 명령어를 사용할 것을 제안했습니다.

하지만 우연히도, GitHub의 sanmai 사용자가 작은 평가 (eval)를 수행하였고, FA_ALL_QUANTS를 사용하지 않더라도 컴파일 과정 중에 KV 캐시 양자화 (kv cache quant) 조합을 포함하도록 제안했는데, 이는 매우 좋은 해결책이 될 것입니다.

논의는 이곳에서 진행 중이며, 해당 평가 결과에 따르면 비대칭 8/4 비트 KV 양자화를 사용할 경우 f16/f16 대비 메모리를 절반 이상 절약하면서도 정밀도 (precision) 손실은 단 1.3%에 불과하다는 점이 확인되었으므로 읽어볼 가치가 있습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0