Ollama 底层的 llama.cpp 和 GGUF

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/ 树莓派,甚至手机,任何设备都能跑

  1. 实战关联: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.cppgit 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 部署的主流技术组合

Read more

ComfyUI保姆级安装指南:从零配置Python环境到共享WebUI模型库(避坑大全)

ComfyUI终极安装指南:复用WebUI资源与高效配置实战 第一次接触ComfyUI时,我被它那类似Blender的节点式界面震撼到了——这完全颠覆了我对AI绘画工具的认知。但随之而来的安装过程却让我这个有三年Stable Diffusion使用经验的老用户也踩了不少坑。最头疼的问题莫过于:如何在保留现有WebUI模型库的同时,让ComfyUI也能共享这些资源?毕竟谁也不想在已经塞满3TB硬盘的模型库里再复制一份几十GB的数据。 1. 环境预检与准备工作 在开始安装前,我们需要确保系统满足ComfyUI的基本运行要求。与WebUI不同,ComfyUI对环境的纯净度要求更高,特别是Python版本的管理。 1.1 硬件配置核查 最低配置: * 显卡:NVIDIA GTX 1060(4GB显存) * 内存:16GB DDR4 * 存储:SSD剩余空间≥50GB(仅系统+程序) 推荐配置: * 显卡:RTX 3060(12GB显存)及以上 * 内存:32GB DDR4 * 存储:NVMe SSD(模型库单独存放) 提示:显存不足8GB的用户建议关闭--hig

共绩算力 RTX 5090 极速部署 Stable Diffusion WebUI:新手也能秒开 AI 绘图工作站

共绩算力 RTX 5090 极速部署 Stable Diffusion WebUI:新手也能秒开 AI 绘图工作站

还在为本地硬件不足跑不动 AI 绘图模型发愁?想快速拥有高性价比的 Stable Diffusion 绘图环境?今天给大家带来共绩算力 RTX 5090 部署 Stable Diffusion WebUI(增强版)的详细教程,全程零兼容冲突,从云主机配置到生成第一张 AI 画作仅需 30 分钟,步骤清晰可复现,无论是设计爱好者还是 AI 新手都能轻松上手! 目录 一、为什么选择共绩算力部署 Stable Diffusion? 二、环境准备:精准配置云主机 2.1 创建云主机实例 1.2 登录云主机终端 二、完整部署流程 2.1 环境清理与依赖安装 2.2 下载与配置Stable Diffusion WebUI

ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作(纯享版)

ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作(纯享版)

ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作 本篇文章,大概会花费你10分钟时间,带你对Agent进行更加深入的了解。 目录: * ReAct Agent 与 Agent 编排:从单 Agent 闭环到多 Agent 协作 * 一、这 10 分钟到底会讲什么 * 二、我将会分8节来讲 * 第 1 节:为什么要讲 ReAct 和 Agent 编排 * 时间:1 分钟 * 第 2 节:先讲清 Agent 的最小运行时骨架 * 时间:1 分钟

【Js逆向 python】Web JS 逆向全体系详细解释

【Js逆向 python】Web JS 逆向全体系详细解释

Web JS 逆向全体系内容 互联网技术安全提示与职业操守 做渗透测试,必须严格遵守以下原则: 1. 合法授权:仅在书面授权的范围内使用逆向技术,禁止未授权测试; 2. 最小影响:避免使用高风险参数(如sqlmap工具的 --risk=3、--os-shell),防止目标服务崩溃; 3. 数据保护:枚举到的敏感数据(如用户密码)需严格保密,测试后立即删除; 4. 留痕清理:测试结束后,协助目标清除测试留下的日志、文件等痕迹。 免责声明 1. 本文所述所有渗透测试技术、工具、命令及实战案例,仅适用于已获得目标系统 / 网络所有者书面授权的测试场景(如企业内部安全评估、甲方委托的红队测试、个人合法拥有的实验环境)。 2. 任何组织或个人若未取得明确书面授权,擅自将本文内容用于对第三方系统 / 网络的扫描、探测、攻击等行为,均属于非法网络活动,涉嫌违反《中华人民共和国网络安全法》《中华人民共和国刑法》(第