1. 环境准备:从零开始的硬件与软件栈
对于希望在本地运行大模型的用户,llama.cpp 是一个轻量级推理引擎,能将 Hugging Face 上的模型转换为 GGUF 格式文件,然后在本地电脑上——无论是 Mac 的 Apple Silicon 芯片,还是 Windows/Linux 的 CPU 或 NVIDIA GPU——流畅地运行。
本文介绍从环境准备到模型量化、再到跨平台高效推理的完整流程。重点分享在不同硬件(CPU、Apple Metal、NVIDIA CUDA)下的部署差异,以及如何针对单卡和多卡进行性能调优。无需深厚的 C++ 背景或深度学习框架经验即可操作。
在开始动手之前,先理清需要准备的东西。硬件上,主要分为三种情况:纯 CPU、苹果电脑的 Metal(Apple Silicon M 系列芯片),或者带有 NVIDIA 显卡的电脑。软件栈主要围绕 llama.cpp 的编译环境。对于大多数 Linux 和 macOS 用户,系统自带的终端和包管理器(如 apt、brew)就足够了。Windows 用户推荐使用 WSL2(Windows Subsystem for Linux),它能提供一个近乎原生的 Linux 环境。
注意:无论你选择哪种硬件路径,第一步都是确保你的系统有基础的编译工具链。打开终端,输入
gcc --version或clang --version查看,如果没有,就用sudo apt install build-essential(Ubuntu)或xcode-select --install(macOS)来安装。
2. 编译 llama.cpp:针对不同硬件的'定制化'构建
拿到 llama.cpp 的源代码后,需要根据你的硬件环境进行编译,生成最适合你机器的可执行文件。
2.1 获取源代码与基础准备
首先,克隆仓库。打开终端,执行命令:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
这个仓库里包含了所有的源代码和工具。接下来,需要编译工具 make。通常 Linux 系统已经自带,如果没有,用 sudo apt install make 安装。macOS 用户如果安装了 Xcode Command Line Tools,也会包含 make。为了确保万无一失,还需要安装 cmake 和 pkg-config。一条命令搞定:
# Ubuntu/Debian
sudo apt update && sudo apt install build-essential cmake pkg-config
# macOS (使用 Homebrew)
brew install cmake pkg-config
准备工作就绪,现在进入关键环节:针对不同硬件编译。
2.2 CPU 版本编译:最通用的起点
CPU 版本是兼容性最广的,不依赖任何特殊的图形 API,完全依靠中央处理器进行计算。编译命令也最简单:
make
这个命令会调用 Makefile,自动检测系统环境,编译出纯 CPU 版本的可执行文件,比如 main、llama-cli、llama-server 等。编译完成后,可以运行 ./llama-cli -h 查看帮助信息,确认编译成功。对于只是想体验或者硬件没有 GPU 的用户来说,这一步就够了。但 CPU 推理速度相对较慢,尤其是大模型,所以如果你的机器有 GPU,建议继续查看后续内容。
2.3 Metal (Apple Silicon) 版本编译:榨干苹果芯片的性能
如果你用的是搭载 M1、M2、M3 等 Apple Silicon 芯片的 Mac,那么 Metal Performance Shaders (MPS) 是你的性能利器。它允许计算任务直接跑在强大的集成 GPU 上。编译时,需要显式地启用 Metal 支持。

