跑量化模型,llama.cpp 比较方便,用 C/C++ 实现,性能很高,还支持 CPU+GPU 做量化模型推理,命令行参数很精细,跑 GGUF 很方便。本文详细介绍安装、运行全过程。
一、什么是 llama.cpp?为什么它如此重要?
llama.cpp 的核心思想是让大模型运行在普通人的消费级硬件上。它通过以下关键技术实现了这一目标:
- C/C++ 实现:没有复杂的 Python 依赖,编译后即是原生可执行文件,性能极高。
- 模型量化 (Quantization):将模型权重从传统的 32 位或 16 位浮点数,压缩成更小的整数(如 4 位、5 位)。这使得模型文件大小和内存占用都减少数倍,而对模型性能的影响却很小。
- GGUF 格式:一种专为 llama.cpp 设计的模型文件格式,将模型结构和量化后的权重打包在一起,方便分发和加载。
- 硬件优化:充分利用现代 CPU 的向量指令集(如 AVX2)和 GPU 的并行计算能力(如 Apple Metal, NVIDIA CUDA),实现惊人的推理速度。
01.第一步:环境准备与基础编译
首先,我们需要安装编译 llama.cpp 所需的基础工具。
- macOS: 打开终端 (Terminal),运行
xcode-select --install。 - Linux (Ubuntu/Debian): 运行
sudo apt update && sudo apt install build-essential git cmake。 - Windows: 安装 Git for Windows, CMake,以及带有'使用 C++ 的桌面开发'工作负载的 Visual Studio Community Edition。
然后,克隆项目仓库:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
在进行下一步编译之前,我们先来了解如何开启 GPU 加速。
02.第二步:开启 GPU 加速(核心步骤)
默认情况下,llama.cpp 只使用 CPU。要发挥硬件的最大潜力,你需要在编译时明确告诉它使用哪个 GPU 后端。
编译命令详解
llama.cpp 使用 cmake 进行编译。开启 GPU 支持的关键是在 cmake 命令后附加 -D 标志。
**对于 AMD/Intel GPU 用户 (使用 OpenCL 或 Vulkan):**这是一个更通用的选项,但性能可能不如官方支持的 CUDA 和 Metal。
cmake -B build -DLLAMA_CLBLAST=ON
cmake --build build --config Release -j
**对于 NVIDIA GPU 用户 (使用 CUDA):**你需要先安装 NVIDIA CUDA Toolkit。安装后,执行:
cmake -B build -DLLAMA_CUDA=ON
cmake --build build --config Release -j
对于 Apple Silicon (M1/M2/M3/M4) 用户 (使用 Metal):
cmake -B build -DLLAMA_METAL=ON
cmake --build build --config Release -j
这会开启 Apple 的 Metal 图形和计算框架,性能极佳。
编译成功后,生成的 llama-cli 和 server 等工具就具备了 GPU 加速的能力。
如果在 RHEL 系统实操遇到报错,可以尝试编辑 CMakeLists.txt 的方法解决内网升级 gcc 的问题。
为了方便使用,可以将编译好的二进制文件复制到模型文件夹中,例如:cp llama.cpp/build/bin/llama-* models/,这样可以非常方便地使用 ./models/llama-cli 直接拉起本地大模型。


