Article · AI translation
+24
llama.cpp 使多模态大语言模型能够在各种硬件上运行,从消费级本地设备到高端企业服务器。通过量化、优化的后端和可移植的 C/C++ 实现,我们让软件栈各个层级都能使用 AI 推理。我们认为,这是构建跨平台私有 AI 产品最轻量、最灵活、最合理的平台。
项目自创立以来的 3.5 年间发展迅速,许多下游应用已经依赖我们的工作。随着本地 AI 和隐私在日常生活中变得越来越重要,我们预计这一趋势将持续。每增加一项新集成,就意味着有更多开发者依赖我们的库接口,因此灵活而稳定的 API 至关重要。
今天,我们发布库版本 v1.0.0,以体现我们对这些开发者的责任。今后,llama.cpp 和 ggml 都将通过提高主版本号来标示 API 和 ABI 的不兼容变更。随着采用范围扩大,我们会更严格地向下游使用者明确这些兼容性边界。
发布版本
发布版本
库
公共头文件
llama.cpp v1.0.0——使用 C/C++ 进行大语言模型推理
libllama
llama.cpp/include/
ggml v1.0.0——用于机器学习的张量库
libggml
ggml/include/
语义化版本更新规则
以下规则适用于所有采用语义化版本控制的 ggml-org 项目:
变更类型
递增的版本号
主版本号
对 ./include 中的公共 C API 进行不兼容变更
次版本号
向后兼容的功能、后端更新、模型支持或 API 新增内容
修订版本号
不涉及 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 能力在软件工程领域快速发展,我们继续以审慎、合理的方式调整开发流程,并将大语言模型融入其中。保持高质量的代码库、掌控架构以及理解实现细节,仍将是我们的首要任务。
为适应更快的开发节奏,我们持续投入越来越多的资源,改进项目背后的持续集成基础设施。得益于 HF Buckets 和 HF Jobs 等 Hugging Face 技术,我们能够扩展所需的容量,确保每项合入主分支的变更都正确无误。在 NVIDIA、AMD、Qualcomm、Arm、IBM 和 Intel 的硬件支持下,我们继续在所有主要硬件平台上增加自行托管的运行器。
后端和模型覆盖范围
llama.cpp 底层的机器学习引擎 ggml 旨在几乎所有现有硬件上运行。这通过实现专门的 ggml 后端来完成。每个后端都可以编译为动态库,并可选择在运行时加载。
目前已实现的后端完整列表可在此处查看。
我们致力于持续支持所有模型架构。目前,llama.cpp 支持 150 多种架构变体,以及所有主流的推测解码方法。
致谢
Hugging Face 的 llama.cpp 团队感谢社区给予的鼎力支持。特别感谢项目的长期维护者和所有贡献者。这是一个重要的里程碑;没有我们的共同努力,就不可能取得这一成果!
更多资源
llama.cpp 示例
Hugging Face 上的 ggml-org
GitHub 上的 ggml-org
欢迎了解适用于 MacOS 和 Windows 的 Llama 桌面应用,它们由 llama.cpp 和 Hugging Face 背后的团队倾心推出。