现在,只需一个浏览器,就能跑通“大力出奇迹”的大语言模型(LLjsM)了!
不仅如此,基于LLM的类ChatGPT也能引进来,而且还是不需要服务器支持、WebGPU加速的那种。
(资料图片仅供参考)
例如这样:
这就是由陈天奇团队最新发布的项目—aVLjNSGr—Web LLM。
短短数日,已经在github上揽货3.2K颗星。
首先,你需要下载Chrome Canary,也就是谷歌浏览器的金丝雀版本:
因为这个开发者版本的Chrome是支持WebGPU的,否则就会出现如下的错误提示:
在安装完毕后,团队建议用“终端”输入如下代码启动Chrome Canary:
启动之后,便可以来到官网的demo试玩处开始体验了。
不过在第一次展开对话的时候,系统还会出现一个初始化的过程(有点漫长,耐心等待)。
接下来,我们来看一看Web LLM如何做到“一切尽在浏览器”的。
根据团队介绍,其核心关键技术是机器学习编译(Machine Learning Compilation,MLC)。
整体方案是站在开源生态系统这个“巨人肩膀”上完成的,包括Hugging Face、来自LLaMA和Vicuna的模型变体,以及wasm和WebGPU等。
并且主要流程是建立在Apache TVM Unity之上。
团队首先在TVM中bake了一个语言模型的IRModule,以此来减少了计算量和内存使用。
TVM的IRModule中的每个函数都可以被进一步转换并生成可运行的代码,这些代码可以被普遍部署在任何最小TVM运行时支持的环境中(JavaScript就是其中之一)。
其次,TensorIR是生成优化程序的关键技术,通过结合专家知识和自动调度程序快速转换TensorIR程序,来提供高效的解决方案。
除此之javascript外,团队还用到了如下一些技术:
启发式算法:用于优化轻量级运编程算符以减轻工程压力。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