양자화(Quantization)는 딥러닝 모델의 크기를 줄이고 계산 효율성을 높이는 기술입니다. 원래 딥러닝 모델은 부동소수점(32비트 또는 16비트) 데이터를 사용하지만, 양자화를 통해 이 데이터를 정수(8비트 또는 4비트 등)로 변환합니다. 이를 통해 모델이 더 적은 메모리를 사용하고, 추론 속도를 높일 수 있습니다.
왜 양자화가 중요한가요?
예를 들어, 원래 "32.7621"이라는 숫자가 있다면, 양자화를 통해 "33"으로 단순화해 저장하고 계산합니다.
이때, 모델의 성능(정확도)을 최대한 유지하면서 경량화를 추구하는 것이 목표입니다.
양자화는 두 가지 주요 방법으로 진행됩니다.
Post-Training Quantization (PTQ)
Quantization-Aware Training (QAT)
주요 특징:
GGUF는 CPU 기반 환경에서 동작하도록 설계된 최신 양자화 기술입니다. llama.cpp에서 많이 사용됩니다.
CPU에서 효율적인 메모리 사용과 빠른 추론 속도를 제공합니다.
장점:
단점:
예시:
→ CPU 서버에서 대규모 언어 모델을 실행해야 할 때 GGUF로 양자화된 모델을 사용하면 GPU 없이도 실행 가능합니다.
주요 특징:
장점:
단점:
예시:
→ GPT 모델을 학습할 때 bitsandbytes를 사용하면, GPU 메모리 부족 문제를 해결할 수 있습니다.
주요 특징:
활성화 값(activation)과 가중치(weight)를 동시에 고려하여 양자화를 진행합니다.
이는 더 정밀한 결과를 제공하며, 특정 작업에 맞게 모델을 최적화할 수 있습니다.
장점:
단점:
예시:
→ 이미지 분류 모델에서 AWQ를 적용하면, 양자화 후에도 높은 정확도를 유지할 수 있습니다.
주요 특징:
장점:
단점: