1 서론

Transformer(Vaswani et al., 2017) 계열의 사전 학습된 생성 모델, 일반적으로 GPT 또는 OPT(Radford et al., 2019; Brown et al., 2020; Zhang et al., 2022)로 알려진 모델들은 복잡한 언어 모델링 작업에서 획기적인 성능을 보여주며 학계와 실무에서 큰 관심을 받고 있습니다. 그러나 이러한 모델의 활용에 있어 주요 장애물 중 하나는 높은 계산 및 저장 비용으로, 이는 알려진 모델 중에서도 가장 높은 수준에 속합니다. 예를 들어, 최고의 성능을 보이는 모델 변형인 GPT3-175B는 약 1,750억 개의 파라미터를 가지고 있으며, 이를 훈련시키기 위해 수십에서 수백 GPU 연도가 필요합니다(Zhang et al., 2022). 사전 학습된 모델에 대한 추론 작업조차도 매우 도전적입니다. 예를 들어, GPT3-175B의 파라미터는 float16 형식으로 저장할 경우 326GB의 메모리를 차지합니다(1024의 배수로 계산). 이는 최고급 단일 GPU의 용량을 초과하므로, 추론은 복잡하고 비용이 많이 드는 다중 GPU 설정을 사용해야 합니다

이러한 오버헤드를 제거하는 표준 접근 방식은 모델 압축입니다(Hoefler et al., 2021; Gholami et al., 2021). 그러나 이러한 모델을 추론을 위해 압축하는 방법에 대해서는 놀랍게도 알려진 바가 많지 않습니다. 그 이유 중 하나는 저비트 폭 양자화나 모델 가지치기와 같은 더 복잡한 방법들이 일반적으로 모델 재훈련을 필요로 하며, 이는 수십억 개의 파라미터를 가진 모델에 대해 매우 비용이 많이 듭니다. 대안으로, 재훈련 없이 한 번에 모델을 압축하는 사후 훈련 방법(Nagel et al., 2020; Wang et al., 2020; Hubara et al., 2020; Nahshan et al., 2021)은 매우 매력적일 수 있습니다. 그러나 이러한 방법의 더 정확한 변형(Li et al., 2021; Hubara et al., 2021; Frantar et al., 2022)은 복잡하며 수십억 개의 파라미터로 확장하기 어렵습니다(Yao et al., 2022). 현재까지는 GPT-175B 규모에서 가장 기본적인 형태의 반올림 양자화(round-to-nearest quantization)(Yao et al., 2022; Dettmers et al., 2022)만이 적용되었습니다. 이는 낮은 압축 목표, 예를 들어 8비트 가중치에는 잘 작동하지만, 더 높은 압축률에서는 정확도를 유지하지 못합니다. 따라서 한 번의 사후 훈련 양자화로 높은 압축률을 달성하는 것이 일반적으로 가능한지는 여전히 미지수입니다.

2 GPTQ: 우리의 방법

본 절에서는 GPTQ, 즉 생성형 사전학습 트랜스포머에 대한 정확한 사후 훈련 양자화 방법에 대해 설명합니다. 우리는 GPT 아키텍처를 기반으로 설명하지만, 이 방법은 사실상 모든 트랜스포머 모델에 적용 가능합니다. 우리는 다음과 같은 상황을 가정합니다:

우리의 목표는 가중치를 재훈련 없이 압축된 양자화 형식으로 변환하여 원래 모델과 유사한 정확도를 유지하는 것입니다.

2.1 기본 양자화 문제 공식화

트랜스포머는 일반적으로 여러 층의 선형 연산 (선형 레이어)으로 구성되어 있고, 각 레이어의 주요 연산은 다음과 같이 표현됩니다:

Y=XWTY = XW^T

Y=XWT

이제 우리는 이 가중치 행렬 WWW를 양자화된 버전 W^\hat{W}W^로 대체하여 계산:

Y^=XW^T\hat{Y} = X \hat{W}^T