AWQ는 QAT(양자화 인식 훈련)가 아닌 PTQ(훈련 후 양자화) 방식에 속합니다. 모델을 처음부터 다시 훈련할 필요 없이, 이미 훈련된 모델에 작은 보정용 데이터셋(calibration dataset)을 사용하여 양자화를 진행하기 때문입니다.
이 과정에는 역전파(backpropagation)가 포함되지 않습니다.
Saliency 계산 방식: 활성화(Activation)를 주목하라
AWQ의 핵심은 ‘어떤 가중치가 중요한가?‘를 판단하는 것인데, 이 ‘중요성(Saliency)‘을 입력으로 들어오는 활성화(Activation)의 크기를 통해 계산합니다.
단순히 가중치 값 자체가 크다고 중요한 것이 아니라, 그 가중치가 큰 활성화 값과 곱해질 때 모델의 최종 결과에 큰 영향을 미칩니다. 수식으로 표현된 선형 레이어()를 생각해보면 쉽습니다. 여기서 는 가중치, 는 입력 활성화입니다. 만약 특정 가중치 가 계속해서 큰 값의 와 곱해진다면, 이 를 양자화할 때 발생하는 작은 오차도 증폭되어 최종 출력 에 큰 영향을 주게 됩니다.
따라서 AWQ는 다음과 같은 방식으로 중요한 가중치를 찾아냅니다.
-
활성화 값 통계 수집: 소량의 보정용 데이터를 모델에 통과시켜 각 레이어에 들어오는 활성화 값(X)의 통계를 수집합니다.
-
Saliency(중요도) 판단: 이때 활성화 값의 채널별 평균 절대값이 큰 채널을 중요하다고 판단합니다. 즉, 지속적으로 큰 활성화 값을 받는 채널을 ‘Salient Channel’로 식별합니다. 연구에 따르면 전체 가중치의 약 1% 정도만 이렇게 두드러진 활성화 값과 상호작용합니다.
B) AWQ의 동작 원리: 중요한 가중치 보호하기
중요한 가중치를 찾았다면, 이제 그 가중치의 정밀도를 보호해야 합니다. 하지만 중요한 부분만 FP16으로 남기고 나머지만 INT4로 양자화하는 혼합 정밀도(Mixed-Precision) 방식은 하드웨어에서 비효율적입니다.
AWQ는 이 문제를 ‘채널별 스케일링(Per-channel Scaling)‘이라는 독창적인 방법으로 해결합니다.
-
스케일링 팩터 적용: 중요한 가중치 채널을 보호하기 위해, 해당 채널의 가중치 값들을 특정 스케일링 팩터(s)로 나누어 줍니다. 반대로, 이와 곱해지는 활성화 값에는 동일한 스케일링 팩터(s)를 곱해줍니다. ()
-
정밀도 손실 최소화: 이 과정을 통해 중요한 가중치 값의 범위(dynamic range)가 줄어들어 양자화를 진행했을 때 발생하는 오차가 감소하게 됩니다. 즉, 중요한 값들은 스케일링을 통해 양자화로 인한 손실을 최소화하도록 ‘보호’받는 셈입니다.
-
전체 INT 양자화: 스케일링이 완료되면 모델의 모든 가중치를 하드웨어 친화적인 INT3 또는 INT4 정수 형태로 양자화합니다.
B.1) AWQ와 채널의 관계
-
입력 데이터(활성화 값, X): 이전 레이어에서 넘어온 4096차원 벡터(즉, 4096개의 채널)가 있습니다.
-
중요 채널 식별: AWQ는 이 4096개의 채널 중 어떤 채널의 값이 유독 지속적으로 크게 나타나는지 관찰합니다. 예를 들어, 25번 채널과 1024번 채널이 문맥상 중요한 단어가 나타날 때마다 항상 큰 값을 갖는다고 가정해 봅시다.
-
가중치 보호: 이 중요한 25번, 1024번 채널과 곱해지는 가중치 행렬(W)의 해당 열(column) 은 모델 성능에 매우 중요합니다. 다른 채널의 가중치보다 이 가중치들의 정밀도를 보존하는 것이 핵심입니다.
-
채널별 스케일링 적용: AWQ는 바로 이 중요한 채널에 해당하는 가중치 열(column)을 보호하기 위해, 해당 열에만 선택적으로 스케일링 팩터를 적용하여 양자화로 인한 오차를 최소화합니다.
C) 핵심 아이디어 요약
- 문제: LLM의 가중치가 아닌 활성화 값에 이상치(outlier)가 존재하며, 이 이상치와 곱해지는 가중치는 성능에 매우 중요하다.
- 해결책: 가중치 값 자체가 아닌 활성화 값의 크기를 기준으로 중요한 가중치 채널(Salient Channel)을 식별한다.
- 실행: 식별된 중요 채널의 가중치는 스케일링을 통해 양자화 오차를 최소화하여 보호하고, 전체 모델은 하드웨어 친화적인 정수 형태로 양자화한다.
이러한 접근 방식 덕분에 AWQ는 GPTQ와 같은 다른 PTQ 기법에 비해 재구성(reconstruction) 과정이 필요 없어 더 빠르고, 다양한 도메인에 대한 일반화 성능을 잘 유지하는 장점이 있습니다.