Post-Training Quantization과 Quantization-Aware Training의 차이

Youngho LEE·2025년 10월 19일
  • PTQ: 학습이 끝난 FP32 모델을 변환기(TFLite Converter, TensorRT 등)에서 캘리브레이션으로 스케일/제로포인트를 추정해 INT8/FP16으로 내린다. 정확도는 “대체로 적은” 손실로 모델 크기·지연을 줄이는 게 목표이다.
  • QAT: 학습 단계에 가짜양자화 노드를 삽입해 순전파에서 양자화 효과를 모사하고, 역전파로 양자화 민감도를 학습시켜 저정밀 연산에 강인한 파라미터를 얻는다. PTQ 대비 정확도 손실을 크게 줄이는 것이 일반적이다.
구분PTQ (Post-Training Quantization)QAT (Quantization-Aware Training)
핵심 아이디어학습 FP32 모델을 정적/동적 보정으로 INT8/FP16 등으로 변환학습 가짜양자화(fake quant)로 저정밀 연산을 모사하며 재학습
데이터/리소스소량 캘리브레이션 데이터만 필요, 재학습 불필요 → 빠른 배포추가 학습 필요(수~수십 epoch 미세튜닝), 리소스 더 필요
정확도대체로 약간 손실(작업/모델에 따라 편차)일반적으로 PTQ 대비 정확도 손실 크게 회복
난이도/시간쉬움·빠름, 배포 전 마지막 최적화에 적합설정·훈련 비용↑, 하지만 정확도 요구치 높을 때 유리
하드웨어대부분의 런타임/가속기에서 지원 (TFLite, TensorRT, OpenVINO 등)동일하게 지원. 특히 TensorRT/torch-tensorrt가 QAT 산출물을 잘 최적화
대표 유즈케이스엣지·모바일, PoC, 재학습 여건이 없을 때프로덕션에서 INT8 속도 + FP32 근접 정확도가 필수일 때


출처
tensorflow_ptq
tensorflow
GoogleAI_dev
NVIDIA
pytorch
pytorch

profile
개발자

0개의 댓글