Core Concepts
대규모 언어 모델 추론에서 KV 캐시의 메모리 사용량을 2배 줄이면서도 모델 정확도를 유지할 수 있는 새로운 접근법을 제안한다.
Abstract
이 논문은 대규모 언어 모델(LLM) 추론에서 발생하는 문제를 다룬다. 최근 LLM 모델의 크기가 급격히 증가하면서 추론 시 필요한 메모리와 계산량이 엄청나게 늘어났다. 이를 해결하기 위해 다양한 양자화 기법이 제안되었는데, 그중 블록 부동 소수점(BFP) 형식이 주목받고 있다. BFP 형식은 넓은 동적 범위와 높은 수치 정확도, 효율적인 하드웨어 구현을 제공한다.
그러나 BFP 양자화에는 문제가 있는데, 가중치와 활성화 함수에 아웃라이어가 존재하면 전체 블록의 양자화 정확도가 크게 저하된다. 이 논문에서는 이 문제를 해결하기 위해 새로운 접근법을 제안한다.
핵심 아이디어는 다음과 같다. 내적 연산은 행렬의 채널 순서를 동기화해서 재배열해도 결과가 변하지 않는다. 따라서 Wk 행렬의 채널을 Wq 행렬의 채널과 동기화해서 재배열하면, 아웃라이어가 있더라도 BFP 양자화 정확도를 크게 향상시킬 수 있다. 이 재배열은 컴파일 시점에 이루어지므로 추론 지연 시간에 영향을 미치지 않는다.
실험 결과, Llama2-7B 모델에서 BFP12 형식으로 양자화된 Wk 행렬의 채널을 재배열하면 메모리 사용량을 2배 줄이면서도 모델 정확도 저하를 크게 억제할 수 있음을 보였다.
Stats
제안한 K-sort 알고리즘을 적용하면 Llama2-7B 모델의 BFP12 양자화된 Wk 행렬의 메모리 사용량을 2배 줄일 수 있다.
블록 크기가 64일 때 Llama2-7B 모델의 퍼플렉서티가 9.9999에서 9.6061로 개선되었다.
블록 크기가 32일 때 퍼플렉서티가 9.8300에서 9.5196으로 개선되었다.