-
[논문 리뷰] 38. GPTQ: ACCURATE POST-TRAINING QUANTIZATION FOR GENERATIVE PRE-TRAINED TRANSFORMERS논문 2024. 11. 13. 20:23
주요 포인트
GPTQ(GPT Quantization)는 대형 언어 모델의 추론 비용을 획기적으로 줄이기 위해 사후 양자화(post-training quantization) 방식을 적용하여 3~4비트 양자화를 지원하는 방법론이를 통해 수백억 개의 파라미터를 가진 대형 모델(GPT-3, GPT-4 등)을 단일 GPU에서 효율적으로 추론할 수 있도록 하며, 특히 16비트 모델 대비 약 3.25배에서 4.5배까지 빠른 속도를 기록하면서도 정확도 손실을 최소화
GPTQ는 학습 완료 후에 모델을 양자화하므로 추가 학습이 필요하지 않고, 특히 2비트와 같은 극단적인 양자화에서도 높은 정확도를 유지할 수 있음
1. 배경: 대형 언어 모델의 비용 문제
대형 언어 모델(LLM)은 파라미터 수가 방대하여 높은 성능을 보이지만, 수백억 개의 파라미터를 가진 모델은 매우 큰 연산 자원을 필요
특히, 파라미터 수가 증가할수록 추론을 위한 GPU 메모리와 연산 속도 요구가 기하급수적으로 증가
예를 들어, GPT-3와 같은 175B 모델을 사용하려면 여러 대의 고사양 GPU가 필요하며, 단일 GPU에서는 효율적인 추론이 불가능하다는 문제
기존의 모델 압축 및 양자화 기법은 주로 8비트나 16비트를 사용하며, 메모리 절감 효과가 제한적
이러한 한계를 해결하기 위해 사후 양자화 방식을 기반으로 3비트 및 4비트 양자화에서도 정확도 손실을 최소화할 수 있는 GPTQ 기법이 개발
2. GPTQ의 주요 특징
GPTQ는 사후 양자화(post-training quantization) 방식을 통해, 추가 학습 없이도 학습이 완료된 모델을 3~4비트로 양자화하여 자원 효율성을 극대화
2.1 사후 양자화 방식으로 추가 학습 불필요
GPTQ는 모델 학습을 완료한 이후에 양자화를 진행하는 사후 양자화 방식을 채택하여, 양자화 과정에서 추가 학습이나 파인튜닝이 필요 없음
이러한 특성은 GPU 사용량과 계산 비용을 절감하고, 모델을 다양한 환경에서 쉽게 배포할 수 있도록 함
2.2 3~4비트 양자화로 정확도 손실 최소화
GPTQ는 3비트와 4비트 양자화를 지원하며, 기존의 8비트 양자화보다 훨씬 적은 자원을 사용하면서도 성능 손실을 거의 발생시키지 않음
또한, 극단적인 2비트 양자화에서도 GPTQ는 상대적으로 높은 정확도를 유지할 수 있어, 메모리 효율을 최대화하면서 다양한 장치에서 모델을 효과적으로 사용할 수 있게 함
2.3 연산량 절감 및 처리 속도 향상
GPTQ는 고성능 모델을 단일 GPU에서도 처리할 수 있도록 하여, 기존 대비 연산 속도를 크게 향상
예를 들어, GPT-3 175B 모델을 단일 A100 GPU에서 3비트로 양자화한 경우, 16비트 FP16 모델을 다수의 GPU에서 사용하는 것보다 훨씬 빠른 속도를 기록
이는 대규모 데이터 처리가 필요한 상황에서 특히 유리
3.1 Row-Wise Quantization
- OBQ에서의 오차가 작은 순서가 아닌 랜덤 순서로 양자화해도 LLM 양자화 성능은 비슷하므로, OBQ 방법처럼 greedy하게 update하는 방법은 비효율적임.
- OBQ는 1개 update 시마다 잔여 weight와 Hessian Matrix를 모두 Update 수행하는데, weight의 모든 행에서 내부값들을 동일한 순서로 양자화하면, 동일하게 유지되어 OBQ에서처럼 Hessian Matrix를 Update할 필요가 없음.
3.2 Cholesky Reformulation
- Block 단위로 update를 수행하는 경우, lazy 한 update 과정이므로, Inverse Hessian Matrix가 Indefinite(부정부호) Matrix가 되어 가중치 업데이트가 잘못될 수 있음.
- Hessian Matrix = 2XXT 이므로, cholesky decomposition 이 가능하여, H를 Cholesky form 으로 변환이 가능함.
- Cholesky form은 삼각행렬이라서 Hessian Matrix를 그대로 사용하는 것보다 훨씬 안정적임
- Hessian Matrix를 Cholesky form 으로 변환하는 방법 제안
3. GPTQ의 실험 결과 및 성능 지표
GPTQ는 다양한 대형 언어 모델에 적용되어 그 성능이 검증되었습니다. 특히, 사후 양자화 방식의 효율성과 자원 절감 효과는 여러 실험을 통해 입증
3.1 속도 및 효율성
GPTQ는 16비트 추론에 비해 약 3.25배(A100 GPU)에서 4.5배(A6000 GPU)까지 빠른 속도를 기록
이는 모델이 양자화되면서도 복잡한 연산 과정을 효과적으로 단축했기 때문
예를 들어, GPT-3 175B 모델을 3비트로 양자화하여 단일 A100 GPU에서 실행한 경우, 5개 GPU를 사용해야 하는 16비트 FP16 추론과 비교해도 속도에서 우위
3.2 메모리 절감 및 압축률
GPTQ는 기존의 8비트 양자화 방식보다도 높은 압축률을 제공
3비트 양자화 방식에서 상용화에 충분한 수준의 성능을 유지하면서도 메모리 사용량을 대폭 줄였으며, 2배 이상의 메모리 절감 효과이는 고사양 하드웨어가 없는 환경에서도 고성능 모델을 운영할 수 있도록 지원
OPT 및 BLOOM 모델을 각각 4비트와 3비트 정밀도로 양자화했을 때의 성능
GPTQ 양자화 방식(빨간색)과 FP16(검은색 점선) 그리고 'round-to-nearest' (RTN, 파란색) 방식의 성능을 비교하여 표현
- 왼쪽 그래프 (OPT 모델군): OPT 모델을 4비트로 양자화했을 때 GPTQ 방식은 FP16 성능에 매우 근접한 성능
반면, RTN 방식은 모델의 파라미터 수가 증가할수록 성능이 급격히 악화
특히, 110억 파라미터 이상의 모델에서는 RTN의 성능 저하가 두드러짐 - 오른쪽 그래프 (BLOOM 모델군): BLOOM 모델을 3비트로 양자화했을 때도 GPTQ 방식이 FP16에 근접한 성능을 유지
RTN 방식은 모델의 파라미터 수가 증가함에 따라 성능 변동이 크며, 특히 571억 파라미터에서 퍼플렉시티가 급격히 악화되는 것을 볼 수 있음
'논문' 카테고리의 다른 글