내 Qwen3.8-27B 태스크 인식 양자화 모델, BF16 추론 성능의 99%를 15% 크기로 달성함
My Qwen3.8-27B task-aware quant reaches 99% of BF16 reasoning performance at 15% of the size.
핵심 요약
태스크 인식 양자화(TAK)를 통해 Qwen 3.8-27B 모델의 추론 성능을 유지하면서 크기를 획기적으로 줄인 성과 공유.
- 태스크 인식 양자화 — imatrix와 손상 할당을 활용해 특정 작업에 최적화된 양자화 수행함
- 추론 성능 향상 — 기존 Unsloth 대비 추론 벤치마크에서 유의미한 성능 우위 달성함
- 반복 루프 문제 — 코딩 등 의도하지 않은 도메인 사용 시 반복 루프 발생 가능성 확인됨
- 향후 개발 계획 — 코딩 및 수학 도메인으로 파이프라인 확장 및 최적화 예정임
세 줄 요약: Qwen 3.8 27b 모델을 TAK 방식으로 양자화했더니 추론 성능이 82.81% 나왔음. 바이트 단위로 맞춘 Unsloth UD IQ2_S는 77.34%, BF16은 83.59%였음.
수정: 이 추론 특화 양자화 모델로 코딩하다가 반복 루프 걸린다는 제보가 좀 있네. 코딩은 원래 의도한 영역이 아니긴 한데, 왜 그런지 직접 재현해보고 문제점 파악해볼게.
지난 몇 달 동안 태스크 인식 양자화(task aware quantization)를 파고 있었음. 이제 이걸 추론 영역에서 깔끔하게 반복 가능한 파이프라인으로 만들어놨다. 다음 목표는 코딩임.
한동안은 측정 위주의 방대한 시스템인 Qlab을 썼는데, 뭘 테스트하고 어디를 파야 할지 결정하는 데는 도움 됐음. 탐색용으론 좋았는데, 갈수록 복잡해지고 오버헤드만 엄청 쌓이더라.
믿을 만한 파이프라인을 찾고 나서는 그걸 전문화시키고 기존 앱은 은퇴시켰음. 새 시스템 이름은 TAK(Task Aware Knapsack)임. 앱 이름도, 거기서 나온 모델 이름도 그냥 TAK으로 부르는 중.
간단히 말해서 TAK은 TASA랑 TAQ을 섞은 거임. 우선 특정 태스크 말뭉치로 imatrix를 만들고, 모델이 완전히 맛탱이 가기 직전의 최소 사이즈를 찾음. 그다음 그 측정값들을 텐서 레벨 할당이랑 조합해서, 정해진 바이트 예산 안에서 텐서 중요도를 올리거나 내리는 방식임. 범용적인 복구 방식이 아니라, 딱 목적에 맞게 양자화하는 거라 보면 됨.
Unsloth는 업계 표준 레퍼런스로 넣은 거임. 내 방식이랑 똑같다고 주장하려는 게 아님.
가지치기(pruning), 파인튜닝, 모델 병합 같은 건 일절 안 함. 순수하게 Imatrix랑 손실 할당 과정만 거침. 전부 별도의 테스트 데이터셋으로 검증 완료함.
현재 내 승자들은 이거임: https://huggingface.co/ByteOtter
-
Qwen3.8-27B: 82.81% vs 77.34% Unsloth, +5.47 포인트

