vLLM 소개 (Welcome to vLLM)
vLLM에 오신 것을 환영해요
vLLM은 LLM 추론(inference)과 서빙을 위한 빠르고 쓰기 쉬운 라이브러리예요. 흔히 "LLM을 서빙한다"고 하면, 사내 모델을 만들어 두고 많은 사용자가 그 모델을 쓸 수 있게 API로 띄워 두는 일을 떠올리면 돼요. vLLM은 그 일을 굉장히 빠르게, 그리고 큰 비용 없이 해 주는 도구랍니다.
처음에는 UC Berkeley의 Sky Computing Lab에서 개발됐는데, 지금은 2000명이 넘는 기여자가 참여하는 오픈소스 AI 프로젝트로 성장했어요. 여러 학계 기관과 기업이 함께 만들고 유지하고 있죠.
어디서부터 시작할까요
vLLM을 어디서부터 접근하느냐는 사용자 유형에 따라 달라져요.
- 오픈소스 모델을 vLLM으로 돌려 보는 게 목표라면, 빠른 시작 가이드부터 보는 걸 추천해요.
- vLLM으로 애플리케이션을 만드는 게 목표라면, 사용자 가이드부터 시작하면 좋고요.
- vLLM 자체를 개발하는 게 목표라면, 개발자 가이드가 정답이에요.
개발 소식이 궁금하다면 로드맵과 릴리스를 참고하면 돼요.
vLLM이 빠른 이유
- 업계 최고 수준의 서빙 처리량을 내요.
- 어텐션의 키(K)와 값(V) 메모리를 페이지 단위로 관리하는 PagedAttention 덕분에 메모리를 효율적으로 써요.
- 들어오는 요청을 실시간으로 묶는 연속 배치(continuous batching), 청크 단위 프리필(chunked prefill), 프리픽스 캐싱(prefix caching)을 지원해요.
- 조각단위·전체 CUDA/HIP 그래프로 빠르고 유연한 모델 실행을 해요.
- 양자화를 폭넓게 지원해요. FP8, MXFP8/MXFP4, NVFP4, INT8, INT4, GPTQ/AWQ, GGUF, compressed-tensors, ModelOpt, TorchAO와 그 이상의 기법들까지요.
- FlashAttention, FlashInfer, TRTLLM-GEN, FlashMLA, Triton 같은 최적화된 어텐션 커널을 써요.
- CUTLASS, TRTLLM-GEN, CuTeDSL로 다양한 정밀도의 GEMM/MoE 커널을 최적화했어요.
- n-gram, suffix, EAGLE, DFlash 같은 스큘러티브 디코딩(speculative decoding)을 지원해요.
- torch.compile로 커널 자동 생성과 그래프 변환을 해요.
- 프리필·디코드·인코드를 분리하는 disaggregated 서빙도 해요.
유연하고 쓰기 쉬운 이유
- 널리 쓰이는 Hugging Face 모델과 매끄럽게 통합돼요.
- 병렬 샘플링, 빔 서치 같은 다양한 디코딩 알고리즘으로 높은 처리량의 서빙을 해요.
- 분산 추론을 위해 텐서·파이프라인·데이터·전문가·컨텍스트 병렬을 지원해요.
- 출력을 스트리밍으로 보낼 수 있어요.
- xgrammar나 guidance로 구조화된 출력(JSON 등)을 만들 수 있어요.
- 도구 호출과 reasoning 파서를 제공해요.
- OpenAI 호환 API 서버에 더해 Anthropic Messages API와 gRPC도 지원해요.
- 밀집(dense)·MoE 레이어 모두에 효율적인 멀티-LoRA를 지원해요.
- NVIDIA GPU, AMD GPU, x86/ARM/PowerPC CPU를 지원하고, 추가로 Google TPU, Intel Gaudi, IBM Spyre, Huawei Ascend, Rebellions NPU, Apple Silicon, MetaX GPU 등 다양한 하드웨어 플러그인을 지원해요.
지원하는 모델
vLLM은 HuggingFace의 200개 이상 모델 아키텍처를 매끄럽게 지원해요.
- 디코더 전용 LLM (예: Llama, Qwen, Gemma)
- 전문가 혼합(MoE) LLM (예: Mixtral, DeepSeek-V3, Qwen-MoE, GPT-OSS)
- 하이브리드 어텐션·상태공간 모델 (예: Mamba, Qwen3.5)
- 멀티모달 모델 (예: LLaVA, Qwen-VL, Pixtral)
- 임베딩·검색 모델 (예: E5-Mistral, GTE, ColBERT)
- 보상·분류 모델 (예: Qwen-Math)
전체 지원 모델 목록은 여기에서 확인할 수 있어요.
더 알고 싶다면 PagedAttention을 소개한 vLLM 발표 블로그 글과 vLLM 논문을 추천해요. 연속 배치가 어떤 원리로 처리량을 높이는지 궁금하다면 Cade Daniel 등의 관련 글도 도움이 돼요.