개요
vLLM은 UC Berkeley Sky Computing Lab에서 개발한 오픈소스 LLM 추론 및 서빙 엔진입니다. PagedAttention과 Continuous Batching을 핵심 기술로 하여 높은 처리량과 낮은 지연 시간을 제공합니다. 현재 PyTorch Foundation 프로젝트로 관리됩니다.
- GitHub: https://github.com/vllm-project/vllm
- 라이선스: Apache 2.0
핵심 기술
PagedAttention
- KV 캐시 메모리를 운영체제의 가상 메모리처럼 페이지 단위로 관리
- 기존 방식 대비 메모리 낭비를 크게 줄여 더 많은 요청 동시 처리 가능
Continuous Batching
- 요청이 도착하는 대로 동적으로 배치에 추가/제거
- 기존 Static Batching 대비 처리량 대폭 향상
주요 기능
- 218개+ 모델 아키텍처 지원: 모든 주요 서빙 프레임워크 중 최다
- 동시성 처리: 10명에서 100명으로 스케일해도 일관된 저지연 유지
- 양자화: FP8, INT4, AWQ, GPTQ, GGUF 지원
- 분산 추론: Tensor Parallelism, Pipeline Parallelism
- Speculative Decoding: 추론 속도 가속
- LoRA 지원: 다중 LoRA 어댑터 동시 서빙
- OpenAI 호환 API: drop-in replacement로 사용 가능
- Prefill/Decode 분리: 서로 다른 하드웨어에서 단계별 실행
- torch.compile: V1부터 기본 활성화
사용법
# 설치
pip install vllm
# 서버 실행
vllm serve meta-llama/Llama-4-Scout-17B-16E-Instruct
# Python API
from vllm import LLM
llm = LLM(model="Qwen/Qwen3-8B")
outputs = llm.generate(["Hello, world!"])지원 하드웨어
- NVIDIA GPU (CUDA): A100, H100, H200, B200 등
- AMD GPU (ROCm): MI300X 등
- Google TPU
- AWS Neuron (Trainium/Inferentia)
- CPU 추론
비교
| 특성 | vLLM | SGLang | TensorRT-LLM |
|---|---|---|---|
| 핵심 기술 | PagedAttention | RadixAttention | CUDA Graph 최적화 |
| 모델 지원 | 218+ | 다수 | NVIDIA 최적화 |
| TTFT (첫 토큰) | 우수 (동시성 높을 때) | 우수 | 최우수 (저동시성) |
| 설정 난이도 | 낮음 | 낮음 | 높음 |
| 최적 시나리오 | 범용 프로덕션 | 에이전트/RAG | 최대 GPU 효율 |