llama.cpp v1.0.0:为本地 AI 生态系统打造更坚实的基础
llama.cpp 让多模态 LLM 能够在从消费级本地机器到高端企业服务器的广泛硬件上运行。通过量化、优化后端和可移植的 C/C++ 实现,我们让 AI 推理在软件栈的每一层都能使用。我们相信,这是构建跨平台和私有 AI 产品最轻量、最通用且最合理的平台。
自项目启动以来的 3.5 年里,项目成长了很多,许多下游应用已经依赖我们的工作。随着本地 AI 和隐私在日常生活中变得越来越重要,我们预计这一趋势将持续。每一次新的集成意味着更多开发者依赖我们的库接口,因此拥有灵活但稳定的 API 至关重要。
今天我们发布 v1.0.0 库,凸显我们对这些开发者的责任。今后,llama.cpp 和 ggml 都将通过主版本号递增来体现 API 和 ABI 不兼容性。随着采用范围扩大,我们将更严格地让这些边界对下游使用方清晰可见。
发布
| 发布 | 库 | 公共头文件 |
|---|---|---|
| llama.cpp v1.0.0 - C/C++ 中的 LLM 推理 | libllama | llama.cpp/include/ |
| ggml v1.0.0 - 机器学习张量库 | libggml | ggml/include/ |
语义化版本更新规则
以下规则适用于所有使用语义化版本的 ggml-org 项目:
| 变更类型 | 版本号递增 |
|---|---|
| MAJOR | 对 ./include 中公共 C API 的破坏性变更 |
| MINOR | 向后兼容的功能、后端更新、模型支持或 API 新增 |
| PATCH | 不改变 API 的缺陷修复 |
分发
我们期待扩展 ggml-org 软件的分发方式,使其触达开发者和最终用户。有关如何将 ggml-org 项目添加到打包和发布流水线的更多信息,请查看以下讨论。
| 渠道 | 平台 |
|---|---|
| 预发布构件 | Linux、macOS、Windows、Android、iOS |
| Docker | Linux |
| Debian | Linux |
| Homebrew | macOS、Linux |
| conda-forge | Windows、macOS、Linux |
| MacPorts | macOS |
| Winget | Windows |
| XCFramework | iOS、macOS |
开发
项目培育了一个出色的开源社区,拥有技能高超且才华横溢的贡献者。随着 AI 能力在软件工程领域的快速进步,我们继续以审慎且合理的方式在开发周期中适配并集成 LLM。维护高质量代码库、保持对架构的控制以及理解实现细节,仍将是我们的首要任务。
为了强化更快的开发节奏,我们继续投入越来越多资源来改进项目背后的 CI 基础设施。得益于 HF Buckets 和 HF Jobs 等 HF 技术,我们能够扩展必要容量,以确保进入 master 分支的每项变更的正确性。在 NVIDIA、AMD、Qualcomm、Arm、IBM 和 Intel 的硬件支持下,我们继续在所有主流硬件平台上纳入更多自托管 runner。
后端与模型覆盖
llama.cpp 的底层机器学习引擎 ggml 被设计为可在几乎所有现有硬件上运行。这通过实现专用 ggml 后端达成。每个后端都可以编译为动态库,并可选在运行时加载。
当前已实现后端的完整列表可在此处找到。
我们致力于持续支持所有模型架构。目前,llama.cpp 支持超过 150 种架构变体,以及所有主流投机解码方法。
致谢
llama.cpp v1.0.0:为本地 AI 生态打造更坚实的基础
Hugging Face 的 llama.cpp 团队感谢社区给予的鼎力支持。特别感谢项目的长期维护者以及所有贡献者。这是一个重要的里程碑,没有我们的共同努力就不可能实现!
更多资源
- llama.cpp 示例
- Hugging Face 上的 ggml-org
- Github 上的 ggml-org
- 查看由 llama.cpp 和 Hugging Face 背后的团队倾情打造的 MacOS 和 Windows 版 Llama 桌面应用。