Blog
vLLM 이란 무엇인가?
vLLM은 대규모 언어 모델(LLM)의 추론 성능을 획기적으로 향상시키기 위한 고성능 엔진입니다.
2025년 05월 07일

vLLM 이란 무엇인가?
vLLM은 2023년 초부터 개발이 시작된 오픈소스 프로젝트입니다. 이 프로젝트는 미국 UC Berkeley(버클리 대학교) 소속 SkyLab 연구팀이 주도했으며, 대표 연구자는 Ji Lin입니다. 함께 참여한 연구자들은 딥러닝, 시스템, AI 서빙 분야에서 활발히 연구를 이어온 전문가들입니다.
vLLM은 Virtual Large Language Model의 약자로, 대규모 언어 모델(LLM)의 추론과 서빙을 보다 효율적으로 수행하기 위해 개발된 오픈소스 라이브러리입니다. 이 이름은 운영체제의 가상 메모리(Virtual Memory) 개념에서 착안하여, LLM의 메모리 관리와 처리 성능 최적화를 목표로 삼고 있습니다.
vLLM이 개발된 가장 큰 이유는, 기존 LLM 추론 시스템이 갖고 있던 메모리 비효율성과 낮은 처리량(throughput) 문제를 해결하기 위해서입니다. 특히, LLM을 API 서비스 형태로 제공할 때는 빠른 응답 속도(latency)와 높은 처리량을 동시에 만족시키는 것이 필수적이지만, 기존 서빙 방식은 GPU 메모리를 과도하게 소모하고 충분한 요청을 처리하지 못하는 한계를 지니고 있었습니다.
이 문제를 해결하기 위해 vLLM은 PagedAttention이라는 혁신적인 기술을 도입했습니다. 이 기술은 Attention 연산을 메모리 페이지 단위로 관리하여 메모리 공간을 훨씬 유연하고 효율적으로 활용하는 방식입니다. 덕분에 수십 GB에 이르는 대형 LLM을 더 효율적으로 메모리에 적재하고, 수백~수천 개의 동시 요청도 빠르게 처리할 수 있게 되었습니다.
요약하자면, vLLM은 “효율적인 메모리 사용”과 “높은 처리량”을 핵심 목표로 삼아, 대규모 LLM 추론 운영에 필요한 인프라 성능을 획기적으로 끌어올리기 위해 개발된 프로젝트입니다.
vLLM은 공개 직후 Hugging Face, Anyscale, AWS, Microsoft 등 주요 기업과 커뮤니티로부터 큰 주목을 받았으며, 현재는 LLM API 서비스나 MLOps 환경에서 사실상 표준처럼 널리 채택되고 있습니다.
vLLM 의 주요 특징
vLLM은 대규모 언어 모델(LLM)을 효율적으로 서빙하기 위한 오픈소스 프레임워크로, 특히 메모리 사용 최적화와 높은 처리량을 목표로 설계되었습니다. 아래는 vLLM의 핵심 기능들을 쉽게 설명한 내용입니다.
1. PagedAttention: 메모리 효율적인 어텐션 관리
기존 LLM은 어텐션의 키-값(KV) 캐시를 연속된 메모리 공간에 저장하여, 다양한 길이의 입력을 처리할 때 메모리 낭비가 발생할 수 있습니다. vLLM은 운영체제의 가상 메모리 관리 방식에서 영감을 받아, KV 캐시를 비연속적인 메모리 블록에 저장하는 PagedAttention 기법을 도입하였습니다. 이를 통해 메모리 단편화를 줄이고, 더 긴 컨텍스트 윈도우를 지원할 수 있습니다.
2. Continuous Batching: 연속적인 요청 처리
일반적인 배치 처리 방식은 일정한 시간 간격으로 요청을 모아 처리하므로, 지연 시간이 발생할 수 있습니다. vLLM은 Continuous Batching 기법을 통해, 들어오는 요청을 실시간으로 동적으로 배치하여 처리합니다. 이로 인해 GPU 자원을 더욱 효율적으로 활용할 수 있으며, 최대 23배의 처리량 향상과 지연 시간 감소를 달성할 수 있습니다.
3. 최적화된 CUDA 커널 및 FlashAttention 통합
vLLM은 GPU의 성능을 극대화하기 위해, FlashAttention 및 FlashInfer와 같은 최적화된 CUDA 커널을 통합하였습니다. 이러한 통합은 어텐션 계산을 더욱 빠르고 효율적으로 수행하게 하여, 추론 속도를 향상시킵니다.
4. 다양한 양자화 지원
vLLM은 모델의 크기를 줄이고 추론 속도를 높이기 위해, 다양한 양자화 방식을 지원합니다. 지원하는 양자화 방식에는 GPTQ, AWQ, INT4, INT8, FP8 등이 있으며, 이를 통해 정확도를 유지하면서도 모델을 경량화할 수 있습니다.
5. 광범위한 하드웨어 및 모델 지원
vLLM은 다양한 하드웨어에서 동작하도록 설계되었습니다. 지원하는 하드웨어에는 NVIDIA GPU, AMD GPU 및 CPU, Intel CPU, AWS Trainium 및 Inferentia 등이 포함됩니다. 또한, Hugging Face의 Llama, Mixtral, Mistral, Qwen2 등 다양한 모델과도 호환되어 유연한 적용이 가능합니다.
이러한 기능들을 통해 vLLM은 대규모 언어 모델의 실시간 추론을 위한 강력하고 효율적인 솔루션을 제공합니다. 특히, 메모리 관리와 처리량 측면에서의 혁신은 다양한 응용 분야에서의 활용 가능성을 높여줍니다.
토스 증권에서 vLLM 으로 “LLM 쉽고 빠르게 서빙하기”
토스증권의 기술 블로그 “LLM 쉽고 빠르게 서빙하기”는 대형 언어 모델(LLM)을 실제 서비스에 효율적으로 적용하기 위한 전략과 경험을 공유합니다.
이 글은 특히 추론 속도 개선과 모델 서빙의 복잡성 완화에 중점을 두고 있습니다. 자세한 내용은 토스 기술 블로그의 원문을 참고하시기 바랍니다:
LLM 추론 속도 개선 방안
대형 언어 모델(LLM)을 실제 서비스에 적용할 때 가장 큰 문제 중 하나는 느린 추론 속도입니다. 예를 들어, Llama 3 8B 모델을 전통적인 Transformers 패키지를 사용해 실행할 경우, 간단한 질문에 대한 응답에도 수십 초가 소요될 수 있습니다.
이러한 문제를 해결하기 위해 토스증권은 추론 속도를 혁신적으로 개선할 수 있는 기술들을 도입했습니다. 주요 기술은 다음과 같습니다.
- Key-Value 캐시(KV Cache)를 적용하여, 이전 토큰의 어텐션(attention) 결과를 저장하고 재활용함으로써 불필요한 연산을 줄였습니다. 이를 통해 추론 속도를 기존의 O(n³)에서 O(n²)로 획기적으로 개선할 수 있었습니다.
- 여기에 더해, Paged KV Cache와 Kernel Fusion 기술을 활용하여 메모리 효율성을 극대화하고, CUDA 연산을 최적화하여 추가적인 성능 향상을 이끌어냈습니다.
또한 토스증권은 다양한 오픈소스 추론 엔진을 직접 비교하고 검토한 결과, 최종적으로 vLLM을 선택했습니다. vLLM을 선택한 기준은 다음과 같습니다.
- 정량적 성능 지표:
- 초당 생성 가능한 토큰 수(Tokens per Second, TPS)를 통해 모델의 처리량을 측정했습니다.
- 첫 번째 토큰이 출력되기까지 걸리는 시간(Time to First Token, TTFT)을 통해 초기 응답 속도를 평가했습니다.
- 사용성: 모델을 배포하고 서빙하기까지의 과정이 복잡하지 않고, 간편하게 운영할 수 있는지를 중시했습니다.
- 모델 지원 범위: Llama, Gemma, Mixtral, Qwen 등 다양한 아키텍처를 지원하는지도 중요한 판단 기준이었습니다.
이러한 기준을 종합적으로 검토한 결과, vLLM은 높은 TPS, 짧은 TTFT, 폭넓은 모델 지원과 우수한 사용성을 모두 만족시켜 최종 선택되었습니다.
또한, 토스증권은 NVIDIA Triton Inference Server와 vLLM을 함께 활용하여, Dynamic Batching(동적 배치)과 같은 고급 기능을 적용하고 있습니다. 이를 통해 다수의 요청을 효과적으로 묶어 처리하고, 전체 시스템의 처리 효율을 더욱 높였습니다.
Kubernetes 를 통한 LLM 서빙 환경 구축
Kubernetes(K8s)를 활용한 모델 서빙은 강력하지만, 초기 설정과 운영이 복잡할 수 있습니다. 토스증권은 이 문제를 해결하기 위해 다음과 같은 접근을 취했습니다:
- 자동화 도구 및 스크립트 개발: Docker 이미지 빌드, Helm Charts 작성, Kubernetes Manifest 생성 등을 자동화하여 배포 과정을 간소화합니다.
- 표준화된 배포 프로세스 구축: 모델 서빙에 필요한 구성 요소들을 표준화하여, 개발자들이 복잡한 설정 없이도 쉽게 모델을 배포할 수 있도록 합니다.
이러한 노력으로 토스증권은 모델 개발자들이 인프라 지식 없이도 LLM을 서비스에 적용할 수 있는 환경을 조성하였습니다.
토스증권은 LLM의 추론 속도 문제를 해결하고, 복잡한 서빙 과정을 간소화하여 실제 서비스에 효과적으로 적용하는 방법을 모색하였습니다. 이를 통해 LLM을 활용한 금융 서비스 혁신을 추진하고 있으며, 이러한 경험은 다른 기업들에게도 유용한 참고가 될 수 있습니다.
LLM Serving Framework 비교
vLLM은 고성능 LLM 추론을 위한 오픈소스 프레임워크로, 특히 대규모 모델과 높은 동시 요청 처리에 최적화되어 있습니다. 그러나 다양한 LLM 서빙 프레임워크들이 존재하며, 각기 다른 특성과 장단점을 가지고 있습니다. 아래는 vLLM과 주요 LLM 서빙 프레임워크들의 비교입니다.
프레임워크 | 주요 특징 | 장점 | 단점 | 추천 사용 시나리오 |
---|---|---|---|---|
vLLM |
|
|
|
|
TensorRT-LLM |
|
|
|
|
Friendli Inference |
|
|
|
|
OpenLLM (BentoML 기반) |
|
|
|
|
LocalAI |
|
|
|
|
Ollama |
|
|
|
|
vLLM vs Ollama 비교
vLLM과 Ollama는 모두 LLM을 쉽게 운영하기 위한 도구지만, 목적, 설계 철학, 사용 방식이 완전히 다릅니다.
항목 | vLLM | Ollama |
---|---|---|
목적 |
|
|
주요 대상 |
|
|
핵심 기능 |
|
|
지원하는 모델 |
|
|
사용 방식 |
|
|
배포 형태 |
|
|
속도/성능 최적화 |
|
|
주요 특징 |
|
|
대표 사용 사례 |
|
|
라이선스 |
|
|
대표 설치 방법 |
|
|
마무리
vLLM은 대규모 언어 모델(LLM)의 추론을 최적화하기 위해 개발된 오픈소스 프레임워크로, 특히 GPU 메모리 효율성과 처리량 향상에 중점을 두고 있습니다. 2024년 한 해 동안 vLLM은 GitHub 스타 수가 14,000에서 32,600으로 증가하고, 기여자 수가 190명에서 740명으로 확대되는 등 커뮤니티의 활발한 참여와 함께 성장하였습니다.
기술적으로 vLLM은 PagedAttention 메커니즘을 도입하여 기존 LLM 서빙 시스템의 메모리 단편화 문제를 해결하고, 연속적 배치 처리(Continuous Batching)를 통해 처리량을 개선하였습니다 . 이러한 최적화는 특히 고성능 GPU 리소스가 제한된 환경에서 유리하며, 실시간 애플리케이션에 적합한 낮은 지연 시간을 제공합니다.
산업계에서는 Amazon Rufus와 LinkedIn AI 기능 등에서 vLLM을 활용하고 있으며, IBM, AWS, NVIDIA와의 협력을 통해 오픈소스 AI 생태계의 중심적인 서빙 솔루션으로 자리매김하고 있습니다 . 또한, 네이버와 인텔은 vLLM을 인텔의 AI 반도체 ‘가우디’ 시리즈에 최적화하여 엔비디아 GPU에 대한 종속성을 줄이고, 다양한 하드웨어 환경에서의 활용 가능성을 모색하고 있습니다.
앞으로 vLLM은 멀티모달 모델 지원, 온디바이스 AI 구현, 저전력·경량 모델 개발 등 다양한 방향으로 발전할 것으로 예상됩니다. 이러한 발전은 AI 기술의 현실 적용 범위를 확대하고, 산업 전반에 걸쳐 효율적인 AI 서비스 제공을 가능하게 할 것입니다.
References & Related Links
- vLLM 공식 블로그 – “Easy, Fast, and Cheap LLM Serving with PagedAttention”
- vLLM 연구 논문 – “Efficient Memory Management for LLM Serving with PagedAttention”
- Red Hat AI 블로그 – “Meet vLLM: For faster, more efficient LLM inference and serving”
- Cerebrium 벤치마크 – “Benchmarking vLLM vs SGLang vs TensorRT for Llama”
- vLLM 공식 문서
- TensorRT-LLM GitHub
- Friendli.ai 비교 자료
- OpenLLM by BentoML
- LocalAI GitHub
- Ollama 공식 홈페이지