Qwen 3.8-27B NVFP4가 샘플링 파라미터 2개만 바꾸면 Q5_K_M을 이기고 BF16 수준에 근접함. 게다가 3배 더 빠름.
Qwen 3.8-27B NVFP4 actually beats Q5_K_M and touches official BF16 levels, but only if you change 2 sampling params. Also almost 3x faster.
핵심 요약
샘플링 파라미터 조정으로 NVFP4 양자화 모델이 Q5_K_M보다 우수한 성능을 보이며 BF16 수준에 근접한다는 실험 결과 공유.
- 샘플링 파라미터 — temp와 min_p 조정으로 NVFP4 성능 향상됨.
- 성능 비교 — NVFP4가 적절한 설정 시 Q5_K_M을 능가하고 BF16에 근접함.
- 작성 스타일 — AI가 작성한 듯한 문체로 인해 댓글에서 비판받음.
- 실험 검증 — n=50 샘플 테스트 결과로 추가적인 검증이 필요함.
지난 일주일 동안 5090으로 Qwen3.8-27B 양자화 버전들 비교하면서 삽질 좀 했는데, 진짜 예상치 못한 걸 발견했다. 아무도 이런 얘기 하는 사람이 없길래 공유해 본다.
테스트 환경: Qwen3.8-27B를 로컬에서 돌리는 두 가지 방식을 비교함:
-
NInfer + NVFP4 (Unsloth의 Dynamic NVFP4 가중치 사용)
-
llama.cpp + Q5_K_M (Unsloth Dynamic 3.0 GGUF)
기본 샘플링 파라미터(temp=1.0, min_p=0.0)로 IFBench(샘플 50개, 시드 42)를 돌려봤다.
일단 프롬프트 엄격도(strict)부터 봤는데, Q5가 NVFP4보다 몇 점 앞서더라.
| Config | strict | loose |
|---|---|---|
| Q5_K_M (default) | 76% | 76% |
| NVFP4 (default) | 74% | 78% |
겉보기엔 Q5가 이긴 거 같지? 나도 처음엔 그렇게 생각했음.
근데 뭔가 이상한 점을 발견했다.
모델별로 엄격(strict) 점수랑 느슨한(loose) 점수 차이를 봐봐.
NVFP4는 엄격 점수가 74%, 느슨한 점수가 78%임. 4점 차이지. 이건 모델이 지시사항을 이해하고 내용은 제대로 뽑았는데, 사소한 포맷팅에서 실수했다는 뜻임. 들여쓰기 틀리거나, 대소문자 안 맞거나, 단어 개수 하나 차이 나는 거. 거의 맞았는데 아깝게 틀린 것들 말이야.
근데 Q5_K_M은 엄격 76%, 느슨 76%로 차이가 아예 없음. 틀린 건 그냥 다 확실하게 틀린 거임. 포맷팅 실수가 아니라, 모델 자체가 작업을 아예 이해 못 했거나 못 해낸 거임. "거의 맞은" 수준이 아니라 그냥 망한 거.
여기서 중요한 걸 깨달음. NVFP4 점수가 낮은 건 모델이 멍청해서가 아니었음. 기본 샘플링이 너무 노이즈가 많아서 포맷팅이 튀었던 거임. 이건 수정 가능한 오류였던 거지. 반면 Q5의 오류는 수정이 안 됨. 그냥 모델 자체에 박혀 있는 진짜 실력이었던 거임.
그래서 샘플링을 좀 건드려 봤다.
temp를 1.0에서 0.9로 내리고, min_p를 0에서 0.05로 올림. 그리고 다시 돌려봄.
결과가 완전히 뒤집혔다.
| Config | strict | loose |
|---|---|---|
| Official BF16 (n=300 from NInfer model card) | 79.5% | - |
| NVFP4 (temp=0.9, min_p=0.05, n=50) | 80% |
