大模型本地部署神器:llama.cpp使用介绍

大模型本地部署神器: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这三个名字,看起来都包括lalama,但实际上它们是不同的概念:

  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的执行器进行推理的文件格式。,具有以下优势:

  • 高效存储与加载:通过紧凑编码和内存映射技术加速模型载入47。
  • 自包含性:文件内包含模型架构、超参数等完整信息,无需额外依赖7。

可扩展性:支持在不破坏兼容性的情况下新增元数据 下图是一个文件格式介绍:

image.png

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

下载模型

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优化的支持等。

Screenshot 2025-03-21 at 18.14.36.png

在命令行直接对话:

Screenshot 2025-03-21 at 18.15.23.png

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 安装cmake
sudo apt install cmake
  1. 编译
cmake -B build

运行推理

  1. 下载模型文件

同样使用前面下载的模型文件Llama-3.2-3B-Instruct-Q8_0.gguf。

  1. 运行推理
../llama.cpp/build/bin/llama-cli -m Llama-3.2-3B-Instruct-Q8_0.gguf

Screenshot 2025-03-21 at 19.04.49.png

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

总结

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

参考资料

  1. https://github.com/ggml-org/llama.cpp
  2. https://github.com/ggml-org/ggml/blob/master/docs/gguf.md
  3. https://github.com/ggml-org/llama.cpp/blob/master/docs/install.md
  4. https://juejin.cn/post/7332652230711509055
  5. https://agi-sphere.com/install-llama-mac


 

 大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。


2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书 

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。



4.LLM面试题和面经合集


这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。



👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集***

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

Read more

深入解析OpenClaw Skills:从原理到实战,打造专属机器人技能

深入解析OpenClaw Skills:从原理到实战,打造专属机器人技能

一、OpenClaw Skills:机器人行为的“最小执行单元” 1.1 什么是OpenClaw Skills? OpenClaw是面向开源机械爪/小型机器人的控制框架(核心仓库:openclaw/openclaw),旨在降低机器人行为开发的门槛。而Skills(技能) 是OpenClaw框架中对机器人“单一可执行行为”的封装模块——它将机器人完成某一特定动作的逻辑(如“夹取物体”“释放物体”“移动到指定坐标”)抽象为独立、可复用、可组合的代码单元。 简单来说: * 粒度:一个Skill对应一个“原子行为”(如“单指闭合”)或“组合行为”(如“夹取→移动→释放”); * 特性:跨硬件兼容(适配不同型号机械爪)、可插拔(直接集成到OpenClaw主框架)、可扩展(支持自定义参数); * 核心价值:避免重复开发,让开发者聚焦“

【Axure教程】AI自动对话机器人

【Axure教程】AI自动对话机器人

AI对话机器人的应用已经非常广泛,从你日常使用的手机助手到企业复杂的客服系统,背后都有它的身影。所以今天就教大家在Axure里制作Ai对话机器人的原型模版,制作完成后,只需要在中继器表格里输入问题和答案,预览时就可以实现自动回复。具体效果你们可以观看下面的视频或打开原型预览地址亲自体验 【原型效果】 1、在输入框里输入问题后,自动搜索问题列表,如果找到答案,机器人自动回复;如果找不到答案,也会回复引导话术。 2、机器人回复时,会模拟打字输入效果,逐字回复。 3、问题和答案,可以在中继器表格里添加或修改。 【原型预览含下载地址】 https://axhub.im/ax10/bcf9d9e5357143b7/#c=1 【制作教程】 本原型模版主要分成底部背景、欢迎区域、问题列表、对话区域输入区域 1.底部背景 底部背景用矩形和线段制作,如下图所示摆放 2.欢迎区域 欢迎区域包括图标和文字,默认未提问时显示。 3.问题列表 问题列表用中继器制作,中继器里摆放矩形和文本标签,矩形用于显示文字,文本标签用于记录答案,

【Mac 实战】简单知识图谱搭建步骤详解(Neo4j + py2neo)

【Mac 实战】简单知识图谱搭建步骤详解(Neo4j + py2neo)

目录 一、Neo4j图数据库 1、neo4j 安装 - mac brew版 2、neo4j 快速入门 3、neo4j 基本操作 (1)增操作 (2)查操作 (3)改操作 (4)删操作 4、安装py2neo 二、数据预处理 1、数据清洗 2、知识建模 (1)识别实体 (2)识别实体属性 (3)识别关系 三、搭建知识图谱 博主的数据集是用的自己的数据集,大家练习时可以在网上找一个数据量小的数据集练手。 一、Neo4j图数据库         Neo4j 是一个高性能的、原生的图数据库。它不采用传统的行和列的表格结构,而是使用节点和关系的图结构来存储和管理数据。 1、neo4j

从人类视频到机器人跳舞:BeyondMimic 全流程解析与 rl_sar 部署实践

从人类视频到机器人跳舞:BeyondMimic 全流程解析与 rl_sar 部署实践

0. 前言 让人形机器人学会跳舞,听起来像是科幻电影中的场景,但在强化学习和运动模仿技术的推动下,这件事正在变得越来越现实。本文将完整介绍一条从"人类 RGB 视频"到"真实机器人跳舞"的技术链路:首先通过视觉算法从视频中提取人体运动轨迹,然后将人体模型重定向到机器人关节空间,接着在仿真环境中进行强化学习训练,最后在 MuJoCo 中验证并部署到真实的 Unitree G1 人形机器人上。 整条流程涉及四个核心开源项目:GVHMR(视频到人体模型)、GMR(人体到机器人重定向)、BeyondMimic(强化学习训练框架)、以及 rl_sar(仿真验证与真机部署框架)。本文不仅会逐一拆解每个环节的原理和操作步骤,还会深入分析 BeyondMimic 的算法设计,并详细记录将训练产物迁移到 rl_sar 项目中进行 sim2sim 和 sim2real 部署时遇到的关键问题与解决方案。 下图展示了