25개 레포지토리의 GGUF 양자화 모델 443개를 감사해본 결과, 64개가 파일명과 실제 양자화 수준이 일치하지 않음
I audited 443 GGUF quants across 25 repos. 64 of them can't be the quant their filename claims.
핵심 요약
llama.cpp의 양자화 과정에서 발생하는 강제 폴백 현상으로 인해, 일부 GGUF 모델이 파일명과 다른 실제 비트 수를 갖게 되는 문제를 분석함.
- 양자화 폴백 현상 — 텐서 행이 256으로 나누어떨어지지 않으면 llama-quantize가 임의로 약 4.5 bpw 유형으로 대체함
- 파일명 불일치 — 사용자는 낮은 비트의 모델을 다운로드했다고 생각하지만, 실제로는 더 높은 비트의 모델을 사용하게 됨
- 감사 도구 공개 — 로컬 GGUF 파일이나 허깅페이스 레포지토리의 실제 양자화 상태를 확인할 수 있는 도구와 데이터셋을 제공함
- 모델 선택 가이드 — 폴백이 빈번한 모델은 파일명에 의존하지 말고 실제 측정된 밀도를 확인하거나 안정적인 Q4_0 등을 사용하는 것이 좋음
TL;DR: k-quants는 텐서 행이 256으로 나누어떨어져야 함. 안 그러면 llama-quantize가 조용히 ~4.5 bpw 타입으로 바꿔치기하고 파일 이름은 저비트 그대로 유지함. 25개 저장소에서 443개 양자화 모델을 전수 조사했는데, 64개가 이 모양임. Nemotron-3.5-Lightning은 IQ2 단계 4개가 전부 이름만 다를 뿐 실제로는 똑같은 4.58 bpw 파일임. 도구랑 전체 조사 결과는 맨 아래 링크함.
니가 받은 양자화 파일 이름은 양자화 도구한테 뭘 만들어달라고 시켰는지만 알려줄 뿐, 실제로 파일 안에 뭐가 들어있는지는 보장 못 함.
K-quants랑 i-quants는 첫 번째 텐서 차원이 256으로 나누어떨어져야 함. 안 그러면 llama-quantize가 호환되는 32-블록 타입으로 대체해버리는데, 보통 i-quants는 IQ4_NL, k-quants는 Q4_0으로 바뀜. 어쨌든 결과적으로는 니가 원한 저비트 타입이 아니라 4.5 bpw 근처로 나올 수 있음. 이건 의도된 거고, 2023년 PR #3747 때부터 llama.cpp에 들어가 있던 기능임. 양자화 도구가 경고를 띄우긴 하는데, 문제는 그 경고가 양자화 로그에만 찍힌다는 거임. 다 만들어진 GGUF를 다운받는 입장에서는 절대 볼 수가 없음. 파일 이름은 여전히 IQ2_XXS고, 모델 카드도 IQ2_XXS라고 적혀 있고, 메타데이터도 IQ2_XXS 레시피라고 설명하니까.
위 사진: bartowski의 Nemotron-3.5-Lightning 저장소에 있는 모든 k/i-quant 단계별 bpw 주장치 vs 실제 측정치. 다른 제작자 두 명도 같은 모델을 올렸는데 똑같은 결과가 나옴. 이건 업로더 문제가 아니라 도구 자체의 문제라는 첫 번째 증거임.
이게 얼마나 퍼져 있는지 궁금해서 텐서 테이블을 읽어서 파일 안에 실제로 뭐가 들어있는지 알려주는 도구를 짰음. 로컬 GGUF나 HF 저장소 전체에서 다 돌아감. 원격 저장소는 텐서 데이터를 다 다운받을 필요 없이 헤더만 가져오는 range request를 쓰니까 보통 몇 MB면 끝남. 파이썬 파일 하나고, 표준 라이브러리만 써서 pip install도 필요 없음.
25개 저장소에서 443개 양자화 모델을 조사함. 가장 심각한 사례들:
- Nemotron-3.5-Lightning: n_embd가 2688이고 expert 너비가 1856이랑 3712라 파라미터의 99%가 강제로 폴백(fallback) 타입으로 바뀜. IQ2 단계 4개는 라벨상으로는 2.06~2.56 bpw인데 실제 측정값은 전부 4.58임. 이름은 4개인데 실제로는 2.2배나 차이 나는 밀도가 전부 똑같음.
- Qwen3.8-Flash-Next: 파라미터의 51.9%가 강제로 폴백 타입으로 바뀜. UD-IQ1_S라고 적힌 1.56 bpw 파일이 실제로는 3.28 bpw임.
- Nemotron-3-Super-120B: 양자화 단계 23개 중 18개에 폴백이 포함됨. Nemotron-H MoE 계열에서만 벌써 4개 저장소가 걸림.
물론 깔끔한 결과도 많았음:



