양자화 (Quantization)
양자화는 LLM의 가중치(Weights)와 활성화(Activations) 데이터의 정밀도(Precision)를 낮추어 모델의 크기를 줄이고 추론 속도를 높이는 핵심 기술입니다. 일반적으로 16비트(FP16/BF16) 모델을 4비트(INT4) 또는 그 이하로 변환하여 메모리 사용량을 1/4 수준으로 절감합니다.
주요 양자화 기법 비교 (2025년 기준)
| 기술명 | 주요 타겟 하드웨어 | 특징 | 장점 |
|---|---|---|---|
| AWQ | NVIDIA GPU | 활성화(Activation) 값을 고려하여 중요 가중치 보호 | 정확도 보존력이 높고 vLLM 서빙에 최적화 |
| GPTQ | NVIDIA GPU | 레이어별 역헤시안(Inverse-Hessian) 최적화 | 추론 속도가 매우 빠르며 기업용 솔루션에서 널리 쓰임 |
| GGUF | CPU / Apple / GPU | llama.cpp 기반의 통합 파일 포맷 |
하드웨어 범용성 최강, 로컬 PC/Mac 사용자 필수 |
| EXL2 | NVIDIA GPU | 가중치별 가변 비트율(bpw) 할당 | 극강의 추론 속도, VRAM에 맞춘 세밀한 용량 조절 |
| TurboQuant | GPU / AI 가속기 | KV 캐시 특화 극단적 데이터 비인지적(data-oblivious) 텐서 압축 | 메모리 오버헤드 없이 정확도를 보존하며 3bit까지 압축해, 긴 문맥(Long-context) 처리에 특화 |
1. AWQ (Activation-aware Weight Quantization)
- 핵심 원리: 모든 가중치가 똑같이 중요하지 않다는 점에 착안합니다. 모델 실행 시 활성화 값이 큰 ‘중요한 가중치(Salient Weights)’를 선별하여 이들만 고정밀도로 보호하고 나머지를 양자화합니다.
- 특징: GPTQ보다 모델의 일반화 성능(Perplexity)이 더 우수한 경우가 많으며, 특히 멀티모달(Vision) 모델에서 좋은 성능을 보여줍니다.
2. GPTQ (Generative Pre-trained Transformer Quantization)
- 핵심 원리: 수학적 최적화를 통해 양자화 시 발생하는 오차를 최소화하는 정통 PTQ(Post-Training Quantization) 방식입니다.
- 특징: 가장 성숙한 기술로, TensorRT-LLM과 같은 엔터프라이즈 프레임워크에서 표준으로 사용됩니다. 4비트 양자화에서 가장 안정적인 성능을 보장합니다.
3. GGUF (GPT-Generated Unified Format)
- 핵심 원리: 가중치와 메타데이터를 하나의 파일(
.gguf)에 담는 효율적인 바이너리 포맷으로,llama.cpp라이브러리를 기반으로 합니다. - 로컬 PC에서 강력한 이유:
- 하이브리드 오프로딩 (GPU + CPU/RAM): GGUF의 최대 강점입니다. 모델 전체가 GPU 메모리(VRAM)에 들어가지 않더라도, 레이어 단위로 쪼개어 일부는 GPU가, 나머지는 일반 시스템 메모리(RAM)와 CPU가 처리하도록 설정할 수 있습니다. 이는 고가의 그래픽카드가 없는 환경에서도 대형 모델을 돌릴 수 있게 해줍니다.
- Apple Silicon 최적화: Mac의 통합 메모리 구조와 Metal API를 완벽하게 지원하여, MacBook 등에서 놀라운 성능을 보여줍니다.
- 하드웨어 범용성: NVIDIA GPU뿐만 아니라 AMD, Intel, 심지어 GPU가 없는 구형 PC의 CPU에서도 추론이 가능합니다.
- 단일 파일 배포: 모델 구동에 필요한 모든 설정값이 파일 하나에 포함되어 있어, 복잡한 라이브러리 설치 없이 실행 파일 하나만으로도 모델을 즉시 구동할 수 있습니다.
4. EXL2 (ExLlamaV2)
- 핵심 원리: GPTQ의 확장판으로, 가중치마다 중요도에 따라 다른 비트(예: 4.5bpw, 3.2bpw)를 할당하는 가변 비트율 기술을 사용합니다.
- 특징: 로컬 NVIDIA GPU 환경에서 가장 빠른 토큰 생성 속도를 보여줍니다. VRAM 용량에 맞춰 소수점 단위로 모델 크기를 조절할 수 있습니다.
5. TurboQuant (KV 캐시 극단적 압축)
- 핵심 원리: Google Research에서 제안한 최신 기법으로, 가중치보다는 주로 KV 캐시(Key-Value Cache)와 활성화(Activation) 데이터의 메모리 병목을 극복하기 위한 혁신적인 양자화 알고리즘입니다. 랜덤 회전(PolarQuant)을 통해 데이터 형태를 최적화한 뒤 양자화를 거치고, 추가적으로 1비트 에러 보정(QJL)을 수행하는 2단계 과정으로 구성됩니다.
- 특징: 별도로 양자화 상수를 저장해야 하는 기존 방식의 메모리 오버헤드를 아예 제거했습니다. 사실상 성능 저하 없이(Zero accuracy drop) KV 캐시 데이터를 3-bit까지 6배 이상 압축시키며 어텐션 스피드도 증대시킵니다. 대규모 파라미터를 가진 모델이 긴 입력 문맥(Long-context)을 다룰 때 최고의 잠재력을 발휘합니다.
양자화 선택 가이드
- 상용 서비스 (vLLM, TensorRT): AWQ 또는 GPTQ (4-bit)를 권장합니다.
- 로컬 PC / Mac (llama.cpp): GGUF 포맷을 사용하는 것이 가장 효율적입니다.
- 최고의 추론 속도 (NVIDIA GPU): EXL2를 사용하여 VRAM 한계까지 성능을 끌어올리십시오.
- 저사양 환경: 최신 GGUF/EXL2의 2비트급(2.4bpw~) 양자화를 통해 대형 모델 구동을 시도해 볼 수 있습니다.
- 대규모 긴 문맥(Long-context) 처리: KV 캐시가 병목이 되는 매우 긴 문서나 RAG 시스템 등에서는, TurboQuant의 극단적 압축 방식의 도입을 고려하여 컨텍스트 수용량을 획기적으로 향상시킬 수 있습니다.