为什么需要关注 llama.cpp
大语言模型通常需要大量显存资源。要在普通电脑上运行 7B 参数模型,以前可能需要昂贵的专业显卡。llama.cpp 是一个用 C/C++ 编写的开源项目,核心目标是用最高效的方式在消费级硬件(如笔记本电脑 CPU)上运行大型语言模型。它更像是一个专注于将训练好的模型以最小资源消耗运行的推理引擎。其优势在于纯 C/C++ 实现带来的极致性能,以及模型量化技术带来的体积与速度优化。量化可以理解为在不明显损失模型效果的前提下,优化文件大小和加载速度。
第一步:准备 llama.cpp 工作环境
获取与编译 llama.cpp
llama.cpp 源码托管在 GitHub 上。打开终端执行以下命令克隆项目:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
进入项目目录后,运行 make 命令进行编译。Makefile 会自动检测系统硬件架构并进行优化。编译完成后会生成几个关键可执行文件:
main:核心推理程序,用于加载模型并与模型对话。quantize:量化工具,负责把高精度模型转换成低精度格式。server:简单的 HTTP API 服务端,可直接把模型包装成 Web 服务。
在普通 Linux 服务器或 Mac 上,编译过程通常一两分钟即可完成。如果编译失败,通常是缺少基础构建工具(如 gcc、make),根据系统提示安装即可。
准备模型文件
llama.cpp 支持多种模型格式,最通用且推荐的是 GGUF 格式。这是一种专门为高效推理设计的模型文件格式。
模型可从 Hugging Face Models 网站搜索获取,建议加上'GGUF'关键词过滤。例如搜索'Llama-2-7b-chat GGUF'。
找到合适的模型仓库后,建议在网页上直接下载 GGUF 模型文件,而不是使用 git clone 克隆整个仓库。部分仓库使用 Git LFS 存储大文件,直接克隆可能导致模型文件不完整,加载时报错。稳妥的做法是在模型文件列表中找到类似 llama-2-7b-chat.Q4_K_M.gguf 的文件直接下载。
下载好的 .gguf 文件,建议放在项目根目录下的 models 文件夹中,这样便于管理。

