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

llama.cpp 大模型本地部署指南

llama.cpp 高性能 C++ 库及其在本地部署大语言模型的应用。阐述了 LLaMA、llama.cpp 与 Ollama 的区别,解释了 GGUF 模型格式的优势。提供了在 Mac M1 和 Linux 环境下安装 llama.cpp 及运行推理的具体步骤,对比了不同硬件下的推理性能,并总结了端侧部署的意义。

观心发布于 2026/4/5更新于 2026/8/2262 浏览
llama.cpp 大模型本地部署指南

llama.cpp 简介

本节介绍什么是 llama.cpp,以及 llama.cpp、LLaMA、Ollama 的区别。同时说明 GGUF 这种模型文件格式。

什么是 llama.cpp

llama.cpp 是一个由 Georgi Gerganov 开发的高性能 C++ 库,主要目标是在各种硬件上(本地和云端)以最少的设置和最先进的性能实现大型语言模型推理。

主要特点:

  • 纯 C/C++ 实现,没有任何依赖
  • 对 Apple Silicon(如 M1/M2/M3 芯片)提供一流支持 - 通过 ARM NEON、Accelerate 和 Metal 框架优化
  • 支持 x86 架构的 AVX、AVX2、AVX512 和 AMX 指令集
  • 支持 1.5 位、2 位、3 位、4 位、5 位、6 位和 8 位整数量化,实现更快的推理和更低的内存使用
  • 为 NVIDIA GPU 提供自定义 CUDA 内核(通过 HIP 支持 AMD GPU,通过 MUSA 支持摩尔线程 MTT GPU)
  • 支持 Vulkan 和 SYCL 后端
  • CPU+GPU 混合推理,可部分加速大于总 VRAM 容量的模型
LLaMA、llama.cpp、Ollama 的区别

经常听到 LLaMA、llama.cpp、Ollama 这三个名字,看起来都包括 llama,但实际上它们是不同的概念:

  1. LLaMA:
    • LLaMA(Large Language Model Meta AI)是由 Meta(Facebook)开发的大型语言模型系列
    • 它是一组开源的基础语言模型,包括不同参数规模的版本(如 LLaMA、LLaMA 2、LLaMA 3 等)
    • LLaMA 是模型本身,即训练好的神经网络权重和架构文件,有不同大小的模型,如 3B、7B、13B、65B、70B、130B 等
  2. llama.cpp:
    • llama.cpp 是一个 C++ 库,用于在 CPU 上高效运行 LLaMA 模型
    • 它是由 Georgi Gerganov 开发的,专注于优化 LLaMA 模型在消费级硬件上的推理性能
    • 主要特点是内存效率高、支持量化(如 4-bit、5-bit、8-bit 量化)以减少内存需求
    • 它是运行模型的推理引擎
  3. Ollama:
    • Ollama 是一个应用程序,让用户能够轻松下载、运行和使用各种大型语言模型
    • 它在底层使用 llama.cpp 作为推理引擎
    • Ollama 提供了友好的命令行界面和 API,简化了模型的管理和使用
    • 它相当于是 llama.cpp 的上层封装,增加了模型管理、会话管理等功能

所以说,LLaMA 是模型本身("大脑"),llama.cpp 是高效运行这些模型的引擎("引擎"),Ollama 是一个用户友好的应用程序,使用 llama.cpp 作为引擎,让普通用户能够轻松使用这些模型("应用")

GGUF

GGUF 是专为 llama.cpp 设计的二进制格式,取代早期的 GGML。GGUF(GPT-Generated Unified Format)是一种用于存储模型以便使用 GGML 和基于 GGML 的执行器进行推理的文件格式,具有以下优势:

  • 高效存储与加载:通过紧凑编码和内存映射技术加速模型载入
  • 自包含性:文件内包含模型架构、超参数等完整信息,无需额外依赖
  • 可扩展性:支持在不破坏兼容性的情况下新增元数据

Mac M1 上安装 llama.cpp 做模型推理

本节介绍如何在 Mac M1 上安装 llama.cpp,并使用模型进行推理。

设备:Mac Book Air (M1 芯片,8G 内存) 系统:macOS 15.0 模型:llama3.2-3B-Instruct

安装

Mac 设备上安装有两种方式,下载源代码编译或者通过 brew 安装。我们直接用 brew 安装。

brew install llama.cpp
下载模型

