로컬에서 언어 모델을 돌리는 개발자를 위해 CPU용 가중치 압축 형식 다섯 가지가 제안됐다. 모델을 저장하는 용량과 출력 정확도의 균형을 고를 선택지를 늘리는 제안이다.

1. 무엇을 추가하나

제안은 IQ2_K부터 IQ6_K까지 다섯 종류를 추가한다. 양자화는 가중치를 적은 수의 대표값으로 표현하는 압축이며, 새 형식은 대표값 간격이 고르지 않은 표인 비선형 코드북을 쓴다.

가중치 256개를 16개씩 나누고, 묶음별 배율과 코드북을 일정 간격으로 옮기는 정보를 저장한다. 코드북 단계 수는 2의 n제곱이며 n은 목표 비트 수이므로, 4비트라면 16단계를 둔다.

원 설계자는 ik_llama.cpp에서 이 형식을 먼저 만들었다. 이번 제안은 블록 배치와 이름을 따르지만 코드북과 양자화기 구현은 별도로 만들었다.

2. 사용 방법과 호환성

테스트 저장소에는 변환 명령이 제시돼 있다. 아래 명령은 가중치 압축을 조정하는 교정 자료를 지정하며, <TYPE>에는 선택한 양자화 형식 이름이 들어간다.

llama-quantize --pure --token-embedding-type q8_0 --output-tensor-type q8_0 --imatrix imatrix/imatrix-K2-Horizon-7B-medium.gguf K2-Horizon-7B-F16.gguf K2-Horizon-7B-<TYPE>.gguf <TYPE>

주의할 점은 이름이 기존 구현과 같아도 파일이 호환된다는 뜻은 아니라는 것이다. 테스트 모델 안내문은 해당 파일을 일반 llama.cpp에서 사용할 수 없다고 명시한다. 제안자는 같은 이름으로 기존 코드북을 쓰면 호환시킬 수 있지만, 새 코드북을 유지한다면 이름을 바꾸는 편이 맞다고 설명했다. 형식 번호 순서도 맞춰야 한다고 덧붙였으며, 최종 선택은 제시되지 않았다.

3. 품질 결과와 대가

품질 비교는 K2-Horizon-7B의 90억 매개변수 밀집형 모델 하나를 대상으로 했다. 레시피와 교정 자료, 양자화 설정을 고정했고, 평가는 1024토큰 묶음 275개를 사용했다. 다음 표의 평균 KLD는 원본과 압축 모델의 출력 확률 분포 차이를 나타내며 낮을수록 좋다.

표: 같은 파일 크기에서의 출력 오차 비교

조건: K2-Horizon-7B 9B 밀집형, 레시피·교정 자료·양자화 설정 고정, KLD 평가 1024토큰 청크 275개, 측정 기계 한 대(하드웨어 사양은 제시되지 않았다)

단위: 파일 크기 GiB, 평균 KLD 무차원

품질 결과와 대가
형식파일 크기평균 KLD
Q3_K4.810.179783
IQ3_K4.810.087475
Q4_K5.670.023664
IQ4_K5.670.018850
Q5_K6.480.007991
IQ5_K6.480.006624

이 시험에서 세 쌍 모두 파일 크기는 같지만 새 형식의 평균 오차가 낮았다. 특히 3비트 쌍은 평균 KLD가 0.179783에서 0.087475로 낮아졌다. 다만 한 모델과 한 평가 조건의 결과이므로 다른 구조에서도 개선이 유지되는지는 추가 시험이 필요하다.

크기와 품질이 함께 좋아지는 것은 아니다. 같은 모델 시험에서 IQ6_K는 Q6_K보다 파일이 51.75MiB, 0.69% 크고 평균 KLD는 55.7% 낮았다.

반면 IQ2_K는 Q2_K보다 파일이 4.9% 작지만 평균 KLD가 18.5% 높았다. 가장 낮은 비트 형식에서는 크기를 줄이는 대가가 오차 증가로 나타났다.

변환 시간도 비용이다. 16개 스레드로 측정한 실제 경과 시간은 IQ3_K가 155.3초, Q3_K가 15.6초였다. 모델당 한 번 드는 비용이지만, 같은 크기에서 오차를 줄이는 대신 준비 시간이 크게 늘 수 있다.

4. 제안의 현재 범위

변경은 아직 병합되지 않은 공개 풀 리퀘스트다. CPU용 변경과 별도로 가속기 지원을 더하는 제안들이 나뉘어 있다.

공개된 처리량 시험은 같은 모델을 Metal 백엔드·12개 스레드로 실행한 결과다. 3비트 형식만 뚜렷하게 빨랐고 나머지는 대체로 느리거나 엇갈렸다. 이를 CPU 속도 개선 근거로 볼 수는 없으며 CPU 추론 성능 수치는 제시되지 않았다.

같은 용량에서 오차를 줄이는 효과와 변환에 드는 추가 비용을 함께 따져야 할 실험적 제안이다.