A Comprehensive Study on Quantization Techniques for Large Language Models
0. 읽은 이유
양자화에 대한 기본적인 이해를 얻기 위해
1. 논문 정보
- 저자: Jiedong Lang, Zhehao Guo, Shuyu Huang
- 학술지/학회: IEEE
- 발표 연도: 2024
- DOI (Digital Object Identifier): 10.1109/ICAIRC64177.2024.10899941
2. 서론
- 연구 배경 및 중요성: 지금의 llm과같은 ai는 너무나 거대하다. 이것은 거대한 컴퓨팅 파워, 막대한 에너지를 요구하기에 iot, 임베디드, 모바일등에 이식하기 어렵다. 그렇기에 이것을 해소하기위한 양자화에 대한 포괄적인 정리를 해보고자 한다.
- 주요 연구 질문 또는 목표: 양자화는 무엇이며 어떤 방식들이 있나.
- 리뷰어의 첫인상 (간략 요약): 레포트같은 느낌의 글
3. 본론
3.1 내용 요약
양자화는 반올림같은거다. 모델에 있는 가중치를 FF32 -> INT8로 바꾸는것 (8비트 양자화) 처럼 아에 변수의 크기 자체를 줄여 용량을 줄이고, 계산을 용이하게 하는 기법이다.
방법론
- Range Mapping
- 그러니까 양자화를 얼만큼 할거냐, 8비트 양자화 에서 8비트가 이거
- Affine Quantization
- 원본 파라미터 W를 양자화된 Wq로 바꾸는 고전적 방식

- S => 스케일링 펙터, Z => 제로포인트 , b = 비트수, α,β = 수 표현 범위
- Scale Quantization


- 제로포인트가 없다. 그렇기 때문에 원래의 x와 같이 0이 제로포인트고, 수의 범위도 α, -α 이다.
- Quantization Granularity
- 위에서의 제로포인트, 스케일링 펙터를 양자화 파라미터 라고 하고, Quantization Granularity는 어떻게 범위를 나누어 양자화 파라미터를 적용할지이다.
- Per-layer Quantization
- 레이어 별로 다른 양자화 파라미터 / 같은 레이어는 같은 양자화 파라미터를 공유한다.
- 성능이 많이 떨어진다.
- Per-channel Quantization
- 채널별로 다른 양자화 파라미터
- 채널이란 CNN에서 많이 쓰는 용어인것같은데, 쭈욱 같이 계산하게 되는 원소들의 묶음이라고 보면 될것같다.
- 성능은 당연 Per-layer보다 앞서지만, 계산의 복잡도가 증가한다.
- Quantization Calibration
- 양자화를 하게 되면, 수의 표현볌위가 줄어듦에따라 자연스럽게 가중치가 조정되는데, Quantization Calibration은 이 조정이 일어나기 전에, 최적의 값 범위를 찾는다(좀 더 자세하면 좋을텐데 뭘 찾는건데)
- Global Calibration
- 전체 데이터의 최대값과 최소값을 사용하여 단순하게 변환하지만 정확도가 떨어질 수 있다.
- Max Calibration
- 실제 데이터의 최대값을 사용하여 양자화 손실을 완화한다.
- KL Divergence Calibration
- 원본 데이터와 양자화된 데이터의 분포 차이(KL 발산)를 최소화하는 스케일링 팩터를 찾아 정보 손실을 줄인다.
- Percentile Calibration
- 데이터 분포의 특정 백분위수(예: 99.99% 또는 99.999%)를 기준으로 범위를 좁혀 양자화 성능을 향상시킨다.
- Quantization Techniques
- Post-Training Quantization, PTQ
- 훈련이 끝난 모델을 가지고 양자화를 한다.
- 동적: 모델을 사용할때 양자화
- 정적: 미리 양자화를 해놓고 저장.
- 훈련이 끝난 모델을 가지고 양자화를 한다.
- Quantization-Aware Training, QAT
- 가상으로 양자화를 하고, 학습을 진행해서 모델이 양자화에 적응하도록 하는 방법.
- 양자화가 된것처럼 값을 제한하고(실제로는 높은 정밀도) 변형한 뒤, 트레이닝데이터를 그대로 사용하여 학습시킨다.
- 그렇게 모델이 가상으로 양자화된 값을 가지게 되면, 그 다음에 양자화한다.
- Weight Quantization
- 가중치만 양자화하고 활성화한수 값은 원래 정밀도를 유지한다.
- Activation-Aware Weight Quantization, AWQ
- 활성화 크기를 기반으로 중요한 가중치를 식별하여 전체 정밀도로 유지하고, 덜 중요한 가중치만 양자화하여 정확도 손실을 최소화하면서 계산 비용을 낮춘다.
- Attention-Aware Weight Quantization
- 헤시안 트레이스(?)를 사용하여 가중치 행렬의 중요도를 결정하고, 어텐션 점수에 따라 중요한 가중치는 높은 비트 정밀도로, 덜 중요한 가중치는 낮은 비트 정밀도로 할당하는 혼합 정밀도 방식을 사용한다.
- Post-Training Quantization, PTQ
LLM에서는 주로 PTQ와 QAT가 사용된다.
- PTQ는 구현이 간단하고 배포가 빠르지만 상당한 정확도 손실이 발생할 수 있다.
- QAT는 훈련 중 양자화를 시뮬레이션하여 모델이 낮은 정밀도에 적응하게 하므로 더 정확하지만, 추가훈련이 필요하다.
결론
다양한 양자화 기법의 성능은 양자화 정밀도에 따라 달라진다. GPTQ는 4비트 정밀도에서 최적의 성능을 보이지만 3비트에서는 성능이 저하됩니다 LLM-QAT는 특정 혼합 정밀도 설정(예: 4비트 가중치, 4비트 KV 캐시, 8비트 활성화)에서 더 나은 정확도를 보여준다. 따라서 양자화 기법의 성능을 최대화하기 위해 적절한 정밀도 설정을 신중하게 선택해야 합니다.
3.2 강점 분석
- 솔직히 별로.. 인터넷에서 긁어모을수 있는 지식의 나열이고, 자세하지도 않고, 연구도 없고, 제일 연구처럼 보이는 파트는 다른 논문에서 긁어온거다
- 그나마 좋은점은, 기본적인 지식이 없는상태에서 읽었을때 이런게 있구나 하고 훝어보기엔 좋다.
3.3 약점 및 개선점 분석
4. 결론
- 이게 어떻게 올라갔지