本地推理库 llama.cpp 发布 v1.0.0,底层张量库 ggml 同步升到 1.0。项目团队在 Hugging Face 博客上发文,说这一版是给依赖它的开发者一个更稳的基础:今后 llama.cpp 和 ggml 只要公共 API 或 ABI 出现不兼容,就体现为大版本号的变化。
过去几年,llama.cpp 的发版几乎全靠 b 开头的构建号,代码合进主干就出一个新构建,现在已经数到 b12000 以上。1.0 之后这套构建号并没有停,仍以预发布的形式持续产出;变化在于多了一条有承诺的正式版本线,用的人可以按需选择。
版本号从此有了含义
博客给出的规则很直白:MAJOR 对应 ./include 目录下公共 C 接口的破坏性改动,MINOR 是向后兼容的新功能或新模型支持,PATCH 只修 bug、不动接口,适用于 ggml-org 名下全部项目。团队写道,用的人越来越多,今后会更严格地让这些边界被看见。
为了干净起跑,1.0 先做了一轮清理:删除一批早已标为弃用的公共接口,部分函数改名,上下文参数结构体里加了新字段;ggml 一侧也去掉了弃用 API 和老的 DIAG_MASK 算子。对把 llama.cpp 当库链接进自家产品的开发者,这次升级要改一次代码,之后再跟小版本,就不必担心接口在某个构建里突然消失。
这一版加了什么
除了版本规则,1.0 本身也带来不少更新:
- KV 缓存支持 FP8;新增放在主机内存里的 MoE 专家缓存,可配置 CPU 分担比例;
- 新增 Kimi-K3.1-Pro 等模型支持,Kimi-K3.1 可以处理图像输入;
- llama-server 新增 /v1/audio/speech 语音合成接口,配合 drama-3 TTS 模型;
- 服务端修复 SSRF、CORS 和 DNS 重绑定问题,免认证调用工具、访问私有网址都改成需要显式打开,HF_TOKEN 只发往 huggingface.co。
最后一项对自建服务的人最实际。llama-server 常被当成本地的 OpenAI 兼容接口挂在内网,甚至直接暴露到公网,工具调用一旦默认放开,风险面会跟着放大。改成显式开启,等于把选择权交回给部署的人。
MoE 专家缓存则是冲着眼下的模型形态来的。今年的大模型大多是混合专家结构,总参数动辄几千亿,每一步只激活其中一小部分。显存放不下全部专家时,把暂时用不到的那部分挪到主机内存、按比例交给 CPU 计算,是在消费级显卡上跑大号 MoE 模型的常见折中,这次进了主线,用户不必再找第三方分支。
和数据中心那一路对照
推理框架如今分成两条路。vLLM、SGLang 这类框架面向数据中心 GPU,拼的是批量吞吐和并发;llama.cpp 的目标是让模型在手机、笔记本和工作站上跑起来,靠量化把大模型塞进有限内存,CPU 和 GPU 混合着用。
这一点从后端表能看出来:CUDA、Metal、Vulkan、WebGPU、AMD 的 HIP、英特尔的 SYCL、骁龙 Hexagon,以及摩尔线程的 MUSA 都在列,每个后端可以编成动态库、运行时按需加载。博客称它已支持 150 多种模型架构变体。数据中心框架追新硬件,llama.cpp 追的是长尾设备,两边的用户群重叠不大。
项目在 GitHub 上约有 13.5 万星标、2.56 万个 fork。团队目前在 Hugging Face,博客感谢了 HF 提供的 CI 算力,也列出英伟达、AMD、高通、Arm、IBM 和英特尔给的硬件支持。版本承诺能不能守住,要看接下来几个小版本有没有偷偷改接口。
参考来源:Hugging Face 博客、llama.cpp GitHub 发布页、CocoLoop、llama.cpp 仓库 README;发布页核验 1.0 新增功能、接口清理范围与后端列表。