맥북에서 Qwen3.5 모델을 구동하기 위해 허깅페이스(AI 모델 공유 플랫폼)에서 MLX(애플 실리콘 최적화 프레임워크) 포맷의 양자화 모델을 내려받아 실행한다. 분명 벤치마크 수치는 높게 나왔는데, 정작 API 호출을 위한 JSON 형식을 생성하라고 명령하면 모델이 갑자기 무의미한 문자를 출력하거나 엉뚱한 답변을 내놓는 현상이 발생한다. 도구 호출 기능이 핵심인 에이전트 설계를 진행하던 개발자는 모델의 파라미터 크기가 문제가 아니라, 압축 과정에서 무언가 망가졌다는 의심을 하게 된다.

Qwen3.5 하이브리드 구조와 균일 양자화의 충돌

커뮤니티에서 배포된 MLX 포맷의 Qwen3.5 모델들이 도구 호출 오류와 환각 현상을 보이는 기술적 원인이 분석되었다. Unsloth(AI 파인튜닝 도구 업체)는 150개 이상의 벤치마크 실험을 통해 기존 양자화 방식의 구조적 결함을 찾아냈다. 양자화(모델의 숫자 데이터를 낮은 정밀도로 압축해 크기를 줄이는 기술) 과정에서 대부분의 커뮤니티 도구들은 모든 레이어에 동일한 비트 수를 적용하는 균일 양자화 방식을 사용한다.

문제는 Qwen3.5의 내부 설계가 일반적인 모델과 다르다는 점에 있다. Qwen3.5는 일반적인 Self-attention(입력 데이터의 관계를 파악하는 자기주의 레이어)과 GatedDeltaNet(연산 효율을 높인 선형 어텐션 레이어)이 번갈아 배치된 하이브리드 구조를 가진다. Unsloth의 분석 결과, 특히 linear_attn.out_proj 레이어가 압축에 매우 민감하게 반응하는 것으로 관찰된다. 이 레이어를 4비트로 압축했을 때 발생하는 정보 손실 민감도는 lm_head(최종 출력 레이어)와 비교해 약 120배에 달한다. 결과적으로 균일 양자화는 중요도가 낮은 레이어에 정밀도를 낭비하고, 정작 모델의 논리 구조를 유지하는 핵심 레이어를 파괴하는 결과를 초래한다.

혼합 비트 양자화와 보정 데이터의 실무적 가치

단순히 전체 비트 수를 높이는 것은 메모리 효율을 떨어뜨리므로, 레이어별 민감도에 따라 비트를 다르게 배분하는 혼합 비트 양자화 방식이 대안으로 제시된다. Unsloth는 121개의 설정 비교와 KLD(정보 손실 측정 지표) 실험을 통해 최적의 비트 배분 값을 도출했다. 상대적으로 민감도가 낮은 MLP(다층 퍼셉트론 레이어)는 3비트로 과감하게 압축하고, 어텐션 Q/K/V 레이어는 5비트를 할당한 뒤 AWQ(가중치 보정 기법)를 적용해 정밀도를 보완한다. 가장 민감한 출력 레이어는 bf16(16비트 부동소수점) 전체 정밀도를 그대로 유지하는 전략을 취한다.

압축 품질을 결정하는 또 다른 핵심 요소는 캘리브레이션(압축 전 가중치를 조정하는 보정) 데이터의 성격이다. 기존에는 위키피디아 같은 일반 텍스트 데이터를 주로 사용했으나, 이는 실제 모델이 수행해야 할 도구 호출이나 코딩 작업의 특성을 반영하지 못한다. 대신 대화, 코딩, 도구 호출 예제 데이터를 보정 과정에 투입함으로써 실제 사용 환경에서 필요한 중요도를 정확하게 계산할 수 있다. 이러한 접근은 MLX 환경에서도 GGUF(llama.cpp 기반 양자화 포맷) 모델과 동등한 수준의 성능을 구현하게 만든다. 다만 일부 레이어를 bf16으로 유지해야 하므로, 순수 저비트 모델보다는 디스크 점유 용량이 다소 증가하는 트레이드오프가 발생한다.

모델 압축은 이제 단순한 비트 수 줄이기가 아니라 모델의 아키텍처를 해부하고 수술하는 정밀 공정의 영역으로 진입했다.