개요
Quantization은 신경망의 가중치나 활성값을 높은 정밀도의 부동소수점 대신 더 적은 비트로 표현해 저장 공간과 계산 비용을 줄이는 기법 계열이다. 낮은 정밀도는 효율을 높일 수 있지만 모델 정확도와 하드웨어 지원 사이의 절충이 필요하다.
대규모 언어 모델
GPTQ 연구는 대형 생성 Transformer의 가중치를 학습 이후 낮은 비트 폭으로 양자화하는 방법을 제안하고, 대규모 모델의 메모리 요구를 크게 낮추면서 성능 저하를 제한하는 문제를 다뤘다.[1]
관계
Quantization은 LLM을 더 작은 메모리 환경에서 실행하려는 대표적 압축 방법 중 하나다. GPT 같은 모델 계열에도 적용될 수 있지만, 어떤 정밀도와 알고리즘이 적합한지는 모델과 하드웨어에 따라 달라진다.
계산 예제: 가중치 원시 용량과 실행 메모리
다음은 정확히 70억 개의 가중치를 가진 가상 모델의 단순 계산이다. 가중치 하나를 16비트, 즉 2바이트로 저장하면 14,000,000,000바이트 = 14GB이고, 4비트씩 빈틈없이 저장하면 3,500,000,000바이트 = 3.5GB다. 여기서 GB는 10억 바이트인 십진 단위이며 GiB와 다르다. 원시 가중치의 비트 수만 비교한 것이므로 실제 장비에서 3.5GB만 있으면 실행된다는 뜻은 아니다.
스케일·영점·정렬과 일부 높은 정밀도 값, KV 캐시, 활성값, 임시 작업 공간과 실행기 비용이 추가될 수 있다. 가중치를 4비트로 바꾸었다고 모든 연산·활성값·KV 캐시도 4비트가 되는 것은 아니다. 장비 메모리에서는 로딩에 성공하는지와 실제 동시 요청을 처리할 여유가 있는지를 따로 확인한다.
계산 예제: 전체 정확도와 긴 질문의 손실
가상 평가 질문 100개를 짧은 질문 80개와 긴 질문 20개로 나누어 보자. 기준 모델이 각각 77개와 18개를 맞히면 95 / 100 = 95%다. 양자화 모델이 79개와 12개를 맞히면 전체는 91%로 4%포인트 하락한다. 그러나 긴 질문 정답률은 18 / 20 = 90%에서 12 / 20 = 60%로 30%포인트 떨어진다.
이는 특정 양자화 방식의 실제 성능이 아니라 작은 집단의 손실을 평균이 가릴 수 있다는 설명이다. 한국어·코드·긴 입력·부정과 예외를 나누고 실제 사용 비중과 오류 영향을 함께 본다. 입력 길이와 평가 질문을 고정해야 모델 압축의 영향을 비교하기 쉽다.
교정 자료와 최종 평가 자료를 분리하기
양자화 설정을 정하는 교정 자료는 실제 입력 분포를 대표하도록 구성하되, 설정을 선택하는 데 쓴 자료를 최종 성능 증거로 그대로 재사용하지 않는다. 원본 모델 버전, 알고리즘, 비트 폭·그룹 조건, 교정 자료 버전, 토크나이저와 실행기를 기록한다. 자료 출처를 남기면 특정 언어나 업무 자료가 빠졌는지 확인할 수 있다.
비교할 때는 같은 질문과 생성 조건으로 정답·예외 조건·출처 인용을 먼저 확인하고 첫 토큰 시간과 p95, 처리량과 메모리를 측정한다. 낮은 비트 수가 항상 더 빠른 것은 아니며 커널 지원·변환 비용·장비와 동시성에 따라 실제 결과가 달라진다. 원본 또는 검증된 이전 묶음을 복구 지점으로 유지한다.
가중치 양자화 연구와 적용 한계
GPTQ ↗는 학습 이후 생성 Transformer의 가중치를 낮은 비트로 표현하는 방법을 제안했다.[1] AWQ ↗는 활성값 정보를 활용하는 낮은 비트의 가중치 양자화를 다룬다.[2] 각 논문의 모델·자료·장비 조건을 확인하고, 연구의 수치를 현재 서비스의 보장으로 옮기지 않는다.
추론 중 메모리가 부족하면 가중치 외에 문맥 길이·캐시·동시 요청을 점검한다. 품질이 떨어지면 우선 같은 원본과 평가 조건을 비교하고, 특정 언어·긴 입력에만 오류가 집중되는지 살핀다. 모델 파일 크기 하나로 배포 품질을 판단하지 않는다.