vllm-project/vllm

A high-throughput and memory-efficient inference and serving engine for LLMs

What it solves

vLLM은 대규모 언어 모델(LLM) 추론 및 서빙을 빠르고, 쉽고, 비용 효율적으로 만들기 위해 설계되었습니다. LLM 서빙 시스템의 처리량을 제한하는 경우가 많은 어텐션 key와 value의 메모리 관리 병목 현상을 해결합니다.

How it works

이 라이브러리는 어텐션 key-value (KV) cache 메모리를 효율적으로 관리하는 PagedAttention이라는 기술을를 사용합니다. 또한 요청의 연속 배치 처리(continuous batching), 청크 단위 프리필(chunked prefill), 그리고 프리픽스 캐싱(prefix caching)을 통해 성능을 더욱 최적화합니다. 하드웨어 활용도를 극대화하기 위해 최적화된 어텐션 커널(FlashAttention 등)을 사용하며, 다양한 양자화 방법(FP8, INT8, INT4, 등) 및 분산 추론 기술(tensor, pipeline, and expert parallelism)을 지원합니다.

Who it’s for

다양한 하드웨어(NVIDIA, AMD, Intel GPUs, 및 CPUs)와 200개 이상의 Hugging Face 모델 아키텍처를 지원하며, 고처리량과 저지연으로 LLM을 대규모로 배포해야 하는 개발자 및 연구자들을 위한 것입니다.

Highlights

  • High Throughput: PagedAttention과 continuous batching을 사용하여 최첨단 서빙 처리량을 제공합니다.
  • Broad Model Support: decoder-only, Mixture-of-Experts (MoE), multi-modal, 및 embedding 모델을 포함한 200+ 아키텍처를 지원합니다.
  • Hardware Flexibility: NVIDIA, AMD, Intel GPUs, 와 함께 x86/ARM/PowerPC CPUs 및 다양한 NPU/TPUs를 지원합니다.
  • API Compatibility: OpenAI-compatible API server, Anthropic Messages API 및 gRPC 지원을 제공합니다.
  • Advanced Decoding: speculative decoding 및 xgrammar 또는 guidance를 사용한 구조화된 출력 지원을 포함합니다.