浏览器就能跑大模型了,陈天奇团队发布 WebLLM,无需服务器支持

现在,只需一个浏览器,就能跑通“大力出奇迹”的大语言模型(LLM)了!

不仅如此,基于 LLM 的类 ChatGPT 也能引进来,而且还是不需要服务器支持、WebGPU 加速的那种。

例如这样:

这就是由陈天奇团队最新发布的项目 ——Web LLM

短短数日,已经在 GitHub 上揽获 3.2K 颗星。

一切尽在浏览器,怎么搞?

首先,你需要下载 Chrome Canary,也就是谷歌浏览器的金丝雀版本:

因为这个开发者版本的 Chrome 是支持 WebGPU 的,否则就会出现如下的错误提示:

在安装完毕后,团队建议用“终端”输入如下代码启动 Chrome Canary:

/Applications/Google\ Chrome\ Canary./Contents/MacOS/Google\ Chrome\ Canary —enable-dawn-features=disable_robustness

启动之后,便可以来到官网的 demo 试玩处开始体验了。

不过在第一次展开对话的时候,系统还会出现一个初始化的过程(有点漫长,耐心等待)。

机器学习编译(MLC)是关键

接下来,我们来看一看 Web LLM 如何做到“一切尽在浏览器”的。

根据团队介绍,其核心关键技术是机器学习编译(Machine Learning Compilation,MLC)。

整体方案是站在开源生态系统这个“巨人肩膀”上完成的,包括 Hugging Face、来自 LLaMA 和 Vicuna 的模型变体,以及 wasm 和 WebGPU 等。

并且主要流程是建立在 Apache TVM Unity 之上。

团队首先在 TVM 中 bake 了一个语言模型的 IRModule,以此来减少了计算量和内存使用。

TVM 的 IRModule 中的每个函数都可以被进一步转换并生成可运行的代码,这些代码可以被普遍部署在任何最小 TVM 运行时支持的环境中(JavaScript 就是其中之一)。

其次,TensorIR 是生成优化程序的关键技术,通过结合专家知识和自动调度程序快速转换 TensorIR 程序,来提供高效的解决方案。

除此之外,团队还用到了如下一些技术:

  • 启发式算法:用于优化轻量级运算符以减轻工程压力。

  • int4 量化技术:用来来压缩模型权重。

  • 构建静态内存规划优化:来跨多层重用内存。

  • 使用 Emscripten 和 TypeScript :构建一个在 TVM web 运行时可以部署生成的模块。

  • ……

上述所有的工作流程都是基于 Python 来完成的。

但 Web LLM 团队也表示,这个项目还有一定的优化空间,例如 AI 框架如何摆脱对优化计算库的依赖,以及如何规划内存使用并更好地压缩权重等等。

团队介绍

Web LLM 背后的团队是 MLC.AI 社区。

据了解,MLC.AI 社区成立于 2022 年 6 月,并由 Apache TVM 主要发明者、机器学习领域著名的青年学者陈天奇,带领团队上线了 MLC 线上课程,系统介绍了机器学习编译的关键元素以及核心概念。

值得一提的是,该团队此前还做过 Web Stable Diffusion,链接都放在下面了,赶快去体验吧~

Web LLM 体验地址:

https://mlc.ai/web-llm/

Web Stable Diffusion 体验地址:

https://mlc.ai/web-stable-diffusion/

参考链接:

  • [1]https://twitter.com/HongyiJin258/status/1647062309960028160

  • [2]https://github.com/mlc-ai/web-llm

本文来自微信公众号:量子位 (ID:QbitAI),作者:金磊

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      文章发布时间太久,仅显示热门评论
      全部评论
      请登录后查看评论
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享