vLLM是什么?
vLLM是一个免费、Apache 2.0许可的库和服务器,用于大规模执行大语言模型推理。它起源于UC Berkeley的Sky Computing Lab的一个研究项目,此后发展成为使用最广泛的开源LLM服务引擎之一,来自学术和产业机构的数千名开发者为其贡献代码。与主要为在自己机器上与模型对话的单一用户而构建的工具不同,vLLM旨在从共享的GPU容量中尽可能高效地服务来自多个用户或应用的众多并发请求。
- 起源于UC Berkeley的Sky Computing Lab,如今是一个由社区治理的开源项目
- Apache 2.0许可:源代码根据许可条款公开可用,可用于使用、修改和再分发
- 以Hugging Face Transformers兼容格式加载模型,覆盖广泛的架构——Llama、Mistral、Qwen、DeepSeek及许多其他模型系列——大多数模型无需单独的转换步骤
- 专为高效服务众多并发请求而构建,而不仅仅是快速处理单次对话
- GitHub上被引用最多的开源LLM服务项目之一
PagedAttention是什么,为何重要?
PagedAttention是vLLM最广为人知的内存管理技术。在生成过程中,Transformer模型会为每个活跃请求的每个token存储一份注意力键值(KV)缓存——通常这份缓存会作为每个请求一个大的连续内存块来分配,并按该请求可能的最大长度来定尺寸,这意味着只要请求提前结束或短于预留的最大长度,就会浪费GPU内存。PagedAttention则将KV缓存拆分为可以非连续分配、并可在请求间共享的小型固定大小块(page)——借鉴了操作系统管理虚拟内存的思路。
- 减少因为请求实际长度短于其最大长度而过度预留KV缓存空间造成的内存浪费
- 允许在共享相同前缀(例如相同系统提示词)的请求之间共享内存块
- 相比朴素的连续分配方式,让GPU能用相同的内存容纳更多并发请求的KV缓存
- 与continuous batching协同工作,使vLLM能够随着请求的到达和完成,动态地向正在执行的批次中添加或移除请求,而不必等待固定批次完全结束后才开始下一批
vLLM需要什么硬件?
vLLM主要且支持最完善的目标是搭载CUDA的NVIDIA GPU,大多数生产部署都运行在NVIDIA硬件上。该项目也记录了其他后端,但覆盖范围和性能并不相同。
NVIDIA GPU(CUDA)
- 详情:
- 主要且最成熟的目标。跨多个NVIDIA GPU的张量并行和流水线并行服务有完善的文档记录,并在生产环境中广泛使用。
AMD GPU(ROCm)
- 详情:
- 记录为通过ROCm支持AMD硬件的后端,但实际采用情况和社区覆盖范围比CUDA路径更窄。
Intel GPU和Gaudi加速器
- 详情:
- 项目为Intel硬件记录的额外后端;应视为比NVIDIA GPU更小众、经过更少验证的部署路径。
Google TPU
- 详情:
- 为Google Cloud TPU硬件记录的后端,面向已经在该基础设施上运行的团队。
CPU(x86 / ARM / PowerPC)
- 详情:
- 存在纯CPU后端,但这不是vLLM的目标用例——该项目是为GPU服务而构建的,文档中CPU执行速度明显慢于GPU后端。
Apple Silicon(Mac)
- 详情:
- 不是官方维护的一流路径。社区维护的项目(例如Metal后端插件)增加了部分Apple Silicon支持,但覆盖范围和成熟度远远落后于vLLM对NVIDIA GPU的支持。
如果目标是在单台Mac或纯CPU机器上运行模型,vLLM不是为此设计的工具——llama.cpp以及基于它构建的Ollama、LM Studio等工具直接面向CPU和Apple Silicon硬件,更适合这种场景。
vLLM支持哪些量化格式?
vLLM支持以降低的数值精度服务模型,以降低内存占用,并在许多情况下提高吞吐量,采用的是多种成熟的量化格式,而非单一的专有格式。
AWQ
- 详情:
- Activation-aware Weight Quantization是一种广泛使用的4比特权重量化方法,社区在Hugging Face上发布了大量预量化模型。
GPTQ
- 详情:
- 一种训练后量化方法,通常以预量化的模型检查点形式分发,同样典型为4比特精度。
FP8
- 详情:
- 8比特浮点精度,在具备硬件FP8支持的较新一代NVIDIA GPU上受支持——相比FP16/BF16,用一定的精度换取更低的内存占用和更快的执行速度。
INT8 / INT4
- 详情:
- 项目在AWQ和GPTQ之外记录的更低精度整数量化路径,用于进一步降低内存占用。
本文未包含针对各格式独立测量的质量损失数字——这些数字因模型架构和任务而异。用自己的提示词比较几种格式的输出,是判断该权衡是否适合你的工作负载的最可靠方式。
vLLM的OpenAI兼容服务器提供什么?
运行vllm serve会启动一个实现OpenAI API协议的HTTP服务器,因此已经基于OpenAI API构建的应用和SDK通常只需更改基础URL和模型名称,就能指向自托管的vLLM实例。
- 兼容OpenAI的聊天补全和补全端点,可作为基于OpenAI API的客户端代码的直接替代
- 可配置的主机和端口(服务器默认监听
http://localhost:8000) - 在服务器启动时设置的引擎参数,用于张量并行大小、GPU内存利用率目标和量化格式
- 支持在同一个已加载的基础模型上服务多个LoRA适配器
- 对兼容请求格式支持结构化输出和函数/工具调用
如何安装和运行vLLM?
vLLM以Python包形式分发,通常在具备NVIDIA GPU和兼容CUDA驱动的Python环境中用pip安装。
- 1确认已安装受支持的NVIDIA GPU和当前版本的CUDA驱动(如果目标是AMD/Intel/TPU等后端,请查阅项目文档中的对应安装说明)。
- 2创建Python虚拟环境,然后安装vLLM:
pip install vllm。 - 3使用来自Hugging Face的模型启动OpenAI兼容服务器,例如:
vllm serve meta-llama/Llama-3.1-8B-Instruct。 - 4对于预量化模型,传入相应的参数,例如:
vllm serve TheBloke/Llama-2-13B-AWQ --quantization awq。 - 5如需多GPU服务,添加张量并行参数,例如:
vllm serve <model> --tensor-parallel-size 2将模型拆分到两块GPU上。 - 6默认情况下服务器监听
http://localhost:8000;使用任意兼容OpenAI API的客户端库或curl向其/v1/chat/completions端点发送请求。 - 7只需更改基础URL和模型名称,即可让现有的OpenAI API客户端代码指向你的自托管服务器。
运行vLLM需要GPU吗?
除测试之外的任何用途都需要——vLLM主要且支持最完善的目标是NVIDIA GPU。虽然存在纯CPU后端,但文档中说明其速度明显更慢,且不是项目的重点。
我可以用量化模型运行vLLM吗?
可以——vLLM支持AWQ、GPTQ、FP8等格式,许多以这些格式预量化的模型已发布在Hugging Face上,可以用相应的--quantization参数进行服务。
vLLM与Ollama、LM Studio相比如何?
Ollama和LM Studio面向的是与vLLM不同的问题:快速、简单地为一个人提供一个可以在自己机器上对话的模型。而vLLM的目标是尽可能高效地从共享GPU容量中服务众多并发用户或应用。对于大多数用例而言,这两类工具并不是彼此的近似替代品。
- Ollama和LM Studio通常构建在llama.cpp或类似引擎以及GGUF模型格式之上,针对包括纯CPU机器和Apple Silicon在内的消费级硬件上的单用户使用进行了优化
- vLLM构建在PagedAttention和continuous batching之上,针对高并发GPU服务进行了优化,而不是针对普通硬件上的单用户响应速度
- Ollama一条命令即可安装,无需GPU;vLLM需要Python环境,在大多数部署中需要NVIDIA GPU,并需要命令行配置
- LM Studio增加了图形化的桌面聊天界面;vLLM没有图形界面——通过其OpenAI兼容API或命令行参数访问
- vLLM和基于llama.cpp的工具都可以暴露OpenAI兼容API,因此为该API构建的前端工具往往可以与两者中的任何一个配合使用
vLLM与TGI、TensorRT-LLM相比如何?
vLLM、Hugging Face的Text Generation Inference(TGI)和NVIDIA的TensorRT-LLM都面向同一个大方向的任务——大规模的生产环境LLM服务——但设计和取舍各不相同。
vLLM
- 详情:
- Apache 2.0许可,基于Python,围绕PagedAttention和continuous batching构建。直接加载兼容Hugging Face Transformers的模型,架构覆盖范围广,并支持多厂商GPU后端(以NVIDIA为主;AMD、Intel、TPU也有文档记录)。
关于vLLM的文章(9篇)
- LiteLLM Review: One Gateway for 100+ LLM Provider APIs更新于 2026年10月24日
- Local Inference Engines, Runtimes & Gateways Compared (2026): Run and Serve Models更新于 2026年10月24日
- Locally Uncensored Review: Local Chat, Image, and Video in One App更新于 2026年10月24日
- oMLX Review: Apple Silicon Inference Server With SSD Caching更新于 2026年10月23日
- LLaMA-Factory Review: Fine-Tune 100+ LLMs via Web UI更新于 2026年10月19日
- Nanobot Review: A Self-Hosted AI Agent Framework in 2026更新于 2026年10月10日
- Open WebUI in 2026: The Self-Hosted ChatGPT Interface for Ollama and Any AI Model更新于 2026年10月9日
- llama.cpp Explained: The Engine Powering Ollama (2026)更新于 2026年9月20日
- candle-vllm Review: Rust-Native LLM Serving on CUDA and Metal更新于 2026年9月19日
另有85篇未显示
TGI
- 详情:
- Hugging Face自家的服务引擎,Apache 2.0许可,同样支持continuous batching和多种量化格式。与Hugging Face Hub及其生态系统紧密集成。
TensorRT-LLM
- 详情:
- NVIDIA的引擎,专为NVIDIA GPU构建。模型会预先编译成针对目标GPU优化的TensorRT引擎,这在该特定硬件上可能带来强劲性能,代价是需要一个编译步骤,且跨硬件灵活性不如vLLM或TGI。
关于TensorRT-LLM的文章(6篇)
- TensorRT-LLM Explained: NVIDIA's GPU-Optimized Inference Engine (2026)更新于 2026年9月6日
- NVIDIA Dynamo Review: Datacenter-Scale Inference Serving更新于 2026年9月19日
- GPUStack Review: Open-Source GPU Cluster Manager for Local AI更新于 2026年9月12日
- SGLang Explained: RadixAttention and Structured LLM Serving (2026)更新于 2026年9月6日
- text-generation-webui in 2026: How Oobabooga's Local LLM UI Became "TextGen"更新于 2026年9月5日
- Enterprise LLM Inference Servers 2026: vLLM vs TGI vs NVIDIA NIM vs Ollama更新于 2026年9月2日
其他提及:
- Local Inference Engines, Runtimes & Gateways Compared (2026): Run and Serve Models更新于 2026年10月24日
- Apple MLX vs NVIDIA CUDA for Local LLMs: Which System Should You Choose in 2026?更新于 2026年9月25日
- LMDeploy Review: High-Throughput LLM Serving and Quantization更新于 2026年9月19日
另有1篇未显示
本文未对这三款引擎进行相互独立基准测试,也不主张其中某一款普遍更快——吞吐量在很大程度上取决于模型、硬件、批次特征以及各引擎的版本。关于三者在部署和许可方面更详细的比较,请参见企业推理服务器指南。
谁适合使用vLLM?
vLLM适合在GPU基础设施上为众多并发用户或应用提供模型服务的团队,而不适合那些只想在自己电脑上尽快与模型对话的人。
在以下情况使用vLLM
- 你正在API背后部署一个LLM,供许多用户或下游服务同时调用
- 你能使用一块或多块NVIDIA GPU(或受支持的AMD/Intel/TPU部署),并希望最大化该硬件的吞吐量和并发请求处理能力
- 你希望拥有自托管的OpenAI兼容API服务器,而不是依赖第三方API提供商
- 你需要为一个大到单块GPU容纳不下的模型进行多GPU张量并行服务
- 你对Python环境、命令行配置以及GPU/CUDA设置感到熟悉
在以下情况避免使用vLLM
- 你想在自己的笔记本或台式机上运行模型,用于个人单用户聊天——Ollama或LM Studio更适合这个需求
- 你没有受支持的GPU——vLLM的CPU后端不是其重点,也没有像llama.cpp或Ollama那样有意义的Apple Silicon支持
- 你想要图形化的点选界面,而不是API服务器和命令行参数
- 你不习惯排查CUDA驱动问题、Python依赖冲突或GPU内存配置
vLLM与替代方案一览
这些工具在单用户使用与生产环境服务这一光谱上处于不同的位置。
vLLM
- 界面与安装:
- 通过pip安装的Python包;用
vllm serve启动的OpenAI兼容API服务器。大多数部署需要NVIDIA GPU和CUDA。 - 最适合:
- 生产环境中高吞吐量、多用户的GPU服务。
关于vLLM的文章(9篇)
- LiteLLM Review: One Gateway for 100+ LLM Provider APIs更新于 2026年10月24日
- Local Inference Engines, Runtimes & Gateways Compared (2026): Run and Serve Models更新于 2026年10月24日
- Locally Uncensored Review: Local Chat, Image, and Video in One App更新于 2026年10月24日
- oMLX Review: Apple Silicon Inference Server With SSD Caching更新于 2026年10月23日
- LLaMA-Factory Review: Fine-Tune 100+ LLMs via Web UI更新于 2026年10月19日
- Nanobot Review: A Self-Hosted AI Agent Framework in 2026更新于 2026年10月10日
- Open WebUI in 2026: The Self-Hosted ChatGPT Interface for Ollama and Any AI Model更新于 2026年10月9日
- llama.cpp Explained: The Engine Powering Ollama (2026)更新于 2026年9月20日
- candle-vllm Review: Rust-Native LLM Serving on CUDA and Metal更新于 2026年9月19日
另有85篇未显示
Ollama
- 界面与安装:
- CLI和REST API,普遍被报告在大多数平台上以llama.cpp作为后端。一条命令即可安装;一条命令即可拉取并运行模型。
- 最适合:
- 为单一用户提供最快获得本地可用模型的路径,无需构建步骤或GPU。
关于Ollama的文章(10篇)
- Ollama Review: The One-Command Local LLM Runtime更新于 2026年9月12日
- LobeHub Review (Formerly LobeChat): Agent Workspace With Desktop Apps and Self-Hosting更新于 2026年10月24日
- Arynwood MCP Review: A Local AI Workspace in Alpha更新于 2026年10月24日
- GPT4All Review: Free Offline AI Chat App by Nomic AI更新于 2026年10月24日
- Home Assistant Assist Review: Local Voice Control and LLM Agents更新于 2026年10月24日
- Kruvo Review: A Desktop AI Coworker That Asks Before It Acts更新于 2026年10月24日
- Linkwarden Review: Self-Hosted Bookmarks with Local AI Tagging更新于 2026年10月24日
- LiteLLM Review: One Gateway for 100+ LLM Provider APIs更新于 2026年10月24日
- LM Mini Review: iPhone Chat App for On-Device and Home-Server AI更新于 2026年10月24日
- Local Inference Engines, Runtimes & Gateways Compared (2026): Run and Serve Models更新于 2026年10月24日
另有313篇未显示
LM Studio
- 界面与安装:
- 面向Mac、Windows和Linux的图形化桌面应用。下载安装后,在应用内浏览并下载模型。
- 最适合:
- 想要点选式本地聊天应用的非技术用户。
关于LM Studio的文章(10篇)
- LM Studio Review: The GUI-First Local AI Desktop App更新于 2026年10月23日
- LM Mini Review: iPhone Chat App for On-Device and Home-Server AI更新于 2026年10月24日
- Local Inference Engines, Runtimes & Gateways Compared (2026): Run and Serve Models更新于 2026年10月24日
- Locally Uncensored Review: Local Chat, Image, and Video in One App更新于 2026年10月24日
- Presenton Review: Open-Source AI Presentation Generator更新于 2026年10月24日
- Subtitle Edit Review: Local Whisper Transcription and Auto-Translate更新于 2026年10月24日
- Tolaria Review: Open-Source Markdown Notes with Git and AI Agents更新于 2026年10月24日
- Best Local LLM Frontends in 2026: Open WebUI, Enchanted UI, and More更新于 2026年10月23日
- Local LLM on a Laptop: What Runs on 8GB, 16GB & Apple Silicon (2026)更新于 2026年10月23日
- Qwen Local Deployment Guide 2026: Qwen 3.6 27B, Coder & VL Hardware Tiers更新于 2026年10月23日
另有149篇未显示
llama.cpp
- 界面与安装:
- CLI、内置Web UI,以及通过llama-server提供的OpenAI兼容API。从源码构建或使用预构建二进制文件;可在CPU或GPU上运行。
- 最适合:
- 引擎层面的直接控制、嵌入式/边缘部署,以及CPU或Apple Silicon硬件。
关于llama.cpp的文章(10篇)
- llama.cpp Explained: The Engine Powering Ollama (2026)更新于 2026年9月20日
- GPT4All Review: Free Offline AI Chat App by Nomic AI更新于 2026年10月24日
- Llama App Review: llama.cpp Desktop App for Mac and Windows更新于 2026年10月24日
- Local Inference Engines, Runtimes & Gateways Compared (2026): Run and Serve Models更新于 2026年10月24日
- Locally Uncensored Review: Local Chat, Image, and Video in One App更新于 2026年10月24日
- Subtitle Edit Review: Local Whisper Transcription and Auto-Translate更新于 2026年10月24日
- Run a 70B LLM Locally 2026: RAM, VRAM & Speed by Hardware更新于 2026年10月23日
- Best AMD GPU for Local LLMs and AI Inference更新于 2026年10月23日
- Best CPU-Only Local LLM 2026: 5 Models, No GPU Needed更新于 2026年10月23日
- Best Local AI Apps for Low-End PCs in 2026 (8GB RAM, No GPU)更新于 2026年10月23日
另有168篇未显示
本文未对这些工具的速度或输出质量进行独立基准测试,也不主张其中某一款技术上更优——上表仅涵盖有文档记录的架构、安装和访问模式方面的事实。关于按硬件划分的吞吐量数字,请参见llama.cpp vs. Ollama vs. vLLM比较和企业推理服务器指南。
本文未涵盖哪些内容?
这是一篇基于vLLM公开文档和代码仓库撰写的解释性文章,而非实际的基准测试报告。
- 没有独立测量的吞吐量、延迟或每秒请求数数字——这些在很大程度上取决于GPU、模型、批次组成和vLLM版本
- 没有针对特定量化格式独立验证的质量损失百分比——这些因模型架构和任务而异
- 没有对vLLM代码库逐行进行的安全审计——它是开源的、Apache 2.0许可,因此代码本身可供审查
- 未完整覆盖所有受支持的硬件后端、引擎参数或部署编排选项(Kubernetes、云特定配置)——本文聚焦于大多数团队首先会评估的概念和参数
- 未涵盖商业支持协议或vLLM的托管服务,因为vLLM本身是一个社区开源项目,而不是带有支持合同的厂商产品
尝试vLLM时的常见错误
使用vLLM时的大多数摩擦,都源于把它当作单用户桌面工具而非生产服务器软件来对待。
错误1:试图在没有独立GPU的笔记本上运行它
vLLM的CPU后端确实存在,但不是其重点,也没有像llama.cpp或Ollama那样有意义的Apple Silicon支持。试图在纯CPU笔记本或Apple Silicon Mac上运行它,通常会导致性能不佳,或者出现专为该场景设计的本地工具完全可以避免的安装麻烦。
错误2:期待图形安装程序或聊天窗口
vLLM没有点选式安装程序,也没有内置聊天UI。它通过pip安装,并通过其OpenAI兼容API访问——需要一个单独的前端(自行构建,或使用能对接OpenAI API的第三方聊天UI)才能获得聊天窗口。
错误3:只按模型本身而非并发请求来规划GPU内存
一块内存刚好够加载一份模型副本的GPU,几乎没有余地容纳多个并发请求的KV缓存。按预期的并发负载来规划容量——而不仅仅是让模型权重能装进显存——可以避免在真实流量下出现内存不足的错误。
常见问题
vLLM是什么?
vLLM是一个免费、Apache 2.0许可的库和服务器,用于高吞吐量LLM推理,起源于UC Berkeley的Sky Computing Lab。它使用PagedAttention和continuous batching从一块GPU高效服务众多并发请求。
vLLM是免费的吗?
是的。vLLM是根据Apache 2.0许可发布的免费开源软件,自行运行无需订阅或账户。
PagedAttention是什么?
PagedAttention是vLLM用于管理注意力KV缓存的技术,它使用小型、固定大小、非连续的块,而不是为每个请求分配一整块大的连续内存,从而减少GPU内存浪费,并允许在共享相同前缀的请求之间共享内存。
vLLM需要GPU吗?
对于任何真实的工作负载都需要——vLLM主要且支持最完善的目标是NVIDIA GPU。虽然存在纯CPU后端,但文档中说明其速度明显更慢,且不是项目的重点;Apple Silicon支持仅限于社区维护的附加组件,而不是一流路径。
vLLM支持哪些量化格式?
vLLM支持多种格式,包括AWQ、GPTQ、FP8和INT8/INT4,许多以这些格式预量化的模型已发布在Hugging Face上。
vLLM比Ollama更好吗?
"更好"取决于任务:vLLM是为高并发的生产环境GPU服务而构建的,而Ollama是为在无需GPU的情况下最快获得单用户本地模型而构建的。对大多数用例而言,它们并不是彼此的近似替代品——参见上方的比较表。
vLLM能跨多块GPU服务模型吗?
可以。vLLM支持跨多块GPU的张量并行和流水线并行服务,可在服务器启动时通过--tensor-parallel-size等参数进行配置。
vLLM有OpenAI兼容的API吗?
有。运行vllm serve会启动一个实现OpenAI API协议的服务器,因此许多为OpenAI API构建的应用只需更改基础URL和模型名称,就能指向自托管的vLLM实例。
vLLM与TensorRT-LLM有何不同?
TensorRT-LLM是NVIDIA的引擎,它会将模型预先编译成针对特定NVIDIA GPU优化的引擎。vLLM则直接加载兼容Hugging Face Transformers的模型,无需预编译步骤,并记录了对NVIDIA GPU之外后端的支持,代价是硬件专属优化程度较低,但换来了更高的灵活性和更快的迭代速度。