可以从 Hugging Face 下载 GGUF 格式的模型: https://huggingface.co/models?library=gguf&sort=trending

示例链接: https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/blob/main/Llama-3.2-3B-Instruct-Q8_0.gguf

运行推理
llama-cli -m Llama-3.2-3B-Instruct-Q8_0.gguf

运行成功后,可以看到一些推理参数。比如对 Apple 的图形计算 Metal 的支持、对 ARM 上 NEON 优化的支持等。 [截图:终端显示推理参数及启动信息]

在命令行直接对话: [截图:命令行交互界面]

M1 芯片的 Mac 上,llama.cpp 的推理速度非常快,基本秒出结果。

Linux 下安装 llama.cpp 并使用模型进行推理

本节介绍如何在 Linux 下安装 llama.cpp,并使用模型进行推理。

设备:Linux 服务器 (阿里云服务器:Intel CPU,2G 内存) 系统:Ubuntu 22.04 模型:llama3.2-3B-Instruct

安装
  1. 下载编译
git clone https://github.com/ggerganov/llama.cpp.git
  1. 安装 cmake
sudo apt install cmake
  1. 编译
cmake -B build
运行推理
  1. 下载模型文件 同样使用前面下载的模型文件 Llama-3.2-3B-Instruct-Q8_0.gguf。

  2. 运行推理

../llama.cpp/build/bin/llama-cli -m Llama-3.2-3B-Instruct-Q8_0.gguf

[截图:Linux 终端运行结果]

阿里云服务器是 Intel CPU,所以需要使用 CPU 进行推理。配置比较低,所以推理速度比较慢,不可用。服务端的话还是要购买 GPU 服务器或者直接购买 API 服务做推理。

总结

  1. 由于 llama.cpp 是纯 C/C++ 实现的,能够跨平台部署大模型推理。同时针对不同的硬件做了优化,所以推理速度非常快,尤其是 Apple M1 芯片,完全超出预期。平时用的多的 Ollama 就是基于这个库的封装,对使用模型和应用开发更加友好。如果不做模型量化转换的话,用 Ollama 做本地模型部署就可以了。
  2. 小模型部署在端侧的部署还是很有意义的,比如在手机上部署一个 llama3.2-3B-Instruct 模型,可以实现非常快的推理速度。未来模型同时在端侧和云端部署,端侧模型推理速度更快,云端模型更强大,可以实现非常多的应用场景。

目录

  1. llama.cpp 简介
  2. 什么是 llama.cpp
  3. LLaMA、llama.cpp、Ollama 的区别
  4. GGUF
  5. Mac M1 上安装 llama.cpp 做模型推理
  6. 安装
  7. 下载模型
  8. 运行推理
  9. Linux 下安装 llama.cpp 并使用模型进行推理
  10. 安装
  11. 运行推理
  12. 总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • LangChain 实战:工具调用与结构化输出应用
  • Windows 本地部署 Ollama 与 OpenClaw 构建 AI 生产力系统
  • Web 项目 UI 自动化测试实战:从零搭建博客系统测试框架
  • 使用昇腾 Atlas 300I Duo 推理卡部署 32B 大语言模型 (MindIE+WebUI)
  • 基于统一 API 的大模型选型策略与成本优化实践
  • Git Worktree 原理、实战与避坑指南
  • 基于 Python 的汽车销售数据可视化大屏系统设计
  • Apache IoTDB 国产时序数据库核心功能与快速上手
  • Prometheus 核心函数实战:指标处理与聚合技巧
  • OpenClaw:使用 AI 直接操控电脑的工具指南
  • 基于 Python 的旅行数据可视化与分析系统
  • AI 辅助游戏开发:基于 DeepSeek 构建贪吃蛇游戏
  • Python 入门实战:猜数字游戏完整教程
  • 支持二次开发与标准化 Skill 的开源 Agent 框架选型指南
  • 基于 Stable Diffusion 的企业新春营销素材 Python 生成方案
  • 鸿蒙电商购物车实战:用户管理、商品列表与购物车功能实现
  • AI 技能 UI UX Pro Max 驱动的现代前端 UI 工作流
  • VSCode GitHub Copilot 登录卡顿问题解决方案
  • 大规模语言模型:从理论到实践
  • 基于 Llama-3.1-70B 的聊天机器人部署与功能实测分析

相关免费在线工具

  • 加密/解密文本

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