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

Ollama 底层架构:llama.cpp 与 GGUF 详解

综述由AI生成Ollama 运行的底层技术。GGUF 是大模型权重的通用压缩格式,支持量化以减小体积并适配多平台。llama.cpp 是轻量级推理引擎,专注于 CPU 优化和低内存占用。两者结合使得 Ollama 能在本地低配设备上快速运行大模型。文章对比了不同框架的优劣,并提供了 llama.cpp 的使用示例。

热情发布于 2026/4/5更新于 2026/5/2242 浏览

GGUF = 大模型权重的「通用压缩格式」(类似视频的 MP4,适配所有播放器) llama.cpp = 跑 GGUF 格式模型的「轻量级推理引擎」(类似视频播放器,能在低配电脑上流畅播 MP4) 两者配合:GGUF 让模型体积变小、适配性强,llama.cpp 让模型能在 CPU / 低配 GPU 上快速跑 这也是 Ollama 能做到'一键本地运行'的底层原因

GGUF 详解:大模型的'通用压缩包'

核心定义

GGUF(Generic GGML Format)是 GGML 格式的升级版,是专门为大模型权重设计的二进制存储格式 核心目标是「通用、高效、压缩」

GGML 是什么? GGML 最初是 Georgi Gerganov 为 llama.cpp 开发的轻量级机器学习张量库(核心是为 CPU 优化),早期大模型量化权重格式直接叫「GGML 格式」,但这个格式只适配 llama.cpp,通用性差

GGUF 为什么是'升级版'? 随着 llama.cpp 支持的模型越来越多(Llama、Qwen、Phi 等),原 GGML 格式的局限性暴露(比如不支持多模态、跨框架适配差) 因此在 2023 年底推出 GGUF,把'专属格式'升级为'通用格式',全称里加「Generic」就是为了突出'通用'这个核心升级点

