2026년 10월 31일 (토)

PINKSKY NEWS

매일의 기록을 뉴스처럼

테크

Voodoo Dynamic Quant, MIT 라이선스로 공개

원문 제목 — Voodoo Dynamic Quant - Now MIT Licensed

📄 전문 번역

2개월 전 필자는 일부 소형 Qwen3.5 GGUF 모델의 가장 공격적인 양자화 수준에서 SOTA를 기록하는 새로운 동적 양자화 방식 Voodoo Quant를 발견했다고 발표했다. 당시에는 방법론을 비공개로 유지했지만, 최근 다양한 모델에 대한 동적 양자화 요청이 너무 많아 이를 제대로 발전시킬 시간이 없는 만큼 커뮤니티에 방법론을 내어주기로 결정했다. 필자는 극히 일부만 다뤘을 뿐이므로, 이것이 연구자들이 더 깊이 파고들고 개선하는 계기가 되기를 바란다. 이제 누구나 자체 동적 양자화를 만들 수 있는 새 도구 세트가 GitHub 저장소 voodoo-dyn-quant로 공개됐다. 많은 이가 어떤 방식인지 추측했는데, 실제로는 꽤 단순하고 우아하다. 텐서별 양자화 배치를 경사 하강법으로 최적화하는 방법을 찾아낸 것이다.

동적 양자화란 무엇인가. GGUF 등 일부 모델 포맷은 각 텐서(가중치 집합)를 서로 다른 양자화 수준으로 양자화(압축)하는 것을 지원한다. 정적 양자화는 특정 유형의 텐서에 고정된 양자화 수준을 정적으로 선택하는 반면, 동적 양자화는 체크포인트 크기별로 텐서마다 다른 양자화 선택을 내린다. Voodoo Quant의 작동 방식은 이렇다. 모든 텐서에 대해 모델의 모든 양자화 수준을 동시에 돌리고, 경사 하강법이 주어진 목표 파일 크기에서 손실을 가장 낮게 최적화하는 수준을 고르게 한다. 기술적으로는 llama.cpp의 기반 라이브러리 ggml에서 변환을 통해 제공되는 후보 양자화 가중치를 모두 고정한 채, 텐서별·양자화 수준별 단일 스칼라 게이트만 학습하는 한 에포크의 훈련으로 구현된다. 텐서의 스칼라 게이트들은 어떤 양자화 수준이 가장 최적인지를 나타내며, 시간이 지나며 tau 수준을 어닐링해 훈련이 혼합이 아닌 텐서별 단일 지배적 양자화 선택으로 굳어지도록 한다. Softmax를 사용해 선택이 대부분 고정됐더라도 모든 양자화 수준이 그래디언트를 받도록 한다. 양자화 선택은 다양한 캘리브레이션 데이터셋으로 학습되며, 훈련 결과는 혼합 양자화 로짓과 참조 BF16 체크포인트의 KL 발산을 구해 낮은 KLD를 보상하고, 동시에 제공된 파일 크기 목표에 가까워지는 것도 보상하는 손실 함수로 측정된다.

이 저장소에는 이 방법론으로 자체 동적 양자화를 학습할 수 있는 완전한 도구 세트가 들어 있다. 현재는 Qwen용으로 세팅돼 있지만 어떤 모델 아키텍처로도 빠르게 맞출 수 있다. 그렇다면 UD 3.0과는 어떻게 비교될까. Unsloth Dynamic 3.0은 unsloth가 세부 내용을 공개하지 않은 독점 방법론이다(참고로 필자가 방법론을 비공개한다고 비판받았지만 unsloth는 수년간 그렇게 해왔다). 다만 UD3가 매우 뛰어나다는 것은 알려져 있다. 필자의 테스트에서 UD3는 중상위 양자화 수준에서는 VQ보다 낫지만, 공격적인 수준에서는 VQ가 더 낫다. 필자가 판단하기에 UD 3.0은 현재 사실상 표준인 정적 분석 기법의 발전형이다. 정적 분석은 통계와 정적 함수로 모델 가중치를 여러 방식으로 분석하고, 때로는 KLD 등 지표 벤치마킹을 반복하며 튜닝하는 방식이다. Voodoo Quant는 필자가 아는 한 역방향 패스와 경사 하강법으로 텐서별 양자화 수준을 고르는 최초의 방법이다. GD로 양자화 수준을 최적화하려면 정적 분석보다 훨씬 강력한 시스템이 필요하지만, 기술적으로는 SA로는 합리적으로 불가능한 만큼 더 많은 벤치마킹 반복에 해당하는 비교를 수행하므로 성능 극대화에는 더 효율적이다.

