大概一年前我开始折腾本地大模型,试过各种方案,最后发现 llama.cpp 是个很实在的工具。它由 Georgi Gerganov 开发,纯 C++ 实现,零依赖,目标就是让大模型在各种硬件上(包括笔记本)跑起来,而且性能出色。
它对苹果 M 系列芯片优化得很好,借助 Metal 和 NEON,推理飞快;x86 上也能用 AVX 等指令集;量化支持从 1.5-bit 到 8-bit,节省内存;GPU 方面有 CUDA、Vulkan、SYCL 后端,还能 CPU+GPU 混合推理跑超过显存的模型。
LLaMA、llama.cpp、Ollama 三者关系
经常有人问这几个名字的关系,其实区分开很简单:LLaMA 是 Meta 训练的大模型本身,llama.cpp 是推理引擎,Ollama 是一个带模型管理功能的用户界面,底层也是基于 llama.cpp 的。
GGUF 格式
模型文件格式上,llama.cpp 现在用 GGUF,取代了早期的 GGML。这个格式是自包含的,加载快,支持内存映射,扩展性也好。从 Hugging Face 上下载模型时,通常选 GGUF 版本即可。
Mac M1 实操
我在 MacBook Air M1(8G 内存,macOS 15.0)上试了一下。安装直接用 Homebrew:
brew install llama.cpp
模型从 Hugging Face 找了一个 llama3.2-3B-Instruct 的 Q8_0 GGUF 文件,链接类似 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
启动后直接对话,速度非常快,几乎秒回。M1 的 Metal 加速确实给力。
Linux 实操
另一台阿里云服务器(Intel CPU,2G 内存,Ubuntu 22.04)也试了试。先克隆仓库,安装 cmake,编译:
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
sudo apt install cmake
cmake -B build
下载同一个模型文件,然后运行:
../llama.cpp/build/bin/llama-cli -m Llama-3.2-3B-Instruct-Q8_0.gguf
但 2G 内存的 CPU 机器跑 3B 模型太吃力,推理慢得没法用。生产环境还是得上 GPU 或者直接调 API。
llama.cpp 对小模型在端侧部署确实很有价值,尤其苹果设备上体验极佳。像 Ollama 这样的产品就是在其上加了一层便利,日常用来跑模型足够了。至于模型量化,如果不是自己捣鼓,直接用 Ollama 更省心。


