1. 为什么需要关注 llama.cpp
llama.cpp 是一个用 C/C++ 编写的开源项目,核心目标是在消费级硬件(如笔记本电脑 CPU)上高效运行大型语言模型。它不像 PyTorch 那样是庞大的深度学习框架,更像是一个专注于最小资源消耗的推理引擎。
其优势主要在于两点:纯 C/C++ 实现带来的极致性能,以及模型量化技术带来的体积与速度优化。量化可以理解为在不明显损失效果的前提下,将模型文件大小和加载速度优化到极致。
2. 环境准备与模型获取
2.1 获取与编译 llama.cpp
llama.cpp 源码托管在 GitHub 上。打开终端执行以下命令克隆项目:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
进入项目目录后,运行 make 命令编译。Makefile 会自动检测系统硬件架构并进行优化。编译完成后会生成关键可执行文件:
main:核心推理程序,用于加载模型并与模型对话。quantize:量化工具,负责把高精度模型转换成低精度格式。server:简单的 HTTP API 服务端,可直接把模型包装成 Web 服务。
2.2 准备 GGUF 模型
llama.cpp 最通用且推荐的格式是 GGUF。这是一种专为高效推理设计的模型文件格式。
模型可从 Hugging Face 获取。在 Hugging Face Models 网站上搜索模型并加上'GGUF'关键词过滤。例如搜索'Llama-2-7b-chat GGUF'。
找到合适的模型仓库后,建议直接在网页上下载 .gguf 模型文件,而不是用 git clone 克隆整个仓库,以避免 Git LFS 问题导致文件不完整。下载好的文件建议放在项目根目录下的 models 文件夹里,可以把模型文件放进去,方便后续调用。

