DeepSeek-V4-Flash-0731의 Expert-only IQ3 재양자화: UD-IQ3_S보다 나은 KLD, CPU 스필(spill)
요약
DeepSeek-V4-Flash-0731 모델의 전문가(expert) 텐서만을 IQ3 계층으로 재양자화하여 품질과 용량 사이의 균형을 맞춘 연구 결과입니다. 기존 UD-IQ3_S 방식보다 낮은 KLD와 높은 정확도를 기록하며, VRAM 용량이 부족해 CPU 스필이 발생하는 환경에서 3-bit 수준의 품질을 유지하는 데 최적화되었습니다.
핵심 포인트
- 전문가 텐서만 IQ3로 재양자화하여 모델 품질 유지
- UD-IQ3_S 대비 낮은 KLD(0.2386) 및 높은 Top-1 일치도 달성
- 혼합 GPU 시스템에서 CPU 스필 발생 시 효율적인 품질 계층 확보
- llama.cpp의 DeepSeek-V4 관련 알려진 stall 이슈 주의 필요
안녕하세요 여러분, 요약하자면 / 이 정보가 도움이 될 분들: 전문가(experts)가 RAM으로 스필(spill)되는 혼합 멀티 GPU 시스템을 사용 중이며, 용량을 맞추기 위해 Q2로 떨어지는 대신 3-bit 계층을 유지하고 싶은 분들을 위한 것입니다. https://huggingface.co/TacoTakumi/DeepSeek-V4-Flash-0731-GGUF 저는 DeepSeek-V4-Flash-0731의 129개 라우팅된 전문가 텐서(routed expert tensors)만을 재양자화(requantized)하였고, 나머지 모든 텐서는 소스 GGUF가 이미 가지고 있던 정밀도를 그대로 유지했습니다. Attention, shared experts, router 및 indexer는 bartowski의 MXFP4 변환에서 가져온 Q8_0/BF16/F32 상태를 유지합니다. 오직 전문가(experts)들만 IQ3_XXS로 떨어지며, down projections는 한 단계 높은 IQ3_S를 사용합니다. 결과물은 calibration_datav3로 구축된 imatrix를 포함하여 4개의 샤드(shards)로 구성된 111.37 GiB입니다. 품질 측정을 위해, MXFP4 소스 자체에서 생성된 참조 로짓(reference logits)을 대상으로 llama-perplexity KLD를 사용하여 점수를 매겼습니다(ctx 512에서 wikitext-2의 처음 150개 청크 사용). 또한 비교를 위해 unsloth의 UD-IQ3_S를 동일한 축에서 실행했습니다. 제 결과물은 평균 KLD 0.2386을 기록하여 UD-IQ3_S의 0.2936과 비교되었고, top-1 일치도는 84.65% 대 82.78%, PPL(perplexity) 차이는 +0.536 대 +0.685였습니다. 하지만 제 모델이 2.12 GiB 더 크며, UD-IQ3_S의 최대 KLD가 11.13으로 제 모델의 12.53보다 더 낮기 때문에(더 좋기 때문에) 완벽한 승리는 아닙니다. 세 번의 실행 모두에 대한 원본 perplexity 로그는 확인하고 싶으신 분들을 위해 리포지토리에 있습니다. 전문가가 CPU로 스필되는 제 rig(5개의 혼합 GPU: 2x 3090, 5060 Ti, 2x 4060 Ti, 총 96 GiB VRAM)에서의 속도는 동일한 배치 조건에서 전체 MXFP4 소스가 9.88 / 9.69 / 9.51 t/s를 기록한 것에 비해, 깊이(depth) 0 / 4096 / 16384에서 13.91 / 13.57 / 13.26 t/s를 기록했습니다. 약 1.4배입니다. 이는 스필 제한(spill bound) 수치이므로, 모델 전체가 VRAM에 들어가는 시스템에서는 이 수치가 적용되지 않을 것입니다. 만약 순수하게 초당 토큰 수(tokens per second)만을 쫓는다면, 더 작은 모델이 이를 훨씬 앞섭니다. 동일 모델에 대한 antirez의 flat Q2는 80.76 GiB이며, 제 VRAM에 스필 없이 약 98% 상주하며 30.27 t/s를 기록하여 제 모델보다 2.18배 빠릅니다. 이 빌드의 목적은 가장 높은 수치가 아니라, 약 3-bit 수준에서의 품질 계층을 확보하는 것이었습니다. 또한 DeepSeek-V4-Flash는 llama.cpp에서 open SWA 및 rollback stall 문제가 발생할 수 있으니 주의하십시오.
저는 메인라인(mainline) llama-quantize를 사용하여 양자화했지만, DSV4 stall(지연) 수정 사항이 포함된 패치된 빌드를 실행하고 있습니다. 이 수정 사항들은 업스트림(upstream)에 반영되지 않은 상태이며, 이 GGUF를 순정 llama-server에서 테스트하지는 않았습니다. 만약 긴 컨텍스트(long contexts)에서 stall(지연) 현상이 발생한다면, 그것은 알려진 업스트림 이슈이며 모든 DSV4 GGUF에 영향을 미칩니다. 저는 이 레시피를 다른 모델들에도 사용할 계획입니다. 감사합니다! /u/HockeyDadNinja 제출 [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기