Llamas on the Web: Memory-Efficient, Performance-Portable, and Multi-Precision LLM Inference with WebGPU
本文介绍了 LlamaWeb,这是一个 llama.cpp 的 WebGPU 后端,它通过利用静态内存规划、可调节的核函数库和模板化 GPU 核函数,在浏览器中实现了内存高效、性能可移植且支持多精度的大语言模型推理,与现有框架相比,在多样化的硬件上显著降低了内存占用并提升了解码吞吐量。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你希望直接在网页浏览器(如 Chrome 或 Safari)中运行一个超级智能的 AI 助手(大型语言模型,即 LLM)。通常,这些 AI“大脑”体积庞大且极度消耗内存,需要依赖昂贵的大型服务器才能运行。本文的目标是将这个巨型“大脑”缩小,使其能够适配你的笔记本电脑或手机,而不会导致浏览器崩溃,同时保持其运行速度快且隐私安全。
作者构建了一个名为 LlamaWeb 的新工具。你可以将其视为一种专用的“翻译器”,它让流行的 AI 引擎 llama.cpp 能够使用网页浏览器的语言(具体而言是一种名为 WebGPU 的技术)。
以下是他们如何利用一些日常类比来解决三大核心问题的方法:
1. 内存问题:“搬家卡车与装箱清单”
问题所在: 现有的浏览器 AI 工具就像一家混乱的搬家公司。它们在搬运过程中不断抓取新的箱子(内存),有时甚至抓取过多,导致浏览器崩溃或运行速度降至爬行状态。此外,它们在搬运家具(模型权重)之前,还会进行不必要的复制。
LlamaWeb 的解决方案:
- 静态规划: LlamaWeb 不像其他工具那样临时抓取箱子,而是在卡车到达前审视整栋房子,精确计算出所需的箱子数量。它在开始时就将所有内容打包进一个预先设定好大小的“内存竞技场”中。不再需要在搬运中途额外抓取箱子。
- 直接加载: 它不再先将家具卸在车道上(CPU 内存),然后再装进卡车(GPU 内存),而是直接将家具从仓库装载到卡车上。
- 结果: 他们发现,LlamaWeb 比竞争对手节省了 29–33% 的内存。这就像将整整一个客厅塞进了一辆原本只能容纳一张沙发的货车里。
2. 性能问题:“万能遥控器与定制遥控器”
问题所在: 互联网上充斥着各种各样的计算机:有的配备 NVIDIA 显卡,有的搭载 Apple 芯片,有的在手机里,有的在笔记本电脑中。现有的工具就像是一个“万能遥控器”,试图兼容所有设备,却未能利用任何特定电视上的特殊按钮,导致性能低下。
LlamaWeb 的解决方案:
- 可调内核: LlamaWeb 就像一个可以自我重新编程的智能遥控器。启动时,它会检测自己运行在何种“电视”(硬件)上。如果是在强大的 NVIDIA 显卡上,它就会使用高速的“子组”功能;如果是在手机上,则切换到更高效的模式。
- 结果: 在四种不同类型的显卡上,LlamaWeb 在生成文本(解码)方面的速度比其他浏览器工具快 45–69%。它不仅仅是一个万能遥控器,更是一个确切知道如何从你特定电视上获得最佳画面的遥控器。
3. 格式问题:“瑞士军刀”
问题所在: AI 开发者不断发明新的 AI 模型压缩方法(称为“量化”),以减小模型体积。有些是 4 位,有些是 8 位,有些是 1 位。旧工具就像是一把只能拧一种螺丝的螺丝刀。如果出现了一种新螺丝,该工具就毫无用处了。
LlamaWeb 的解决方案:
- 模板化内核: LlamaWeb 的构建方式如同瑞士军刀。它拥有一个“模板”系统,可以瞬间更换工具头以适配任何螺丝(量化格式),而无需重新制造整把刀。
- 结果: 它支持 23 种不同的权重格式,而竞争对手仅支持 6 或 7 种。这意味着,如果开发者明天发明了一种全新的、超高效的压缩方法,LlamaWeb 很可能无需软件更新即可立即运行它。
整体成果
团队在来自 8 家不同制造商(包括 NVIDIA、Apple、Intel、AMD 以及移动芯片厂商)的 16 种不同设备 上对此进行了测试。
- 内存: 它节省了海量 RAM,防止了在内存受限设备(如 iPhone)上发生崩溃。
- 速度: 它比其他基于浏览器的 AI 工具快得多。
- 通用性: 它可以运行几乎任何
llama.cpp社区支持的模型,该社区拥有一个包含超过 177,000 个模型的庞大库。
一个注意事项: 虽然 LlamaWeb 在逐字生成文本(“解码”阶段)方面表现出色,但在读取初始提示(“预填充”阶段)时,目前相比某些竞争对手速度稍慢。不过,作者指出,随着浏览器技术的进步,这一差距预计将会缩小。
简而言之,LlamaWeb 是一款新引擎,它使得在浏览器中运行强大的 AI 成为可能,既保护隐私又高效,确保你在与 AI 聊天时,电脑不会过热熔化。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。