vLLM

vLLM

vLLM 是一个高吞吐、内存高效的大语言模型推理与服务引擎,最初由加州大学伯克利分校 Sky Computing Lab 开发,采用 Apache-2.0 协议开源。它的核心创新是 PagedAttention——像操作系统管理虚拟内存一样对 KV Cache 分页管理,大幅减少显存碎片,配合连续批处理和前缀缓存显著提升吞吐。项目已有 2000 多位贡献者,支持 200+ 模型架构,并可一行命令启动 OpenAI 兼容的 API 服务。 定价:完全免费,Apache-2.0 开源协议,无授权费用;实际成本取决于你自己的 GPU 硬件或云算力支出。编辑评分:⭐ 4.8。

4.8
(29 评价)1.8k 浏览免费可用
Web
vLLM 是什么?

vLLM 是什么? 核心功能 值不值得用? 使用建议 适合谁用? 先说一个很多人踩过的坑:你有一张 24GB 的显卡,跑一个模型,明明显存看着还剩十几个 G,却直接报 Out of Memory。原因不是显存真的不够,而是被切得七零八落——早期的推理实现会为每个请求预留一整块连续显存,用户可能只生成了 50 个 token,系统却按 2000 个 token 的量把空间锁死了。业界统计这种做法会浪费掉 60%~80% 的显存。 vLLM 就是冲着这个问题来的。它最初在加州大学伯克利分校的 Sky Computing Lab 诞生,核心创新叫 PagedAttention——思路直接借鉴操作系统的虚拟内存分页:把 KV Cache 拆成一个个小块(页),按需分配,允许存放在不连续的显存里。结果是显存浪费接近于零,同样的硬件能塞进两到四倍的并发用户。 如今 vLLM 早已不只是一篇论文的实现。它是 Apache-2.0 协议的开源项目,有 2000 多位来自数十家学术机构和公司的贡献者,支持 Hugging Face 上 200+ 种模型架构,并且从 NVIDIA GPU 一路支持到 AMD、Intel GPU、CPU,还通过插件覆盖 Google TPU、Intel Gaudi、华为昇腾、Apple Silicon 等硬件。在很多团队眼里,它已经是「自己部署大模型」的默认答案。 1. PagedAttention 显存管理 这是 vLLM 的立身之本。KV Cache 被分页存储在非连续显存中,按实际生成长度动态分配。实际使用中最直观的感受是:以前跑不动的并发量现在跑得动了,以前动不动 OOM 的场景现在稳定了。对于要在有限显卡上服务多用户的团队,这个提升是决定性的。

  • 先用 Docker 镜像跑起来,别一上手就折腾源码编译。 CUDA、驱动、PyTorch 版本的匹配是新手最容易卡住的地方,官方镜像能省掉大半麻烦。
  • 从 OpenAI 兼容服务模式起步。 相比直接调 Python API,先起 API 服务能让你用熟悉的 openai 客户端快速验证,也方便前后端分离。
  • 显存吃紧就先上量化。 AWQ 或 GPTQ 的 4bit 权重能显著压低显存占用,多数业务场景下效果损失可以接受。先量化再考虑加卡,性价比更高。
  • 有固定系统提示词一定开前缀缓存。 RAG、客服、Agent 这类应用的 Prompt 前半段往往完全一样,缓存命中后省下的算力很可观。
  • 单卡装不下再考虑张量并行,不要盲目多卡。 并行会引入通信开销,模型能塞进单卡时单卡往往更快。
  • 生产环境锁定版本号并配好监控。 关注吞吐、显存占用、排队时长这几个指标。升级前在预发环境跑一遍完整回归,别直接上线新版本。
  • 压测要模拟真实并发形态。 vLLM 的优势在高并发下才显现,用单请求测出来的数字容易低估它的价值。

优点

  • + PagedAttention 把 KV Cache 分页管理,显著减少传统方案中大量浪费的显存碎片,同硬件下能承载更多并发请求
  • + 开箱提供 OpenAI 兼容 API 服务,一条命令起服务,现有代码改 base_url 即可切换,不存在厂商锁定
  • + 模型与硬件覆盖极广,支持 Hugging Face 上 200+ 模型架构,除 NVIDIA 外还支持 AMD、Intel GPU、CPU 以及 TPU、华为昇腾等插件式后端
  • + 工程优化很扎实:连续批处理、分块预填充、前缀缓存、投机解码、张量/流水线/专家并行、FP8 与 INT4 等多种量化都已内置
  • + 社区极其活跃,2000+ 贡献者、来自数十家机构和公司,已成为事实上的开源推理标准,遇到问题容易找到答案

缺点

  • - 它是基础设施而不是产品,需要你自己准备 GPU、搞定环境依赖和部署运维,对新手门槛偏高
  • - 优化目标偏向高并发吞吐而不是单请求最低延迟,单人单请求场景下体感优势不明显,甚至不如更轻量的方案省事
  • - 版本迭代非常快,新特性和 API 变动频繁,生产环境需要锁定版本并做好升级回归验证

vLLM 是免费的吗?商用需要授权吗?

完全免费。vLLM 采用 Apache-2.0 开源协议,可以自由用于商业项目,不需要额外授权费用。真正的成本在硬件上——你要么自备 GPU 服务器,要么租用云 GPU 算力。换个角度说,vLLM 本身不花钱,但把它跑起来需要算力预算。

vLLM 为什么比直接用 Transformers 快很多?

关键在显存管理。传统实现会为每个请求预留一整块连续显存,导致大量碎片和过度预留,业界统计浪费可达 60%~80%。vLLM 的 PagedAttention 把 KV Cache 分页存放在非连续显存中并按需分配,浪费接近于零,同样硬件能容纳更多并发。再叠加连续批处理消除 GPU 空转、前缀缓存复用重复计算,整体吞吐相比朴素实现有数倍级提升,官方与社区的对比中在长文本和高并发场景差距尤其明显。

vLLM 和 Ollama 有什么区别,我该选哪个?

定位完全不同。Ollama 面向单人本地使用,追求装完就能用,适合个人在笔记本或台式机上体验模型。vLLM 面向生产环境的多用户服务,追求高吞吐和高并发,需要 Linux 加 GPU 环境,配置门槛更高。一句话判断:只有你一个人用就选 Ollama;要给一堆人或一堆应用提供服务就选 vLLM。

vLLM 支持哪些模型和硬件?必须用 NVIDIA 显卡吗?

不必须。模型方面它无缝支持 Hugging Face 上 200+ 种架构,包括常见的 Llama、Qwen、Mistral、Mixtral、GLM、DeepSeek 系列,以及 MoE 模型、多模态模型、Embedding 与 Reranker 模型等。硬件方面除 NVIDIA GPU 外,还支持 AMD GPU、Intel GPU 和 x86/ARM/PowerPC CPU,并通过插件支持 Google TPU、Intel Gaudi、IBM Spyre、华为昇腾、Apple Silicon 等。不过实际使用中,NVIDIA 路线的资料最全、踩坑最少,其他后端建议预留调试时间。

常见问题

用户评价