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 형식으로 정리하죠—비트폭, 스케일링 방식, 어떤 연산을 포함했는지, 캘리브레이션 범위를 명시해 재현 가능하게요."

함께 읽으면 좋은 용어

개념 지도

관측 가능성인간 피드백 강…임베딩자연어 처리크로스 인코더

최근 뉴스에서

참고 자료

도움이 되었나요?