vllm-project/vllm
A high-throughput and memory-efficient inference and serving engine for LLMs
What it solves
vLLM 旨在使大型语言模型 (LLM) 推理与服务的速度快、简单且具有成本效益。它解决了注意力机制中 key 与 value 的内存管理瓶颈,这通常会限制 LLM 服务系统的吞吐量。
How it works
该库使用了一种称为 PagedAttention 的技术,可以高效地管理注意力机制的 key-value (KV) cache 内存。它通过请求的连续批处理 (continuous batching)、分块预填充 (chunked prefill) 以及前缀缓存 (prefix caching) 进一步优化性能。为了最大化硬件利用率,它采用了优化的注意力机制内核 (如 FlashAttention) 并支持多种量化方法 (FP8, INT8, INT4, 等) 以及分布式推理引擎技术 (tensor, pipeline, and expert parallelism)。
Who it’s for
需要大规模部署 LLM 并实现高吞吐量和低延迟的开发人员和研究人员,支持多种硬件 (NVIDIA, AMD, Intel GPUs, 和 CPUs) 以及超过 200 种 Hugging Face 模型架构。
Highlights
- High Throughput: 使用 PagedAttention 和 continuous batching 的最先进的推理服务吞吐量。
- Broad Model Support: 支持 200+ 种架构,包括 decoder-only, Mixture-of-Experts (MoE), multi-modal, 和 embedding 模型。
- Hardware Flexibility: 兼容 NVIDIA, AMD, 和 Intel GPUs, 以及 x86/ARM/PowerPC CPUs 和各种 NPUs/TPUs。
- BB-API Compatibility: 提供 OpenAI-compatible API server, 以及 Anthropic Messages API 和 gRPC 支持。
- Advanced Decoding: 包含 speculative decoding 以及使用 xgrammar 或 guidance 的结构化输出支持。