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

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

综述由AI生成对比了 Ollama、llama.cpp 与 vLLM 三大主流大模型推理框架。Ollama 定位为开箱即用的模型管理工具,适合本地开发测试;llama.cpp 为轻量级 C++ 引擎,适用于边缘设备及 CPU 环境;vLLM 则是面向生产的高吞吐服务框架,支持多卡分布式及连续批处理。文章通过架构分层、场景速查表及硬件环境分析,帮助开发者根据并发需求、硬件配置及模型规模选择合适的推理方案,并澄清了常见误区,如 Ollama 不适合高并发生产、llama.cpp 在 CPU 场景的优势等。

RustyLab发布于 2026/4/6更新于 2026/5/2632 浏览

大模型推理框架选型入门: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 CLI → Modelfile 解析 → GGUF 模型下载 → llama.cpp 推理引擎

这意味着:

  • 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

更多推荐文章

查看全部
  • MySQL 与 Redis 双写一致性保障方案详解
  • MacOS 平台 Whisper-WebUI 崩溃问题实战解决方案
  • macOS 与 Android 文件传输工具 OpenMTP 使用指南
  • LeetCode 92 链表区间反转:递归反转与哨兵技巧
  • 30 个数据工程必备的 Python 包
  • Windows 11 环境下通过命令行升级 Python 版本的方法
  • C++ 继承机制详解
  • PHP 秒杀防机器人分层防御体系详解
  • Copilot Cowork 核心逻辑解析:基于 Kotlin 构建 AI Agent
  • Kotaemon:基于 RAG 技术的多语言模型问答系统
  • WebGL Inspector:专业级 WebGL 调试工具箱
  • 使用 llama.cpp 在普通电脑运行大模型实战
  • 2026年 , 最新的机器人系统架构介绍 (1)
  • 使用 jsr:@langchain/pyodide-sandbox 构建 Python 安全沙箱
  • 国内环境升级 GitHub Copilot 专业版支付方案
  • SensioFrameworkExtraBundle 路由注解使用指南:从基础到高级
  • 动态规划经典题:Unique Paths 网格路径计数详解
  • OpenClaw 与主流 AI 编程工具对比:Claude Code、Cursor、Copilot
  • 解决 WSL 中 VS Code Copilot 无法连接的网络代理问题
  • OpenAI 指控 DeepSeek 非法蒸馏,字节发布 Seedance 2.0,Java 26 预览版来了

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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