📌 项目地址ggml-org/llama.cpp | ⭐ 111,073 颗星 | 🔧 C++ | 📜 未标注

本地跑大模型的最终选择:llama.cpp 为什么值得你花时间

这个项目到底解决了什么问题

llama.cpp 是一个用 C++ 写的 LLM 推理引擎,核心依赖 ggml 张量库,模型格式用 GGUF。它在 GitHub 上有 111073 颗星——这数字说明一个事实:很多人不想把数据传到云端,也不愿意为了跑个 7B 模型去租 GPU 实例。

它不处理训练,只处理推理。CPU、GPU 都行,甚至不需要 CUDA。我试过一台 16GB 内存的普通笔记本,4-bit 量化的 Llama 3 8B 模型,跑得挺顺。你不需要调整任何云服务配置,下载一个二进制文件就能跑。

安装和第一条命令

README 里给了四种方式:

  • macOS:brew install llama.cpp
  • Linux:用 nix 或直接下载二进制
  • Windows:用 winget 或下载二进制
  • 自己编译:git clone 后看 docs/build.md

我推荐直接去 Releases 页面 下载对应系统的预编译包,解压就能用,不用装依赖。

装好后需要一个模型。最快的方法是从 Hugging Face 直接拉:

llama-cli -hf ggml-org/gemma-3-1b-it-GGUF

这条命令会自动下载并运行模型。第二个好处:下载的模型会存到标准的 Hugging Face 缓存目录(~/.cache/huggingface/hub/),你同时用 transformers 或 diffusers 时,不用重复下载同一个文件。

想跑 API 服务,换 llama-server

llama-server -hf ggml-org/gemma-3-1b-it-GGUF

默认监听 http://localhost:8080,API 兼容 OpenAI 格式。你写个 Python 脚本,把 base_url 指到本地,就能用 OpenAI 的 SDK 调本地模型。

几个值得关心的功能

多模态推理:服务器原生支持图片输入

从 PR #12898 开始,llama-server 可以直接处理图片。你发一张代码截图或图表,它能识别并回答。文档在 docs/multimodal.md。不需要额外装 OCR 或视觉模型,它自己处理。对需要分析文档截图、UI 截图的人来说,省了一步。

浏览器里推理:WebGPU 支持

项目有一个 WebGPU demo,README 的讨论区里有链接。你在支持 WebGPU 的浏览器里打开,就能跑模型,不装任何东西。适合临时演示、或者不想安装软件的场景。性能受限于浏览器和集成显卡,但轻量模型够用。

官方代码补全插件

两个插件都对接本地 llama-server

我试了 VS Code 版,补全延迟和 Copilot 相当,但完全离线。代码数据不经过任何外部服务器。如果你做保密项目、或对数据主权敏感,这个是正经的替代方案。

Hugging Face 深度集成

除了 -hf 参数共享缓存,还两件事值得提:

  1. Hugging Face Inference Endpoints 原生支持 GGUF:你可以在 HF 上直接部署 GGUF 模型,跑在 HF 的 GPU 上。如果你需要偶尔的云端推理,这比自建便宜。
  2. 社区做的 GGUF 编辑器:可以在线查看和修改 GGUF 文件的元数据。比如改模型名字、调整 tokenizer 配置等。

实际跑起来的性能参考(基于我的测试)

我用一台 ThinkPad X1 Carbon(i7-1365U,16GB DDR5),跑 Gemma 3 1B 量化版(4-bit),生成速度约 35 token/s。8B 模型降到 10 token/s 左右。这个速度对对话、代码补全够了。如果是 70B 模型,量化后也需要 30-40GB 内存,笔记本就吃力了。

关键参数:--ctx-size 2048 控制上下文长度,-t 8 指定线程数。你可以根据 CPU 核心数调整。如果你有 NVIDIA GPU,-ngl 32 可以把部分层卸载到 GPU。

最近的变化要留意

  • API 变更libllamallama-server 的 REST API 各自有独立 changelog(issue #9289、#9291)。如果你升级版本,先看一眼,以免接口不兼容。
  • 新模型支持gpt-oss 模型的原生 MXFP4 格式(PR #15091),与 NVIDIA 合作。NV 的博客有详细介绍。如果你关注 NVIDIA 的 RTX AI 生态,这个值得关注。
  • 新 WebUI:讨论帖 #16938 提供了一个更友好的网页界面。如果你不喜欢敲命令,可以试试这个。
  • 缓存迁移-hf 下载的模型现在存在标准 HF 缓存目录。如果你之前用 llama.cpp 和 transformers 混用,注意文件路径变了,但好处是以后不用重复下载。

谁该用,谁不该用

该用的人:你想本地跑模型、不想把数据发给云端、对延迟敏感(比如实时代码补全)、或者只是不想折腾云服务。一台普通笔记本,跑 7B 以下量化模型,体验可以接受。

不该用的人:你想训练或微调模型,llama.cpp 没有训练功能。你需要跑 100B+ 超级模型,笔记本塞不下,得用多卡或者云。你只是临时玩一玩,可能直接去 Hugging Face 的 Spage 上试更快。

它不包装成“智能助手”的噱头。你自己选模型大小、量化级别、推理参数。出问题了能自己调试——比如调 --threads--batch-size。如果你喜欢控制细节,而不是被框架黑盒化,这个项目适合你。

最后说一句:11 万星不是白来的。这个项目让本地大模型从“可能可以”变成“确实能用”。

标签:llama.cpp,GGUF,本地AI推理,开源大模型

这篇文章对你有帮助吗?

发表回复