llamafile 将大语言模型 LLM 变成一个可执行文件
llamafile 是一个 Mozilla 开源项目, llamafile 可以把大语言模型 (LLM) 的权重文件转换成可执行文件。
比如说,你有一个 4GB 的 LLM 权重文件(采用常用的 GGUF 格式)。通过 llamafile,你可以把这个 4GB 的文件转换成一个可以在六个操作系统上运行的二进制文件,无需安装。
这大大简化了 LLM 的分发和运行。此外,随着模型和权重格式的不断变化,llamafile 提供了一种方法,确保这些权重始终可用并且性能稳定一致。
我们通过结合两个我们喜欢的项目实现了这一点:llama.cpp(一个领先的开源 LLM 聊天机器人框架)和 Cosmopolitan Libc(一个开源项目,使 C 程序可以在多种平台和架构上编译和运行)。在此过程中,我们还解决了几个有趣且具有挑战性的问题,比如为 Cosmopolitan 添加 GPU 和 dlopen() 支持;你可以在项目的 README 中了解更多信息。
llamafile 的第一个版本是 Mozilla 创新小组的成果,由 Cosmopolitan 的创建者 Justine Tunney 开发。Justine 最近通过 MIECO 项目与 Mozilla 合作,Mozilla 资助了她在 Cosmopolitan 3.0 版本上的工作(Hacker News 讨论)。通过 llamafile,Justine 很高兴能够更直接地为 Mozilla 项目做出贡献,我们也很高兴她的参与。
llamafile 采用 Apache 2.0 许可证,我们鼓励大家贡献代码。我们对 llama.cpp 本身的修改采用 MIT 许可证(与 llama.cpp 本身相同),以便于未来的上游合并。我们都是 llama.cpp 的忠实粉丝;没有它和 Cosmopolitan,就不会有 llamafile。