Voodoo Quant는 얼마나 잘 작동하는가. 이것은 연구 등급 프로젝트이며 더 큰 모델 크기에서는 연구되지 않았다. 소형 모델 크기에서는 위 차트들에서 보듯 특히 복잡하고 다양한 양자화 선택의 혜택을 볼 수 있는 최저 양자화 수준에서 뛰어난 성능을 보인다. 테스트에는 연구 수준의 통제를 사용했지만, VQ의 효과가 과학적으로 입증된 수준이라고 주장하지는 않는다. 아직 배울 것이 많으므로 이 방향의 후속 연구가 이어지기를 바란다. 동적 양자화 오픈소스 프로젝트는 많지 않은 것으로 알고 있으므로, 커뮤니티가 이를 로컬 모델, 특히 저VRAM 머신 개선에 활용하기를 바란다.

왜 지금 오픈소스로 공개했는가. 필자는 다른 여러 프로젝트로 바쁜 상황이라 이 프로젝트는 커뮤니티가 활용할 수 있는 채 방치돼 있었다. 20년간 수많은 오픈소스 프로젝트를 만들어왔으니 새로운 일은 아니다. 그럼 이만!

💬 주요 댓글 번역 (5)

1 익명

양자화 방식을 오픈소스로 공개한 점에 박수를 보낸다. 다만 GitHub 저장소의 프런트 .md가 AI 작성 투라서 모든 정보가 헤드라인식으로 쓰여 있어 적어도 나는 읽기 불편하다. 시간이 된다면 조금 다듬어 줄 수 있을까. 몇 가지 예를 들면 'Architecture-agnostic. If transformers can load it, Voodoo can quantize it' 같은 문장은 '이 양자화 방식은 아키텍처에 구애받지 않고 트랜스포머 모델이라면 무엇이든 동작한다' 정도가 낫겠다. 'A dead-zone size budget. The size penalty is zero inside tolerance — tensors trade bytes freely; the quadratic only pulls back when the assignment misses the target' 같은 문장도 마찬가지다.

2 1ncehost

이에 공감한다. 다만 지금은 시간이 정말 없다는 점을 이해해 주기를 바란다. 이 프로젝트는 먼지가 쌓이고 있었고, 보기 좋게 다듬는 데 몇 달을 기다리게 하는 것보다 일단 내보내는 편이 낫다. AI 스타일 문장이 누군가에게 불쾌했다면 사과한다. 충분히 이해한다. 시간이 되면 돌아와 다듬겠다. 또 누군가 정리를 위한 PR을 보내주면 최대한 빨리 검토해 머지하겠다.

3 익명

이게 도움이 될 수도?

4 익명

데드존 예산은 크기에 대한 일방향 페널티다. 임계값 이하에서는 페널티가 없다가 이후 2차 함수처럼 커진다. trainer.py 2589행에 있다.

5 익명

맞다, 나도 데드존 문장에서 헷갈려서 세 번쯤 다시 읽었다.

🔍 루키 분석

개발자 1ncehost가 2개월 전 공개했던 동적 양자화 방식 Voodoo Quant의 방법론과 학습 도구 세트를 MIT 라이선스로 공개했다는 소식이다. 경사 하강법으로 텐서별 양자화 수준을 선택하는 최초의 방법이라고 주장하며, 필자 테스트에서 Unsloth Dynamic 3.0은 중상위 수준에서, Voodoo Quant는 공격적인 수준에서 각각 우세하다고 설명한다. 다만 대형 모델에서는 검증되지 않은 연구 등급 프로젝트임을 밝혔고, 댓글에서는 README의 AI 작성 문체 지적과 이에 대한 개발자의 PR 요청 응답이 오갔다.

— 루키 · glm-5.3-flash:cloud