Quantization양자화
쉽게 이해하기
대규모 신경망은 각 층에서 아주 많은 숫자를 읽고 곱해야 해 메모리 대역폭과 연산 비용이 빠르게 커진다. 그 결과 GPU 메모리에 모델과 활성값을 다 담기 어렵거나, 지연이 늘어 서비스 품질이 흔들리곤 한다. 저장 공간과 네트워크 전송 부담도 함께 증가한다. 이 문제를 줄이는 방법이 양자화다. 사진의 색상 팔레트를 줄이면 파일이 작아지듯, 모델의 숫자를 일정 간격의 '칸'에 맞춰 반올림해 더 작은 정수로 바꾼다. 예를 들어 INT8로 근사하면 부동소수 표현보다 훨씬 적은 메모리로 값을 담을 수 있고, 저정밀 정수 연산을 활용해 처리량을 높일 수 있다. 대신 반올림으로 정보가 일부 사라지는 양자화 오차와 평균이 이동하는 편향이 생길 수 있어 품질 점검이 필요하다. 구체적으로는 값의 범위를 정해 스케일을 곱하고 오프셋을 더한 뒤 가장 가까운 정수로 반올림한다(범위는 보통 데이터의 일부로 캘리브레이션한다). 여기서 0을 어디에 맞추느냐(대칭/비대칭)에 따라 정확도와 가속 이점이 달라진다. 예를 들어 ReLU 이후 활성값은 양수로 치우쳐 비대칭 스케일이 정확도에 유리할 수 있지만, 행렬곱 결과를 되돌릴 때 추가 보정이 필요해 연산 오버헤드가 생길 수 있다. PTQ·QAT·혼합 정밀 같은 적용 방식 비교는 아래 '한눈에 비교'를 참고하라.
비유와 예시
- RTX 4070/4080 노트북에서 LLM INT8 서빙: 일부 평가에서는 GPT-2, LLaMA-2-7B-Chat, Qwen1.5-1.8B-Chat을 INT8 PTQ로 실행해 FP16 대비 추론 시간과 메모리 사용을 낮췄다. 다만 코드 생성은 텍스트보다 민감해 유창성·구조 저하가 관찰되기도 했다.
- CPU 오프로딩이 섞인 서버 구성: 일부 텐서가 CPU로 이동하는 설정에서는 INT8의 이점이 줄거나 상쇄되어 전체 지연이 기대만큼 개선되지 않을 수 있다. 이러한 구성은 비교에서 별도 취급되는 경우가 있다.
- 엣지 단말의 ReLU-중심 네트워크: 활성값이 양수로 치우친 레이어에서는 비대칭 양자화가 정확도에 유리할 수 있다. 하지만 결과를 복원하기 위한 보정 항 계산이 추가되어 행렬곱 주변에 오버헤드가 생기므로, 속도 이득은 하드웨어·설계에 따라 달라진다.
한눈에 비교
| PTQ(사후 양자화) | QAT(양자화 인지 학습) | 혼합 정밀(레이어별 비트 혼합) | |
|---|---|---|---|
| 데이터/학습 필요 | 재학습 없음·캘리브레이션 필요 | 다에폭 재학습 필요 | 재학습/탐색 또는 규칙 기반 선택 |
| 정확도 복원력 | 낮은 비트폭에서 하락 위험 | 정확도 보정 여지 큼 | 민감 레이어는 고정밀 유지로 절충 |
| 하드웨어/가속 | 정수 연산 활용 쉬움 | 추론 이점은 유사, 학습 비용 큼 | 하드웨어 제약 맞춤 가속 가능 |
| 적용 맥락 | 빠른 배포·데이터 부재 | 품질 최우선·리소스 충분 | 메모리·연산 병목만 선별 완화 |
| 설계 포인트 | 스케일·오프셋·범위 캘리브레이션 | 양자화 효과를 학습 중 모사 | 비트폭/연산 대상을 레이어별 조절 |
데이터·시간이 제한되면 PTQ, 품질이 최우선이면 QAT, 제약에 맞춰 타협하려면 혼합 정밀을 쓰며 세부 오해와 주의점은 아래 주의사항을 참고하라.
어디서 왜 중요한가
- 저정밀 연산 활용 확대: 저정밀 정수 연산을 지원하는 하드웨어에서 양자화는 처리량을 높이고 메모리 트래픽과 저장 공간을 줄이는 수단으로 쓰인다.
- LLM INT8 평가 보고: 특정 모델과 RTX 4070/4080 노트북 GPU 설정에서 INT8 PTQ가 FP16 대비 추론 시간·메모리를 줄였으나, 코드 생성은 텍스트보다 민감해 품질 저하가 관찰된 사례가 있다.
- 대칭/비대칭 선택의 비용: ReLU 이후 활성처럼 비대칭 분포에서는 비대칭 양자화가 정확도에 유리할 수 있으나, 결과 복원을 위한 보정 연산이 추가되어 가속 이점이 줄 수 있다(특히 가중치의 비대칭 처리 시).
- 정확도 편차의 크기: 같은 비트폭이라도 어떤 연산을 양자화했는지, 스케일링 방식을 어떻게 잡았는지 등에 따라 정확도가 수 퍼센트포인트 차이 날 수 있다.
- 보고 관행의 정교화: 방법 비교의 혼선을 줄이기 위해 설계 선택과 제약을 구조화해 기록하는 quantization cards가 제안되었다.
자주 하는 오해
- ❌ 오해: 양자화만 하면 무조건 빨라진다 → ✅ 실제: 비대칭 설계는 보정 오버헤드가 있고, CPU 오프로딩이 섞이면 이점이 줄어 지연 개선이 제한될 수 있다.
- ❌ 오해: INT8이면 FP16과 품질이 거의 같다 → ✅ 실제: 모델·작업·설정에 따라 다르며, 특히 코드 생성처럼 민감한 과제에서 유창성이나 구조가 떨어질 수 있다.
- ❌ 오해: 비트 수만 낮추면 된다 → ✅ 실제: 대칭/비대칭, 어떤 연산을 양자화할지, 혼합 정밀 제약, 캘리브레이션 데이터 등 설계 선택이 정확도와 가속 가능 범위를 좌우한다.
대화에서는 이렇게
- "이번 배포는 INT8 PTQ로 갑니다. 먼저 캘리브레이션용 데이터 서브셋으로 범위를 추정하고, 배치·지연 프로파일링부터 확인합시다."
- "활성은 비대칭, 가중치는 per-channel 스케일로 가정하고 A/B 테스트해요. 민감 레이어는 고정밀 예외도 비교하죠."
- "벤치마크는 텍스트와 코드 생성을 분리합니다. 코드 쪽이 민감하다는 보고가 있어 지표를 따로 보겠습니다."
- "서버에서 CPU offloading이 켜져 있으면 INT8 이득이 상쇄될 수 있어요. 동일 조건으로 온/오프 비교를 남겨주세요."
- "결과는 quantization card 형식으로 정리하죠—비트폭, 스케일링 방식, 어떤 연산을 포함했는지, 캘리브레이션 범위를 명시해 재현 가능하게요."
함께 읽으면 좋은 용어
참고 자료
- Confounding Tradeoffs for Neural Network QuantizationarXiv
대칭/비대칭, per-channel 등 설계 트레이드오프 정리.
- Quantization without TearsarXiv
간단 구조로 양자화 정확도 손실 보완 제안(QwT).
- Art and Science of Quantizing Large-Scale Models: A Comprehensive OverviewarXiv
대규모 모델 양자화 개요—PTQ·QAT·방법 비교.
- Quantized Transformers in Practice: Benchmarking Full- and Low-Precision Inference
LLM INT8 PTQ의 시간·메모리·품질 변화 평가.
- Quantization in AI: Techniques, Benefits, Trade-offs & Modern Architectures
PTQ·QAT 개괄과 배포 맥락, 활용 환경 정리.
- The Complete Guide to LLM Quantization with vLLM - Jarvis Labs
vLLM 서빙에서 양자화 옵션과 벤치 방법.