본문으로 건너뛰기

© 2026 Molayo

r/LocalLLaMA분석2026. 06. 15. 16:17

더 많은 QAT 관련 내용과 까다로운 문제들

요약

Gemma 4 모델의 QAT(양자화 인식 학습)를 적용한 GGUF 파일 생성 프로세스와 그 결과에 대해 설명합니다. 오차를 최소화하기 위해 F32 정밀도를 사용하여 대칭/비대칭 양자화를 결정하는 새로운 패치 방식을 제안합니다.

핵심 포인트

  • QAT를 적용한 Gemma 4 12B 및 31B GGUF 모델 공개
  • 최대 오차(maxerr)를 최소화하는 새로운 양자화 프로세스 제안
  • 기존 imatrix 방식보다 낮은 KLD 값을 달성하는 실험적 접근
  • BF16의 정밀도 한계를 극복하기 위해 F32 연산 활용

요약(tldr); 마침내 더 정확한 프로세스를 통해 일부 GGUF 파일들을 게시할 수 있는 단계에 도달했습니다. 다음 저장소들을 확인하세요: https://huggingface.co/idkwhattoputherenow/gemma-4-12B-it-qat-q4_0-maxerr https://huggingface.co/idkwhattoputherenow/gemma-4-31B-it-qat-q4_0-maxerr 이것은 저의 이전 게시물에 대한 후속 조치입니다: https://www.reddit.com/r/LocalLLaMA/comments/1u0marm/quick_note_on_the_qat_of_recent/ Google이 어떤 패키지로 QAT (Quantization-Aware Training)를 진행했는지는 여전히 모르겠습니다. 아마 제가 흐름을 놓쳤거나 찾아낼 만큼 정신이 없어서일 수도 있겠지만, 그들은 아마 F16 대신 BF16 스케일을 사용한 Q4_0 버전을 사용했을 것입니다. 그래서 제 패치(patch)는 대칭/비대칭(symmetric/asymmetric)을 결정하기 위해 Q4에서 전형적으로 나타나는 두 개의 시드(seed)로 시작하여, F16으로 전체 라운드 트립(round trip)을 수행하고 오차를 계산합니다. 낮은 최대 오차(maxerr)를 취한 뒤, 오차가 악화되기 시작할 때까지 그 주변을 탐색합니다. 실제로 imatrix를 사용하고 오차에 가중치를 두는 방식보다 결과가 더 좋게 나왔지만, 그 방법도 여전히 테스트 중입니다. 적어도 이 설정으로는 목표했던 대로 Unsloth(UD-Q4_K_XL-super-mega-heccin-proprietary.gguf)와 유사한 KLD(Kullback–Leibler divergence) 값을 얻을 수 있었습니다. 만약 Unsloth와 관련이 없는 누군가가 PyTorch를 가져가서 PR(Pull Request)을 위해 작업을 마무리하고 싶다면 알려주세요. 제한이나 출처 표기 없이 소스 코드를 제공하겠습니다. 저보다 똑똑한 누군가가 별도의 포크(fork)나 스푼 없이도 사용할 수 있는 상태로 만들어 줄 수 있다면 좋겠네요. Kimi도 동일하게 하는지 아니면 정적인지 궁금합니다. Heretic와 함께 사용했을 때 놀라울 정도로 잘 작동했지만, 솔직히 --pure 플래그를 사용하여 일반적인 Q4_0 양자화(quant)를 수행하면 90% 정도는 도달할 수 있습니다. Google이 원래 GGUF를 출시할 때 그냥 그렇게 했어야 했습니다. 차이가 충분히 작아질 때 BF16 연산은 정밀도가 충분하지 않기 때문에 F32로 작업했습니다. 이 프로세스는 모든 G4QAT 모델에서 작동하지만, 모델이 커질수록 오차가 누적된다고 가정할 때 그 격차가 더 벌어집니다. 대부분의 사람들이 31B 모델을 사용하는 것 같아 그것을 업로드하지만, 저는 Vulkan을 통해 오래된 4GB 그래픽 카드에서 매우 잘 작동하는 E4B를 선호합니다.

만약 llmfan46님이 이 글을 읽는다면, 원하신다면 그냥 본인의 저장소(repo)에 양자화(quant) 모델을 올리셔도 괜찮습니다. 그러면 저는 제 것을 내리겠습니다. 아니면 제가 그냥 미쳤다고 말씀해 주세요 xd

31B Mean KLD Same Top% RMS Δp% 95% KLD ---- -------- --------- ------- -------
heretic maxerr Q4_0 vs heretic F32 0.032453 93.954% 3.603% 0.110820
heretic stock Q4_0 (HF) vs heretic F32 0.100584 87.443% 5.985% 0.358515
heretic F32 vs original F32 0.073323 90.768% 5.449% 0.303116
heretic maxerr Q4_0 vs original F32 0.075877 90.649% 5.484% 0.312716
heretic stock Q4_0 (HF) vs original F32 0.133828 85.606% 7.095% 0.508320
original maxerr Q4_0 vs original F32 0.014023 96.610% 2.472% 0.032672
unsloth Q4_K_XL vs original F32 0.013952 96.649% 2.493% 0.034219
google Q4_0 vs original F32 0.093905 88.010% 5.783% 0.325671

12B Mean KLD Same Top% RMS Δp% 95% KLD ---- -------- --------- ------- -------
heretic maxerr Q4_0 vs heretic F32 0.146459 86.884% 7.438% 0.508752
heretic stock Q4_0 (HF) vs heretic F32 0.378834 77.502% 11.690% 1.420622
heretic F32 vs original F32 0.175292 82.815% 8.586% 0.612369
heretic maxerr Q4_0 vs original F32 0.235670 81.166% 9.652% 0.833584
heretic stock Q4_0 (HF) vs original F32 0.457296 74.188% 13.034% 1.704541
original maxerr Q4_0 vs original F32 0.129771 88.703% 7.047% 0.469628
unsloth Q4_K_XL vs original F32 0.136016 88.485% 7.162% 0.503085
google Q4_0 vs original F32 0.510035 73.775% 13.624% 1.944944

submitted by /u/dreamkast06 [link] [comments]

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0