vllm-project/vllm
A high-throughput and memory-efficient inference and serving engine for LLMs
vLLM – 快速、灵活的 LLM 服务
它是什么 – vLLM 是一个开源的 Python 库,让你能以高速运行(服务)大型语言模型进行推理。它专注于在 GPU(和其他加速器)上榨出最大吞吐量,同时保持 API 简单。
主要功能
- PagedAttention – 一个自定义的注意力内存管理器,可将 KV 缓存页面换入换出,让你能服务大量并发请求而不会耗尽 GPU 内存。
- 连续批处理与分块预填充 – 新提示会即时加入同一个批次,减少空闲时间。
- 量化支持 – FP8、INT8/4、GPTQ、AWQ、GGUF 等,让你能以较低精度的权重运行模型,以获得速度/大小优势。
- 优化内核 – 集成 FlashAttention、FlashInfer、TRT-LLM、FlashMLA 和 Triton 内核,并通过 CUTLASS、TRT-LLM-GEN、CuTeDSL 提供自定义 GEMM/MoE 内核。
- 推测性解码 – n-gram、后缀、EAGLE、DFlash 方法,可提前生成 token 以降低延迟。
- 分布式推理 – 支持张量、流水线、数据、专家和上下文并行,适用于多 GPU/CPU 设置。
- 广泛的模型覆盖 – 开箱即用,支持 200 多个 Hugging Face 模型:仅解码器 LLM(Llama、Qwen)、MoE 模型(Mixtral)、混合状态空间模型(Mamba)、多模态(LLaVA)、嵌入/检索模型等。
- API 层 – 提供兼容 OpenAI 的 REST 端点、Anthropic 风格的消息 API、gRPC,以及流式 token 输出和工具调用支持。
- 硬件灵活性 – 可在 NVIDIA、AMD、Intel GPU、CPU 上运行,并通过插件在 TPU、Gaudi、华为昇腾、Apple Silicon 等上运行。
典型工作流程
- 使用
uv pip install vllm(或 pip)安装,并可选择vllm download-kernels来获取预编译内核。 - 使用
vllm.Engine或 CLIvllm serve <model>从 Hugging Face 加载模型。 - 启动服务器(
python -m vllm.entrypoints.openai.api_server),并通过兼容 OpenAI 的 HTTP API、gRPC 或 Python 客户端发送请求。 - 调整设置(批次大小、量化、推测性解码、LoRA 适配器)以达到所需的延迟-吞吐量权衡。
为何重要 – 在生产规模上服务 LLM 通常受到内存密集的 KV 缓存和每个 token 的内核开销所限制。vLLM 的分页、连续批处理和专门内核大幅提高了每个 GPU 每秒的 token 数,降低成本并实现实时应用。
资源 – 文档网站、快速入门指南、模型列表,以及关于 PagedAttention 技术的研究论文,都链接在 README 中。
相关
- 项目
- Dispatch
- Dispatch
- 项目
- 项目