콘텐츠로 이동

vLLM 양자화 (INT4 / INT8 / AWQ / GPTQ)

개요

큰 모델일수록 가중치가 차지하는 메모리가 커서 GPU에 안 들어가는 경우가 많아요. 양자화(quantization) 는 모델의 숫자 정밀도를 낮춰 메모리 사용을 줄이는 기법이라, 정밀도는 조금 잃는 대신 더 넓은 기기에서 큰 모델을 돌릴 수 있게 합니다. vLLM은 FP8부터 INT4에 이르는 다양한 양자화 형식을 지원해요. 이 페이지는 그 형식들이 무엇을 뜻하는지, 언제 어떤 걸 선택하는지를 공식 문서 기준으로 설명합니다.

핵심 개념

양자화가 하는 일 — 정밀도와 메모리의 교환

공식 문서는 양자화를 "모델 정밀도를 더 작은 메모리 footprint와 맞바꾸는 일"로 정의해요. 가중치를 16비트(FP16) 대신 8비트(INT8)나 4비트(INT4)로 저장하면 메모리가 절반·4분의 1로 줄어요. 그만큼 더 큰 모델을 한 GPU에 올리거나, 같은 자원으로 더 많은 요청을 처리할 수 있어요. 다만 정밀도가 낮아지면 출력 품질에 영향을 줄 수 있어서, 어느 수준에서 허용할지는 측정이 필요해요.

vLLM이 지원하는 형식

vLLM은 상황에 맞는 여러 양자화 형식을 지원합니다. 그 바구니가 꽤 넓어요.

  • INT8 / INT4 — 가중치를 8비트·4비트로 내리는 가장 기본적인 정수 양자화예요.
  • GPTQ / AWQ — 모델을 먼저 양자화해 두고, 추론 시엔 그 양자화된 가중치를 그대로 쓰는 방식이에요. GPTQ는 4비트 양자화의 대표 주자이고, AWQ는 좀 더 빠른 커널로 알려져 있어요.
  • FP8 / MXFP8 / NVFP4 — NVIDIA 신형 GPU(예: Hopper·Blackwell)에서 쓰는 비트 폭 축소 형식이에요.
  • GGUF — llama.cpp 생태계에서 쓰는 형식이라, CPU·엣지 실행과 잘 어울려요.
  • compressed-tensors, ModelOpt, TorchAO — 형식 자체보다 "어떻게 변환·적용할지"를 다루는 프레임워크 수준 지원이에요.

시작은 LLM Compressor

문서는 vLLM 배포용 모델 최적화를 시작하려면 LLM Compressor 라이브러리를 쓰라고 안내해요. FP8, INT8, INT4 등 여러 형식의 양자화를 지원해서, 모델을 먼저 LLM Compressor로 압축한 뒤 vLLM으로 서빙하는 흐름이 일반적이에요.

어떤 걸 고르나

형식 선택은 정밀도 기준이 아니라 하드웨어·속도 기준이에요. 같은 INT4도 GPTQ냐 AWQ냐에 따라 커널 지원이 달라지고, 새 GPU를 쓸 수 있으면 FP8이 기본값으로 자리 잡는 경우가 많아요. 결국 "어느 GPU에서, 얼마의 정밀도로, 어느 속도를 원하느냐"에 따라 정해집니다.

실제 적용 (데이터스케쳐스)

  • GPU 메모리 절감 — INT4/INT8 양자화로 더 적은 GPU로 더 큰 생성 모델을 서빙하는 방향을 검토해요. 자체 GPU 비용을 낮추는 핵심 수단이에요.
  • 소형 온디바이스 모델 — GGUF 형식은 CPU·엣지 실행과 잘 맞아서, 경량 모델을 로컬로 돌릴 때 고려해요.
  • 검증 시점 — 모델별로 양자화가 품질·속도에 미치는 영향이 다르기 때문에, 도입 시점에 우리 모델과 GPU로 측정해 형식·수준을 확정해요.

양자화 형식의 목록과 권장 흐름은 공식 문서 기준이지만, "어느 GPU에서 어느 형식이 최적인지"는 하드웨어에 따라 달라져요. 구체 수치는 배포 환경에서 확인해야 해요.

더 알아보기