跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

大模型推理框架选型入门:Ollama、llama.cpp与vLLM对比

综述由AI生成对比了 Ollama、llama.cpp 和 vLLM 三大主流大模型推理框架。通过三层架构视角分析,明确 Ollama 为开箱即用工具层,llama.cpp 为轻量级引擎,vLLM 为高吞吐服务框架。文章提供了按场景(本地开发、边缘设备、高并发 API)和硬件环境(CPU、GPU、Apple Silicon)的选型速查表,并给出快速上手命令示例及常见误区澄清,帮助开发者根据实际需求选择合适的部署方案。

王者发布于 2026/4/5更新于 2026/5/2434 浏览

大模型推理框架选型入门:Ollama、llama.cpp与vLLM对比

随着大语言模型(LLM)的广泛应用,如何将模型高效地部署到生产环境成为每个 AI 工程师必须面对的问题。目前市面上主流的推理框架有 Ollama、llama.cpp 和 vLLM,但它们的技术定位、适用场景差异巨大。

很多开发者在选型时容易陷入误区:

  • 用 Ollama 部署高并发 API 服务,结果吞吐量上不去
  • 用 vLLM 跑边缘设备,发现资源占用过高
  • 混淆 llama.cpp 和 vLLM 的定位,不知道何时该用哪个

本文将从架构分层视角出发,帮你建立清晰的选型认知。

一、三大框架的技术定位

1.1 三层架构视角

如果把 LLM 推理技术栈比作一座大厦,三个框架分别位于不同的楼层:

┌─────────────────────────────────────────────────────────────┐
│ 应用层(第 3 层)                                             │
│ ┌─────────────┐                                              │
│ │ Ollama      │ ← 一键式模型管理,类似 Docker 的体验         │
│ └─────────────┘                                              │
├─────────────────────────────────────────────────────────────┤
│ 推理引擎层(第 2 层)                                         │
│ ┌─────────────┐ ┌─────────────────────────────────────┐     │
│ │ llama.cpp   │ │ vLLM                                │     │
│ │ C++ 引擎    │ │ Python 推理服务平台                 │     │
│ └─────────────┘ └─────────────────────────────────────┘     │
├─────────────────────────────────────────────────────────────┤
│ 硬件加速层(第 1 层)                                         │
│ CUDA / Metal / ROCm / AVX512                                │
└─────────────────────────────────────────────────────────────┘

核心区别一句话总结:

  • Ollama:让开发者'开箱即用'的工具层
  • llama.cpp:追求极致轻量的 C++ 推理引擎
  • vLLM:面向生产的高吞吐推理服务平台
1.2 各框架的本质定位
维度Ollamallama.cppvLLM
本质模型管理工具推理引擎库推理服务框架
设计目标开发便捷跨平台兼容高吞吐服务化
核心用户开发者/研究者嵌入式工程师SRE/运维工程师
部署形态单二进制文件静态库/可执行文件Python 服务+API
1.3 Ollama 的真相:llama.cpp 的封装层

很多开发者不知道的是,Ollama 底层调用的正是 llama.cpp:

Ollama  → Modelfile 解析 → GGUF 模型下载 → llama.cpp 推理引擎
CLI

这意味着:

  • Ollama 的'简单'是有代价的——它隐藏了 llama.cpp 的精细调参能力
  • 在高并发场景下,Ollama 的 HTTP 层成为瓶颈
  • 生产环境建议绕过 Ollama,直接使用底层引擎

二、适用场景速查表

2.1 按使用场景选型
场景推荐框架理由
本地开发测试Ollama一键安装,Modelfile 灵活配置
MacBook Pro 本地跑 70Bllama.cppMetal 后端优化,统一内存优势
边缘设备/嵌入式llama.cppARM NEON 优化,低资源占用
高并发 API 服务vLLM连续批处理,PagedAttention
70B+ 大模型生产部署vLLMTP/PP 分布式支持完善
MoE 模型 (DeepSeek)vLLMEP 专家并行原生支持
CPU 兜底/降级链路llama.cpp跨平台稳定,GGUF 生态成熟
2.2 按硬件环境选型

无 GPU 环境:

# 唯一选择:llama.cpp
./llama-cli -m model.gguf --threads 32

单卡消费级 GPU(RTX 4090 24GB):

# 7B-13B 模型:vLLM 或 llama.cpp 均可
# 70B 模型:必须用量化版 + vLLM
vllm serve --model llama-70b-awq --quantization awq 

多卡数据中心 GPU(A100/H100):

# vLLM 是最佳选择
vllm serve --model llama-405b --tensor-parallel-size 8

Apple Silicon(M1/M2/M3):

# llama.cpp Metal 后端最优
./llama-cli -m model.gguf -ngl 99
# 全部层卸载到 GPU

三、快速上手示例

