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

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

本文是《大模型推理框架深度解析》系列的第一篇,适合刚接触LLM部署的开发者阅读。

写在前面

随着大语言模型(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 # 自定义Modelfilecat> 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 # 调用APIcurl 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。选型前需要确认模型格式支持。


五、系列文章预告

本文是系列的开篇,后续将深入各个技术细节:

  • 02 - 量化与性能:GGUF、AWQ、GPTQ的原理差异与性能基准
  • 03 - KV Cache与批处理:PagedAttention如何让内存利用率从60%提升到95%
  • 04 - 分布式推理:TP/PP/EP并行策略的原理与配置
  • 05 - 生产架构:Kubernetes部署与混合链路设计
  • 06 - 故障排查:监控指标、性能调优与故障演练

参考资源


文章标签

大模型推理LLM部署vLLMllama.cppOllamaAI工程化模型量化

Read more

8卡RTX 5090服务器llama.cpp测试

8 卡 RTX 5090 服务器 完整安装及性能调优指南  8卡RTX 5090服务器 从 NVIDIA驱动安装 → CUDA环境 → llama.cpp编译 → 多GPU测试 的完整、可直接执行流程(基于Ubuntu 22.04 LTS,适配Blackwell架构)。 一、系统与硬件准备(必做) 1.1 系统要求 • 推荐:Ubuntu 22.04 LTS(64位) • 内核:6.8+ HWE内核(5090必须高内核) • 禁用:Nouveau开源驱动(与NVIDIA驱动冲突) 1.2 硬件检查 Bash # 查看8张5090是否被识别 lspci | grep -i nvidia

lingbot-depth-vitl14企业应用指南:机器人避障系统中替代高精度LiDAR的降本方案

lingbot-depth-vitl14企业应用指南:机器人避障系统中替代高精度LiDAR的降本方案 想让你的机器人“看”得更远、更准,又不想为昂贵的激光雷达买单?今天,我们就来聊聊一个能帮你省下大笔硬件成本的技术方案——lingbot-depth-vitl14深度估计模型。 简单来说,这个模型能让你的机器人用普通的RGB摄像头,就“猜”出周围环境的深度信息,实现精准避障。它就像一个给机器人安装的“空间感知大脑”,把二维的彩色画面,转换成三维的距离地图。 对于企业而言,这意味着什么?意味着你可以用几百块的摄像头,去实现过去需要几万甚至十几万激光雷达才能做到的部分功能。这不仅仅是省钱,更是为机器人、自动驾驶、AR/VR等应用打开了低成本、高性能的新大门。 接下来,我会带你深入了解这个模型,看看它如何在机器人避障这个核心场景中,真正落地并创造价值。 1. 为什么机器人避障需要深度信息? 在聊技术方案之前,我们先得搞清楚一个基本问题:机器人是怎么“看见”并避开障碍物的? 想象一下,你蒙着眼睛在房间里走路,很容易撞到桌子椅子。机器人也一样,它需要知道“前面有没有东西”以及“那个

我为什么放弃传统修图软件,改用Mac Luminar Neo?真实体验全说透

一款把“复杂修图”变成“傻瓜操作”的 Mac 神器 说实话,现在不管你是做自媒体、电商、摄影,还是单纯喜欢拍照,修图几乎已经成了“刚需技能”。问题是,大多数修图软件对普通用户真的不友好:参数一大堆,工具一箩筐,新手点进去就是懵。 而 Luminar Neo 的思路,刚好反过来——它不逼你学专业,而是用 AI 帮你“自动理解照片”。 这次更新到 v1.25.1 版本,还是 Mac 专用的中文激活版,同时兼容 Intel 芯片和 M 系列芯片,门槛进一步被拉低。简单一句话总结:它不是给“修图大神”准备的,而是给“想把照片变好看的人”准备的。

告别塑料感!阿里Qwen-Image-2512用真实质感重新定义AI绘画

告别塑料感!阿里Qwen-Image-2512用真实质感重新定义AI绘画

2025年12月31日,当多数人在准备跨年时,阿里通义千问团队突然开源了Qwen-Image-2512这款图像生成模型。它号称要干掉“AI味”,生成的照片比真人拍的还真实。我抱着“真的假的”的心态试用了几天,结论是:它对新手极其友好,且效果突出。 01 模型进化,让AI绘画告别“塑料感”时代 AI绘画一直有个难以摆脱的标签——“AI味”,那种过于完美却不真实的质感,让作品总显得有点“塑料感”。 Qwen-Image-2512针对这一痛点进行了升级更新,让生图效果更细腻、也更真实。 人物肌肤质感方面,新模型能够生成真实毛孔纹理与细微光影变化,发丝根根分明,眼神生动自然。 在自然纹理还原上,无论是风景构图中的水流、树木,还是动物毛发,都呈现出惊人的细腻度。 复杂文字渲染是Qwen-Image系列的强项,而2512版本进一步提升了文字渲染质量与排版准确性,图文混合渲染更加精准。 在AI Arena平台进行的超过1万局模型盲测中,Qwen-Image-2512被评为当前最强开源图像生成模型,甚至在某些方面可与闭源商业模型一较高下。 02 零门槛入门,两种方式快速上手 对于