AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

로컬 LLM 팁 – 양자화·KV 캐시·커널 때문에 달라진 품질 진단하기

같은 모델 이름과 프롬프트를 써도 로컬 LLM의 답변은 호스팅 API나 다른 실행기와 달라질 수 있다. 모델 가중치뿐 아니라 양자화 방식, KV 캐시 정밀도, 어텐션 커널, 샘플링, 컨텍스트 길이가 함께 결과를 바꾸기 때문이다. 이 글은 “모델이 멍청해졌다”는 인상을 재현 가능한 원인으로 좁히는 점검법이다.

기준 실행부터 고정한다

동일 모델의 공식 BF16 또는 제공자가 권장한 고정밀 체크포인트를 기준으로 둔다. 모델 revision, 실행기·CUDA·드라이버 버전, 프롬프트 전문, seed·temperature, GPU와 tensor parallelism, 입력·출력 토큰 수를 함께 기록한다. 단순 벤치마크보다 실제로 실패한 긴 에이전트 대화나 RAG 질의를 비식별화한 고정 fixture가 더 유용하다.

세 가지 원인을 분리한다

원인전형적 신호확인 방법
어텐션 backend같은 체크포인트인데 프리필 결과·속도만 달라짐FlashAttention, Triton 등 backend를 하나씩 고정해 비교
KV 캐시 양자화짧은 질의는 괜찮지만 장문에서 지시를 잃거나 모순이 늘어남KV를 BF16/FP16으로 되돌린 뒤 같은 긴 fixture 재실행
가중치 양자화처음부터 추론·코드·형식 준수가 약해짐BF16→FP8→INT8→4비트 순으로 같은 조건에서 비교

긴 컨텍스트에서만 무너지면 KV 캐시를 먼저 의심한다. 누적되는 근사 오차는 장문에서 더 크게 드러날 수 있다. 짧은 입력부터 품질이 떨어지면 가중치 포맷, chat template, sampler 설정을 우선 본다.

실전 점검 순서

  1. 기준 모델에서 실패 fixture의 출력과 채점 기준을 저장한다.
  2. 양자화·prefix caching·MTP·CUDA graph 같은 성능 옵션을 잠시 끄고 기준을 재현한다.
  3. 어텐션 backend만 바꿔 정확도와 prefill 지연을 함께 측정한다.
  4. KV cache dtype을 고정밀로 되돌린다. 회복되면 모델 자체가 아니라 장문 캐시 예산 문제다.
  5. 마지막으로 가중치 포맷을 한 단계씩 낮추며 속도·VRAM·정확도를 같은 표에 기록한다.

“빠르다”와 “내 작업에서 충분히 정확하다”는 별개다. 오류 비용이 큰 작업은 고정 테스트 세트와 사람 검토를 품질 게이트에 넣어야 한다.

관련 문서

참고 자료



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)