3.1 Ollama:5 分钟跑起来
# 安装
curl -fsSL https://ollama.com/install.sh | sh
# 拉取并运行模型
ollama run llama3.1:70b
# 自定义 Modelfile
cat > Modelfile <<'EOF'
FROM llama3.1:70b
PARAMETER temperature 0.7
PARAMETER top_p 0.9
SYSTEM "你是一个专业的编程助手"
EOF
ollama create my-model -f Modelfile
3.2 llama.cpp:从源码构建
# 克隆并编译
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
make -j LLAMA_CUDA=1 # NVIDIA GPU
# 下载 GGUF 模型并运行
./llama-cli \
  -m models/llama-3.1-70b-Q4_K_M.gguf \
  --ctx-size 32768 \
  --threads 32 \
  -ngl 99 # GPU 层数,99 表示全部
3.3 vLLM:生产级部署
# pip 安装
pip install vllm
# 启动服务
vllm serve meta-llama/Llama-3.1-70B \
  --tensor-parallel-size 4 \
  --gpu-memory-utilization 0.85 \
  --max-model-len 32768 \
  --enable-prefix-caching
# 调用 API
curl http://localhost:8000/v1/completions \
  -H "Content-Type: application/json" \
  -d '{ "model": "meta-llama/Llama-3.1-70B", "prompt": "Hello,", "max_tokens": 100 }'

四、常见误区澄清

误区 1:Ollama 可以替代 vLLM 用于生产

真相:Ollama 的 HTTP 层和调度逻辑在高并发下会成为瓶颈。实测数据显示,相同硬件下 vLLM 的吞吐量是 Ollama 的 3-5 倍。

误区 2:llama.cpp 比 vLLM 慢,应该被淘汰

真相:llama.cpp 在 CPU 推理和边缘设备场景下是最佳选择。它的跨平台能力和 GGUF 生态是 vLLM 无法替代的。

误区 3:vLLM 支持所有模型格式

真相:vLLM 主要支持 HuggingFace 格式(safetensors/bin),而 llama.cpp 专注于 GGUF。选型前需要确认模型格式支持。


参考资源

  • vLLM 官方文档
  • llama.cpp GitHub
  • Ollama 官方文档
  • PagedAttention 论文

目录

  1. 大模型推理框架选型入门:Ollama、llama.cpp与vLLM对比
  2. 一、三大框架的技术定位
  3. 1.1 三层架构视角
  4. 1.2 各框架的本质定位
  5. 1.3 Ollama 的真相:llama.cpp 的封装层
  6. 二、适用场景速查表
  7. 2.1 按使用场景选型
  8. 2.2 按硬件环境选型
  9. 唯一选择:llama.cpp
  10. 7B-13B 模型:vLLM 或 llama.cpp 均可
  11. 70B 模型:必须用量化版 + vLLM
  12. vLLM 是最佳选择
  13. llama.cpp Metal 后端最优
  14. 全部层卸载到 GPU
  15. 三、快速上手示例
  16. 3.1 Ollama:5 分钟跑起来
  17. 安装
  18. 拉取并运行模型
  19. 自定义 Modelfile
  20. 3.2 llama.cpp:从源码构建
  21. 克隆并编译
  22. 下载 GGUF 模型并运行
  23. 3.3 vLLM:生产级部署
  24. pip 安装
  25. 启动服务
  26. 调用 API
  27. 四、常见误区澄清
  28. 误区 1:Ollama 可以替代 vLLM 用于生产
  29. 误区 2:llama.cpp 比 vLLM 慢,应该被淘汰
  30. 误区 3:vLLM 支持所有模型格式
  31. 参考资源
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Python 机器学习实战:模型构建与评估最佳实践
  • 程序员为何要坚持技术写作
  • 本地部署 AI 大模型的硬件配置指南
  • AI工具链:Gradio演示界面
  • AI 绘画提示词优化技巧与实战指南
  • C++ 关联式容器核心解析:map 与 set 实战指南
  • Mac 系统安装与配置 Claude Code 指南
  • Git 核心概念解析:从版本控制到团队协作实战
  • 宇树 Go2 机器人强化学习开发实操指南
  • AI 调参技巧:网格搜索优化
  • npm install 报错 git 权限拒绝 Permission denied 解决方法
  • AI 技术动态:Claude Code 记忆插件、LangChain DeepAgents 与具身智能趋势
  • Django Web 框架快速入门与核心实战
  • AIGC 在元宇宙与虚拟世界中的应用及技术实现
  • OpenClaw v2026.3.8 全平台部署与本地模型对接教程
  • ClawdBot 免配置方案:Docker 集成 Whisper tiny 与 PaddleOCR
  • Neo4j 图数据库实战:从建模到 Python 开发
  • AI 生成代码太冗余?4 个优化技巧助产工业级代码
  • Android 音频 PCM 数据加窗处理实战:从算法选型到性能优化
  • Java 案例:接口的静态方法

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online