한 줄 요약
AQLM은 2~3비트로 대규모 언어 모델을 압축하면서 정확도를 유지하는 새로운 추가 양자화 기법이다.
핵심 기여도
- AQLM 알고리즘은 입력에 따라 가중치 행렬을 학습하는 추가 양자화(AQ)를 도입하여, 2~3비트 압축에서 최적의 정확도-모델 크기 성능을 달성함.
- 트랜스포머 블록 내 코드북 파라미터를 공동 최적화하여, 기존 2비트 양자화 방식 대비 정확도를 크게 향상시킴.
- GPU 및 CPU에서 실행 가능한 빠른 인코딩/디코딩 구현을 제공하여, FP16 대비 최대 8배 메모리 절감과 30%의 GPU 속도 향상 달성함.
핵심 아이디어
AQLM은 기존의 정보 검색 분야에서 사용되던 추가 양자화(AQ)를 대규모 언어 모델(LLM) 압축에 적용한 첫 번째 방법이다. 기존의 직접 양자화는 각 가중치를 독립적으로 양자화하지만, AQLM은 여러 값을 공동으로 압축하여 상호 정보를 활용함. 이는 AQ의 전통적 최적화 문제를 재구성하여, 입력 토큰 분포에 따라 레이어 출력 오차를 최소화하고, 트랜스포머 블록 내 코드북 파라미터를 공동 최적화함으로써 이루어진다.
또한, AQLM은 아웃라이어 분리가 필요 없는 단일 형식의 양자화를 사용하여, 복잡한 하이브리드 형식을 피하고 실용성을 높였다. 이는 기존의 2비트 양자화 방식이 정확도 저하와 높은 실행 오버헤드를 동반하는 문제를 해결하는 핵심 아이디어이다.
기술적 접근법
- **AQLM 알고리즘**: 기존 AQ 최적화 문제를 입력에 따라 인스턴스 인식 방식으로 재구성하여, 레이어의 입력/출력 활성화를 고려함.
- **MAP-MRF 최적화**: 레이어별 최적화를 보완하는 블록 내 최적화 기법을 도입하여, 여러 레이어에 걸쳐 코드북 파라미터를 공동 최적화함.
- **코드북 초기화**: 잔차 K-평균(residual K-means) 초기화를 사용하여 알고리즘 수렴 속도를 향상시킴.
- **코드 길이 및 코드북 수 조정**: 1x15 긴 코드와 2x8 짧은 코드의 코드북 수를 비교하며, 주어진 비트 예산 내에서 최적의 코드 구성 탐색함.
- **GPU/CPUCPU 구현**: 효율적인 GPU 및 CPU 커널을 제공하여, FP16 대비 최대 4배의 CPU 추론 속도 향상과 8배의 메모리 절감을 달성함.
주요 결과
- **Llama 2 모델에서 2비트 압축 시**: AQLM은 기존 최고 수준의 2~4비트 압축 기법을 모두 초과함.
- **정확도 개선**: 2비트 압축에서 기존 방식 대비 최대 +10% 이상의 퍼플렉시티(PPL) 개선을 기록함.
- **속도 및 메모리 효율성**: GPU에서 최대 30%의 속도 향상과 CPU에서 최대 4배의 추론 속도 향상, FP16 대비 최대 8배의 메모리 절감을 달성함.
의의 및 한계
AQLM은 2~3비트 압축에서 정확도-모델 크기 성능이 파레토 최적(Pareto optimal)임을 입증하며, 기존 2비트 양자화 기법의 한계를 극복함. 특히, 아웃라이어 분리 없이 단일 형식의 양자화를 사용하여 실용성을 높였으며, GPU 및 CPU에서의 빠른 실행이 가능하다는 점에서 실용적 가치가 높다.
그러나 AQLM은 RTN 또는 GPTQ와 같은 직접 양자화 방법보다 계산 비용이 높으며, 복잡한 코드 표현 방식으로 인해 초기 설정 및 최적화 과정에서 시간이 더 소요될 수 있다. 또한, 코드북 파라미터 최적화가 정확도에 큰 영향을 미치므로, 초기화 및 학습 데이터셋의 크기에 민감하다는 한계가 있다.
실용적 활용
AQLM은 모바일 및 임베디드 장치에서 대규모 언어 모델을 실행할 수 있도록 메모리와 계산 자원을 줄이는 데 유용하다. 특히, Llama 2와 같은 오픈 소스 모델을 사용하는 클라우드 외부의 엣지 컴퓨팅 환경에서 활용 가능하며, 저비용 하드웨어에서의 추론 성능 향상에도 기여할 수 있다.