大模型推理引擎直接决定部署成本与吞吐上限。面对 vLLM、SGLang、LMDeploy、Ollama 四大开源方案,团队常陷入「哪个最快、哪个最省」的选择困境。本文从架构差异、吞吐表现、量化能力与落地场景四个维度做横向评测,帮你用最低成本把模型稳定跑起来。
一、为什么推理引擎是降本关键
训练一次模型成本极高,但推理(serving)是 7×24 持续烧钱的过程:一张 A100 每小时租金不菲,显存利用率低 20% 就意味着每月多花一台机器。推理引擎的核心价值正是把昂贵的 GPU 喂饱——通过连续批处理(continuous batching)、PagedAttention、KV Cache 复用等技术,把单卡吞吐提升数倍。选错引擎,等于白白浪费预算。
更隐蔽的浪费来自「等长的请求队列」。原生实现往往把一批请求补齐到最长那条的长度再统一计算,短请求被迫陪跑,GPU 算力大量空转。连续批处理则让每个请求算完即走、新请求随时插入,GPU 利用率可从 30% 拉到 80% 以上。对一个日均千万级调用的业务,这中间的差距就是几十万的真金白银。
二、四位选手的定位速览
它们不是互相替代,而是覆盖不同场景:
| 引擎 | 核心卖点 | 最佳场景 | 上手难度 |
|---|---|---|---|
| vLLM | PagedAttention、连续批处理,社区最成熟 | 高并发在线服务 | 低 |
| SGLang | RadixAttention、前端后端分离、结构化生成强 | Agent / 复杂多轮 | 中 |
| LMDeploy | TurboMind 推理内核、4bit 量化极致省显存 | 国产化、边缘部署 | 中 |
| Ollama | 一行命令本地跑模型、生态最简单 | 开发调试 / 个人 | 极低 |
三、vLLM:高吞吐的工业级首选
vLLM 由 UC Berkeley 提出,最大创新是 PagedAttention——把 KV Cache 像操作系统内存分页一样管理,彻底解决碎片问题,显存利用率比原生 HuggingFace Transformers 高 2~4 倍。它也是连续批处理的标杆,请求进进出出无需等长填充。
3.1 一行 Docker 启动
docker run --gpus all -p 8000:8000 \
vllm/vllm-openai:latest \
--model Qwen/Qwen2.5-7B-Instruct \
--tensor-parallel-size 1 \
--gpu-memory-utilization 0.90 \
--max-model-len 8192
# OpenAI 兼容调用
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{"model":"Qwen/Qwen2.5-7B-Instruct","prompt":"你好","max_tokens":64}'
它暴露的是 OpenAI 兼容接口,现有业务代码几乎零改造即可切换。生产环境建议配合 –enable-prefix-caching 提升多轮对话复用率。
需要提醒的是,vLLM 对显存和驱动版本较敏感,首次上线务必用 vllm bench 跑一组与本业务相似长度的 prompt 压测,再决定 tensor-parallel-size 与 gpu-memory-utilization 的取值。小模型(≤3B)在单卡上用 vLLM 反而可能因调度开销而收益有限,此时轻量方案更划算。
四、SGLang:结构化生成的利器
SGLang 的 RadixAttention 会自动缓存提示词前缀的 KV Cache,在「模板 + 变量」类任务(如批量 JSON 抽取、Agent 多轮工具调用)上命中率极高。其前后端分离架构把调度与推理解耦,单机可支撑更大并发。
在真实 Agent 场景里,同一套系统提示词会被成百上千次复用,RadixAttention 的命中率往往能到 60%~90%,相当于把首 token 延迟砍掉一大截。如果你的业务是「固定提示词 + 海量变量」的形态(如合同要素抽取、SQL 生成),SGLang 的性价比通常高于 vLLM。
4.1 启动与编程式调用
python -m sglang.launch_server \
--model-path Qwen/Qwen2.5-7B-Instruct \
--port 30000 --tp 1
# 结构化生成示例
from sglang import function, gen, set_default_backend, RuntimeEndpoint
@function
def extract(s, doc):
s += "从下文抽取公司名:\n" + doc + "\n公司:"
s += gen("name", max_tokens=32)
set_default_backend(RuntimeEndpoint("http://localhost:30000"))
print(extract(doc="阿里云今日发布新模型").get("name"))
五、Ollama:本地开发的零门槛选择
Ollama 把模型权重、配置、运行环境打包成一条命令,是开发者在笔记本上验证想法的首选。它背后同样可切换 llama.cpp 后端做量化推理,配合 2026 年搭建私有 AI 知识库:Dify + Ollama 本地部署完整教程 方案能快速搭起私有对话服务。日常编码时,用 VS Code 的 Continue 插件即可接入本地模型做补全。
它内置的模型库覆盖了主流开源权重,一条 ollama pull 就能把 Qwen、Llama、DeepSeek 等拉到本地;通过 Modelfile 还能挂载自定义 LoRA、设置上下文窗口与采样参数。在 Mac 的 Apple Silicon 上,Ollama 可利用 Unified Memory 直接跑 14B 级别模型,是前端、产品经理做 Demo 验证的最低成本路径。
5.1 Modelfile 与本地运行
# 拉起 7B 量化模型
ollama run qwen2.5:7b
# 自定义 Modelfile 微调行为
FROM qwen2.5:7b
SYSTEM "你是一名严谨的中文技术助手"
PARAMETER temperature 0.3
ollama create mybot -f Modelfile
ollama run mybot
六、LMDeploy:TurboMind 的高性能推理
LMDeploy(来自 Shanghai AI Lab)自研 TurboMind 引擎,对 weight 做极致优化,并支持 4bit Weight-Only 量化,7B 模型可压进一张消费级显卡。对于国产化栈与边缘盒子场景尤为友好。
它提供从 4bit 量化、推理、到 OpenAI 兼容服务的一站式链路,auto_quant 会自动用校准数据集评估量化损失,在精度与显存间取得平衡。在昇腾、寒武纪等国产加速卡上,LMDeploy 的适配进度也走在前列,是信创环境下的务实之选。
pip install lmdeploy
lmdeploy serve api_server \
internlm/internlm2_5-7b-chat \
--backend turbomind --tp 1 --port 23333
# 4bit 量化后启动,显存再降约一半
lmdeploy lite auto_quant \
internlm/internlm2_5-7b-chat --calib-dataset ptb
七、性能与适用场景对照
| 维度 | vLLM | SGLang | LMDeploy | Ollama |
|---|---|---|---|---|
| 单卡吞吐 | ★★★★★ | ★★★★★ | ★★★★☆ | ★★★☆☆ |
| 显存效率 | 高 | 高 | 极高 | 中 |
| 结构化生成 | 中 | 极强 | 中 | 弱 |
| 本地易用 | 中 | 中 | 中 | 极强 |
| 生产成熟度 | 极高 | 高 | 高 | 中 |
八、选型决策:我该用哪个
遵循三条经验法则:① 高并发在线 API、追求最大吞吐 → vLLM;② 做 Agent、需要复杂多轮与 JSON 结构化输出 → SGLang;③ 笔记本本地验证、个人项目、快速出原型 → Ollama;④ 国产化硬件、消费级显卡、极致省显存 → LMDeploy。很多团队会「Ollama 开发 + vLLM 上线」双栈并行,用 GitHub Actions 把镜像构建与服务部署自动化,既快又稳。
九、落地建议与成本测算
实测中,同一张 A100 跑 7B 模型:原生 Transformers 约 80 tokens/s,vLLM 可达 320+ tokens/s,吞吐翻 4 倍意味着同等流量 GPU 数量可减 3/4。若日调用 100 万次、平均 200 tokens,选对引擎每月可省数千元算力。上线前务必用基准脚本压测真实业务 prompt,而不是只信官方数字;缓存命中率(前缀复用)往往比单请求延迟更影响账单。借助 Redis 这类中间件做请求排队与限流,可进一步削峰填谷。
最后给一条工程经验:不要为了「追新」而频繁切换引擎。引擎本身的迁移成本是实打实的——接口字段、批处理语义、量化格式都可能不同。建议在立项时先锁定一个主力引擎跑通全链路,待流量与瓶颈清晰后再做局部替换,把优化资源花在真正影响账单的地方。
十、总结
大模型推理引擎没有绝对赢家,只有最适配场景的解。vLLM 稳、SGLang 巧、LMDeploy 省、Ollama 易。先把业务画像(并发量、延迟要求、硬件、是否结构化)写清楚,再对照本文对照表下注,就能用最省的算力把模型稳稳跑在生产线上。




