양자화 개요
양자화 개요 (Quantization Overview)
큰 모델을 다룰 때 가장 먼저 부딪히는 벽이 메모리예요. 양자화(quantization)는 가중치를 더 낮은 정밀도로 저장해서 모델을 로딩·사용할 때 필요한 메모리를 줄이면서, 가능한 한 정확도를 보존하려는 기법입니다. 이 가이드에서는 트랜스포머(Transformers)가 지원하는 양자화 방법의 전반을 살펴봐요.
양자화란?
양자화는 가중치를 더 낮은 정밀도로 저장해서 모델 로딩·사용 시 메모리 요구량을 낮추면서, 가능한 한 정확도를 보존하는 기법이에요. 가중치는 보통 전체 정밀도(fp32) 부동소수점으로 저장되지만, 오늘날 모델이 워낙 커서 반정밀도(fp16 또는 bf16)도 점점 많이 쓰입니다. 어떤 양자화 방법은 정수 표현(예: int8, int4)으로까지 더 낮출 수 있어요.
Transformers는 각각 장단점이 있는 여러 양자화 방법을 지원하므로, 여러분의 사용 사례에 맞는 최선의 방법을 고를 수 있습니다. 어떤 방법은 더 높은 정확도와 극단적 압축(1-2bit)을 위해 캘리브레이션(calibration)이 필요한 반면, 어떤 방법은 온더플라이(on-the-fly) 양자화로 바로 동작합니다.
방법 비교표
아래 표를 참고해 하드웨어와 양자화 비트 수에 따라 방법을 고르세요.
(🟢 = 지원, 🔴 = 미지원, 🟡 = 제한적 지원, ? = 미확인)
리소스
양자화가 처음이라면 DeepLearning.AI와 협업해 만든 초보자 친화적 양자화 강좌를 추천해요.
사용자 친화적 양자화 도구
친숙한 양자화 경험을 원한다면 다음 커뮤니티 Space와 노트북을 쓸 수 있어요.
더 알아보기 (Learn more)
- 비트 단위 구체적 방법: bitsandbytes, GPTQ, GGUF, AWQ
- Transformers에서의 양자화 클래스: Main classes / Quantization