llamafile:让大众轻松拥有大语言模型 (LLMs),甚至在您的个人电脑上 [译]

作者:

Stephen Hood

llamafile:让大众轻松拥有大语言模型 (LLMs),甚至在您的个人电脑上 [译]

Mozilla 最新创新项目介绍: llamafile。这是一个开源项目,它巧妙地简化了构建完整的大语言模型聊天机器人的复杂过程,将其凝练为一个能在六种操作系统上运行的单一文件。接下来的内容,我们将分享我们为何开发 llamafile,我们是如何做到的,以及我们期望它对开源人工智能 (AI) 产生的影响。

现在,大多数人都是通过商业云服务和应用程序,比如 ChatGPT,来使用大语言模型 (LLMs)。许多初创企业和开发者也是如此,他们依靠像 OpenAI 这样的公司提供的 API 来构建应用程序甚至是整个公司。这就引出了一系列关于隐私、获取途径和控制权的重要问题。比如,谁在监听我们的聊天内容?我们的数据会如何被利用?谁来决定模型可以回答哪些问题,哪些不行?

如果我们不采取行动,这个新兴的 AI 时代可能最终会被几家大型科技公司所垄断。这种情况下,上述问题可能变得难以甚至无法解答。我们只能选择去“信任”这些以盈利为目的的公司会做出正确的选择。然而,从计算机和网络的发展历史来看,我们有必要准备一个备选方案。

Mozilla 认为,开源可能是解决这一问题的强有力的方法之一。正如开源技术对 Mozilla 致力于推动一个自由开放的网络所扮演的关键角色一样,它也能在确保人工智能 (AI) 保持自由和开放方面起到重要作用。开源可以揭开 AI 的“神秘面纱”,让公众能够深入了解。开源的精髓在于透明性——如果你能够彻底审视一项技术,那么你就有能力理解它、改进它,并对其进行控制。因此,开源人工智能 (AI) 带来的透明度不仅增强了信任感和安全性,还能通过降低进入门槛、增加用户选择来促进竞争。更重要的是,它能将这项技术直接交到广大民众手中。

过去一年里,开源 AI 领域取得了显著进步,这是个好消息。从 Meta 发布他们的 LLaMA 模型起,我们见证了一系列“开放”模型的迅猛增长,这一现象就像是技术界的一次大爆发。仿佛遵循着摩尔定律,每一款新模型都在变得更优秀、更快速,且体积更小。尽管围绕这些模型是否真正“开源”有诸多讨论,但相比商业模型,它们通常更开放、更透明。开源 AI 软件 也迎来了创新的复兴,涵盖了推理运行时、用户界面、编排工具、AI 智能体以及训练工具等方面。

遗憾的是,在开源 AI 领域,事情并不像预期的那么简单。要启动并运行一个开源大语言模型(LLM)堆栈是一项挑战。您可能需要克隆 GitHub 仓库、安装大量的 Python 依赖、使用 Nvidia 的特定版本 SDK、编译 C++ 代码等等。更令人头疼的是,这个领域的进展飞速,导致昨天有效的指南和教程今天可能就过时了。甚至开放大语言模型的文件格式也在不断变化。简而言之,使用开源 AI 需要丰富的专业知识和极高的投入。

但如果使用它变得简单呢? 如果使用开源 AI 就像双击一个应用程序那样容易呢? 如果是这样,将会有更多的开发者能够使用这项技术,加入到其作为商业产品替代品的发展中。同时,更多的日常用户也能够选择开源解决方案,而不是闭源的。

Mozilla 对这些问题充满好奇,因此我们开始探索和寻找。很快,我们找到了两个令人赞叹的开源项目,它们共同构成了一个完美的解决方案:

llama.cppGeorgi Gerganov 发起的一个开源项目。这个项目实现了一个精妙的功能:它让运行大语言模型在普通消费级硬件上变得简单,依赖 CPU 而不是高端 GPU(当然,如果你有 GPU,它也可以利用)。结果令人惊叹:在各种设备上,从 MacBook 到 Raspberry Pi,大语言模型都能高效运行,产出速度惊人地快。

CosmopolitanJustine Tunney 创立的一个开源项目。它的一个独特之处在于:让程序能够跨多种操作系统和硬件架构进行分发和运行。这就意味着你可以仅编译一次程序,然后生成的可执行文件几乎能在任何现代计算机上运行,而且能够顺利工作!

我们发现,将这两个项目结合起来,我们能够 把一个完整栈的大语言模型 (LLM) 聊天机器人的复杂性压缩成一个能够在任何地方运行的单文件。Justine 凭借她对 Cosmopolitan 和 llama.cpp 的深入了解,非常适合这项挑战。另外,Mozilla 已经通过 Mozilla Internet Ecosystem (MIECO) 计划与 Justine 合作,该计划实际上支持了她在 Cosmopolitan 最新版本的工作。于是,我们决定联手。

一个月后,借助 Justine 非凡的工程才华,我们推出了 llamafile

llamafile 的运行情况
llamafile 的运行情况

llamafile 将大语言模型转化成一个单一的可执行文件。无论你是开发者还是普通用户,只需选择你想运行的大语言模型,下载其 llamafile,然后执行即可。llamafile 支持 种操作系统(包括 Windows、macOS、Linux、OpenBSD、FreeBSD 和 NetBSD),通常无需安装或配置。如果你有高级 GPU,它会利用你的 GPU 运行;如果没有,它则使用 CPU。它让开源的大语言模型可以在日常消费级硬件上轻松使用,无需任何专业知识。

我们相信,llamafile 对于开源 AI 的普及是一个重大进步。但更深层次地,llamafile 也在推动 Mozilla 所倡导的“本地 AI”概念。

本地 AI 指的是在你自己的计算机或设备上运行的 AI,而非云端或他人的计算机。你的设备。这意味着它始终可供你使用。使用本地 AI 时,你不依赖于互联网连接。即使关闭了 WiFi,它仍然能够运行。

这也意味着 AI 完全受你控制,这种权力是无人能夺走的。没有人会偷听你的问题,或阅读 AI 的回答。没有人能够接触到你的数据。没有人能在你毫不知情的情况下改变 AI 的行为方式。AI 当前的运作模式将会永远保持。正如 Simon Willison 最近的一次观察所描述的,你可以将一个 llamafile 存储在 USB 驱动器中,隐藏在保险柜里,甚至在僵尸末世后挖掘出来使用,它依旧能够运行。

我们相信,本地 AI 在未来计算领域将发挥关键作用。它是开源在对抗中心化、企业控制的 AI 方面的一个重要手段。通过在消费级硬件上离线运行,本地 AI 将使每个人都能接触到 AI 技术,而不仅限于那些拥有高端设备和快速网络的人。我们预见一个即将到来的未来,在这个未来,运行在低配置设备上的小型高效模型将为全球人民提供强大功能,无论他们的网络状况如何。我们开发了 llamafile 不仅是为了支持开源 AI 运动,还是为了推动本地 AI 的实现。我们对这两个方向都充满信心,并且你将看到 Mozilla 在未来为支持它们做出更多努力。

无论你是一名开发者还是仅对大语言模型(LLM)感兴趣,我们都希望你能尝试一下 llamafile,并分享你的想法!