GGUF 的命名在 llama.cpp 官方仓库(https://github.com/ggerganov/llama.cpp)的 GGUF 规范文档中明确标注为「Generic GGML Format」

为什么需要 GGUF

早期大模型权重格式(如 PyTorch 的 .pth、Hugging Face 的 .bin)有如下问题:

  • 体积大:7B 模型原生权重约 13GB,普通电脑装不下
  • 适配差:不同推理框架(llama.cpp/transformers)需要转格式,门槛高
  • 速度慢:原生权重不做优化,CPU 推理卡成幻灯片

GGUF 针对性解决

特性说明
量化压缩支持 4bit/8bit/16bit 量化,7B 模型从 13GB → 4GB(4bit),低配电脑(8G 内存)也能装下
通用适配所有主流大模型(Llama 3/Qwen/Phi 3)都能转 GGUF,所有推理框架(llama.cpp/Ollama)都能读,不用为不同模型/框架反复转格式
加载加速预编译权重结构,模型启动时间从分钟级 → 秒级,本地调用模型响应更快
跨平台兼容 Windows/Mac/Linux/树莓派,甚至手机,任何设备都能跑

实战关联:Ollama 里的 GGUF

Ollama 下载的所有模型(如 llama3:7b),底层都是 GGUF 量化格式(默认 4bit/8bit),这也是它能在 Mac M1 / 老旧电脑上运行的关键

llama.cpp 详解:跑 GGUF 模型的'轻量级引擎'

核心定义

llama.cpp 是由开发者 Georgi Gerganov 开源的 C/C++ 编写的大模型推理框架 最初只为跑 Llama 模型设计,现在支持所有 GGUF 格式的模型(Llama 3、Qwen、Gemini 等)

核心优势(为什么 Ollama 选它做底层)

优势具体效果对应 Ollama 的表现
纯 CPU 友好极致优化 CPU 推理(用 SIMD / 多线程),不用高端 GPU 也能跑Ollama 不用装 CUDA,普通电脑直接运行
极简轻量化无依赖(不用装 Python/PyTorch/TensorFlow),编译后就一个可执行文件Ollama 一键安装,不用配复杂环境
支持 GGUF原生支持 GGUF 量化格式,推理速度比原生权重快 2-5 倍Ollama 模型启动快、响应快
跨平台支持 x86/ARM 架构(Mac M 系列、树莓派、手机)Ollama 能跨 Windows/Mac/Linux 运行
低内存占用4bit 量化的 7B 模型,仅需 4-6GB 内存就能跑老旧笔记本也能跑大模型

极简使用示例

不用 Ollama,直接用 llama.cpp 跑 GGUF 模型的核心步骤:

# 1. 下载 llama.cpp
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp && make
# 编译(仅需 C 编译器,无其他依赖)

# 2. 下载 GGUF 格式的模型(比如 Llama 3 7B 4bit)
wget https://xxx.com/llama-3-7b-instruct-q4_0.gguf

# 3. 运行模型(纯 CPU,无需 GPU)
./main -m llama-3-7b-instruct-q4_0.gguf -p "解释一下 Agent 集群"

执行后就能在终端看到模型的推理结果,这就是 Ollama 底层的核心操作(Ollama 只是把这些步骤封装成了 ollama run 命令)

llama.cpp + GGUF 与 Ollama 的关系

用户 → Ollama(一键命令/API)→ llama.cpp(推理引擎)→ GGUF 模型(量化压缩的权重)→ 本地硬件(CPU/GPU)

Ollama 是「用户友好的封装层」:把复杂的 llama.cpp 命令、GGUF 模型下载 / 管理封装成简单指令 llama.cpp 是「推理执行层」:负责实际的模型计算、token 生成 GGUF 是「模型存储层」:让模型体积小、加载快、适配性强

和其他推理框架的对比

框架 / 格式核心特点
GGUF + llama.cpp轻量、纯 CPU、低内存、跨平台
Hugging Face Transformers功能全、支持所有模型、GPU 优化好
vLLM高吞吐、动态批处理、GPU 专用
框架 / 格式适用场景缺点
GGUF + llama.cpp本地低配设备、离线运行、快速原型推理速度比 GPU 框架慢(适合轻量场景)
Hugging Face Transformers云端 / 高端 GPU 部署、复杂微调依赖多、低配设备跑不动、体积大
vLLM高并发 API 服务、云端部署仅支持 GPU、低配设备用不了

总结 GGUF 是大模型权重的通用量化格式,核心价值是「压缩体积、通用适配、加载加速」,让低配设备装得下模型 llama.cpp 是轻量级推理引擎,核心价值是「纯 CPU 优化、极简无依赖、跨平台」,让低配设备跑得动模型 两者是 Ollama 实现'本地一键运行大模型'的底层核心,也是目前本地 AI 部署的主流技术组合

目录

  1. GGUF 详解:大模型的“通用压缩包”
  2. 核心定义
  3. 为什么需要 GGUF
  4. GGUF 针对性解决
  5. 实战关联:Ollama 里的 GGUF
  6. llama.cpp 详解:跑 GGUF 模型的“轻量级引擎”
  7. 核心定义
  8. 核心优势(为什么 Ollama 选它做底层)
  9. 极简使用示例
  10. 1. 下载 llama.cpp
  11. 编译(仅需 C 编译器,无其他依赖)
  12. 2. 下载 GGUF 格式的模型(比如 Llama 3 7B 4bit)
  13. 3. 运行模型(纯 CPU,无需 GPU)
  14. llama.cpp + GGUF 与 Ollama 的关系
  15. 和其他推理框架的对比
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 2026 年 TypeScript 与 JavaScript 的共生终局:霸权已定,但非唯一
  • 大规模语言模型与智能代理:理论及实践应用
  • 视觉 - 语言建模综述:核心范式与评估实践
  • 将第三方 OpenAI 兼容模型接入 GitHub Copilot 的方法与实践
  • 华为 OD 机试真题:采购订单生成规则解析
  • Android 免 Root 自动抢红包工具 AutoRobRedPackage 使用指南
  • HarmonyOS 6 相机 C++ API 核心能力详解
  • AI 辅助前端页面开发:HTML+CSS 生成实战指南
  • GitHub Copilot 学生认证流程解析与 Python 实践
  • C++ 核心面试题解析(一)
  • FPGA 从 RTL 到比特流:Vivado 与 Modelsim 联合开发全流程解析
  • 使用 Java 调用飞书自定义机器人 Webhook
  • 基于 Web-Check 与内网穿透实现远程站点安全检测
  • FastGithub 部署指南:智能 DNS 解析优化 GitHub 访问
  • MySQL 表操作实战:创建、修改与删除全解析
  • Roo Code 深度上手指南:从 API 配置到实战,打造 AI 编程私有云
  • Easylogging++ C++ 日志库使用指南
  • 多模态 AI 应用:图文音视频一体化开发实战
  • 基于 OpenClaw 与 GLM-4.7 Flash 搭建飞书联网问答机器人
  • Fooocus 部署实战:从本地环境搭建到云端快速启动

相关免费在线工具

  • 加密/解密文本

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

  • RSA密钥对生成器

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

  • Mermaid 预览与可视化编辑

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

  • 随机西班牙地址生成器

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

  • Gemini 图片去水印

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

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online