本地大模型推理工具横评2026:Ollama、vLLM、SGLang到底怎么选
从个人开发到生产部署,实测Ollama、vLLM、SGLang、llama.cpp在吞吐、延迟、显存占用上的差异,给出清晰的选型决策树。
先搞清一个问题:你在解决什么?
每次有人问”本地跑大模型用哪个工具”,其实背后可能是三种完全不同的需求:
- 自己玩/做原型:能跑起来、命令简单就行
- 服务几个人的内部工具:稳定、并发能顶住
- 生产环境扛流量:吞吐、延迟、成本,一个都不能少
这三种需求对应的答案完全不同。下面分开说。
Ollama:原型的默认答案
Ollama 的核心价值是把复杂性藏起来。一条 ollama run qwen3 就能下载并跑起模型,自带 API 网关兼容 OpenAI 格式。
优点:
- 安装零门槛,macOS/Linux/Windows 全支持
- 模型库有一键拉取的量化版本
- 自带模型管理、显存自动调度
缺点:
- 并发能力弱,默认单请求串行,多人同时用会排队
- 不支持高级批处理、PagedAttention,吞吐上不去
- 参数调优空间有限
适合:个人开发者、原型验证、单用户场景。
llama.cpp:极致轻量与 CPU 友好
如果你想在笔记本、树莓派甚至手机上跑模型,llama.cpp 是唯一严肃的选择。它支持 GGUF 格式,量化选项极其丰富(Q4_K_M、Q5_K_S、Q8_0……),CPU 推理经过大量优化。
优点:
- 内存占用小,CPU 也能跑
- 量化灵活,可在质量与体积间精细权衡
- 生态广,几乎所有本地工具都基于它
缺点:
- GPU 并发批处理能力弱于 vLLM
- 生产级服务化需要自己写胶水代码
适合:边缘设备、CPU 环境、资源受限场景。
vLLM:生产部署的事实标准
vLLM 是 2026 年最主流的高吞吐推理引擎。它的杀手锏是 PagedAttention——把 KV Cache 像操作系统管理内存页一样分块管理,极大减少了显存碎片和浪费。
优点:
- 吞吐量在同硬件下通常是 Ollama 的 5–20 倍
- 支持 Continuous Batching(连续批处理),请求动态进出
- 支持张量并行,多卡扩展顺滑
- 兼容 OpenAI API,迁移成本低
缺点:
- 启动慢,冷启动加载模型要几十秒
- 显存占用相对固定,小模型上显得”重”
- 配置项多,调优有学习曲线
适合:API 服务、团队共享、需要高并发的生产环境。
SGLang:vLLM 的强力挑战者
SGLang 这两年增长很快,核心创新是 RadixAttention——用前缀树共享多个请求的 KV Cache。在多轮对话、共享 system prompt 的场景下,缓存复用率极高。
优点:
- 前缀共享场景吞吐显著优于 vLLM
- 原生支持结构化输出(约束解码),JSON 生成又快又稳
- 编程接口设计现代,写复杂推理流程很方便
缺点:
- 生态与社区规模仍小于 vLLM
- 文档偏工程向,上手略陡
适合:Agent 服务、多轮对话、大量结构化输出的场景。
实测数据参考(单张 A100 80G,Qwen3-32B,FP8)
| 引擎 | 单请求延迟 | 并发32吞吐 | 显存占用 |
|---|---|---|---|
| Ollama | 中 | 低 | 中 |
| llama.cpp | 中 | 低 | 低 |
| vLLM | 低 | 高 | 高 |
| SGLang | 低 | 高 | 高 |
注:具体数值随模型、量化、硬件差异很大,重点看相对关系。
选型决策树
要跑在CPU/边缘设备? → 是 → llama.cpp
↓否
只想快速试一下? → 是 → Ollama
↓否
要对外服务/高并发? → 是 → 多轮对话多? → 是 → SGLang
↓否 → vLLM
几个容易忽略的实践建议
第一,别在原型阶段过度优化。 用 Ollama 把流程跑通,等你真的需要扛流量再换 vLLM,迁移成本很低(都是 OpenAI 兼容 API)。
第二,量化不等于免费。 Q4 量化能省一半显存,但在复杂推理任务上质量下降可能很明显。生产环境优先考虑 FP8 或 AWQ。
第三,显存 = 模型权重 + KV Cache。 很多人只算权重,忽略了 KV Cache。长上下文场景下,KV Cache 可能比权重还大。规划硬件时按公式算:KV Cache ≈ 2 × 层数 × 头数 × 头维度 × 序列长度 × 并发数 × 字节数。
第四,关注冷启动。 vLLM 冷启动慢,如果你的服务是”偶尔调用”,无服务器化的冷启动(比如用 Modal、RunPod)可能更划算。
结语
没有”最好的推理引擎”,只有”最匹配场景的引擎”。记住这条经验法则:原型用 Ollama,边缘用 llama.cpp,高并发选 vLLM,对话密集选 SGLang。先把需求想清楚,工具的选择自然就清晰了。