DeepSeek V4 0731을 양자화하여 8× RTX 5090에서 인기 있는 양자화 모델들과 벤치마크 비교
We quantized DeepSeek V4 0731 and benchmarked it against popular quants on 8× RTX 5090
핵심 요약
DeepSeek V4 모델의 양자화 과정에서 발견된 문제들을 해결하고, 자체 벤치마크를 통해 최적의 양자화 모델을 제안함.
- 양자화 문제 해결 — --no-lazy 옵션 사용 및 FP8 텐서 보정으로 비트 단위 일치 모델 구현함.
- 벤치마크 환경 — 8개의 RTX 5090을 사용하여 38개 파일을 동일한 조건에서 측정함.
- 양자화 명명 표준화 — HF상의 양자화 모델 명칭이 제각각이라 표준화가 필요함을 강조함.
- 최적 모델 제안 — 128GB 하드웨어 환경에서 AD-IQ2_M 모델이 가장 우수한 성능을 보임.
원본 safetensors에서 모델을 변환하다 보니 두 가지 문제가 터지더라. 첫 번째 문제는 양자화가 자꾸 실패하게 만들었고, 두 번째 문제는 실패는 안 하는데 모델 성능을 조용히 박살 내고 있었음.
-
--no-lazy 옵션을 무조건 써야 함. 안 그러면 token_embd.weight 값이 NaN으로 뜸.
-
conversion/deepseek.py 파일에 하드코딩된 내용 때문에, 변환기가 기본적으로 FP8 텐서를 Q8_0으로 다운컨버트함. 이게 문제인 게, 양자화 시작하기도 전에 원본 가중치에서 평균 KLD가 0.219나 벌어짐. 우리가 만든 118 GB 양자화 모델이 0.2065인데, 기본 설정으로 뽑은 "무손실" 162 GB 베이스 모델이 3비트 양자화 모델보다 원본에서 더 멀어져 있는 꼴임. 그래서 이 텐서들을 BF16으로 교체해서 수정했더니 베이스 모델이 비트 단위까지 똑같아짐.
그다음 187만 개의 토큰에 imatrix를 적용했는데, 8,192 토큰 단위로 블록을 나눠서 13개의 양자화 모델을 만들었음. 각 레이어의 활성화 에너지(activation energy)를 측정해서 전문가 비트(expert bits)를 설정하고 텐서별로 오버라이드도 걸어줬다.
작업하면서 우리가 제대로 가고 있는 건지 궁금해서 다른 사람들이 만든 양자화 모델이랑 수치를 비교해 봤는데, 이게 안 됨. 다들 자기 컴퓨터에서 돌린 수치를 올리는데, 이 모델은 같은 파일이라도 GPU마다 수치가 다르게 나옴. llama.cpp에 MXFP4 가중치를 위한 빠른 경로(fast path)가 있는데 이게 소비자용 Blackwell에서만 켜지거든. 그래서 5090이랑 H100에서 같은 파일을 돌려도 결과가 다름. 실제로 측정해 보니까 5090에서는 PPL 4.5381, H100에서는 4.3406이 나오더라.
그래서 남들이 올린 수치 보는 거 때려치우고, 그냥 우리 기기 한 대에서 38개 파일 전부 다 직접 측정함.
측정 환경:
• 8x RTX 5090
• wikitext-2, ctx 5632, 51개 청크
• 기준점은 우리가 만든 비트 단위로 똑같은 BF16 베이스 모델 (unsloth의 무손실 양자화 모델을 top-1 100%로 잡음)
154 GB가 넘어가는 양자화 모델들은 전부 비슷함. 모델 자체가 QAT(Quantization Aware Training)로 만들어졌거든. 차이가 눈에 보이는 구간은 85~135 GB 사이임. 양자화 모델 대부분에서 우리 곡선이 다른 사람들 것보다 아래에 있는데, 이건 같은 파일 크기일 때 우리 모델이 풀 모델에서 덜 벗어나고 다음 토큰을 더 정확하게 맞춘다는 뜻임.
물론 prometheusAIR나 bullerwins처럼 커뮤니티 양자화 모델이 더 잘 나오는 구간도 몇 군데 있긴 함.
이 모든 건 양자화 이름이 아니라 파일 크기로 비교한 거임. 배포자마다 이름 붙이는 기준이 제각각이라서. 우리 AD-IQ2_M은 전문가 가중치당 2.79비트인데, 다른 사람들은 이걸 IQ3_XXS라고 부르더라고.
벤치마크하면서 발견한 또 다른 문제인데, 허깅페이스(HF)에 양자화 모델 이름 짓는 표준이 아예 없음. 양자화 모델 많이 올리는 사람들이랑 이미 얘기해 봤는데, 우리만 느낀 게 아니더라. 나중에 양자화 모델 이름 어떻게 지어야 할지 따로 글 하나 올릴 예정임.
우리 양자화 결과를 보면 128 GB 하드웨어에서 DeepSeek 돌릴 때 가장 좋은 건 top-1 83.6%가 나오는 우리 AD-IQ2_M (104 GB)임.
imatrix, 텐서별 레이아웃 등등 다 포함된 허깅페이스 컬렉션은 여기 있음: https://huggingface.co/collections/AtomicChat/deepseek-v4-flash-0731-6a708cf546ed69ee944fd3b1


