現在,只需一個瀏覽器,就能跑通“大力出奇跡”的大語言模型(LLM)了!
不僅如此,基于 LLM 的類 ChatGPT 也能引進來,而且還是不需要服務器支持、WebGPU 加速的那種。
例如這樣:
這就是由陳天奇團隊最新發(fā)布的項目 ——Web LLM。
短短數日,已經在 GitHub 上攬獲 3.2K 顆星。
一切盡在瀏覽器,怎么搞?
首先,你需要下載 Chrome Canary,也就是谷歌瀏覽器的金絲雀版本:
因為這個開發(fā)者版本的 Chrome 是支持 WebGPU 的,否則就會出現如下的錯誤提示:
在安裝完畢后,團隊建議用“終端”輸入如下代碼啟動 Chrome Canary:
/Applications/Google\ Chrome\ Canary./Contents/MacOS/Google\ Chrome\ Canary —enable-dawn-features=disable_robustness
啟動之后,便可以來到官網的 demo 試玩處開始體驗了。
不過在第一次展開對話的時候,系統(tǒng)還會出現一個初始化的過程(有點漫長,耐心等待)。
機器學習編譯(MLC)是關鍵
接下來,我們來看一看 Web LLM 如何做到“一切盡在瀏覽器”的。
根據團隊介紹,其核心關鍵技術是機器學習編譯(Machine Learning Compilation,MLC)。
整體方案是站在開源生態(tài)系統(tǒng)這個“巨人肩膀”上完成的,包括 Hugging Face、來自 LLaMA 和 Vicuna 的模型變體,以及 wasm 和 WebGPU 等。
并且主要流程是建立在 Apache TVM Unity 之上。
團隊首先在 TVM 中 bake 了一個語言模型的 IRModule,以此來減少了計算量和內存使用。
TVM 的 IRModule 中的每個函數都可以被進一步轉換并生成可運行的代碼,這些代碼可以被普遍部署在任何最小 TVM 運行時支持的環(huán)境中(JavaScript 就是其中之一)。
其次,TensorIR 是生成優(yōu)化程序的關鍵技術,通過結合專家知識和自動調度程序快速轉換 TensorIR 程序,來提供高效的解決方案。
除此之外,團隊還用到了如下一些技術:
啟發(fā)式算法:用于優(yōu)化輕量級運算符以減輕工程壓力。
int4 量化技術:用來來壓縮模型權重。
構建靜態(tài)內存規(guī)劃優(yōu)化:來跨多層重用內存。
使用 Emscripten 和 TypeScript :構建一個在 TVM web 運行時可以部署生成的模塊。
……
上述所有的工作流程都是基于 Python 來完成的。
但 Web LLM 團隊也表示,這個項目還有一定的優(yōu)化空間,例如 AI 框架如何擺脫對優(yōu)化計算庫的依賴,以及如何規(guī)劃內存使用并更好地壓縮權重等等。
團隊介紹
Web LLM 背后的團隊是 MLC.AI 社區(qū)。
據了解,MLC.AI 社區(qū)成立于 2022 年 6 月,并由 Apache TVM 主要發(fā)明者、機器學習領域著名的青年學者陳天奇,帶領團隊上線了 MLC 線上課程,系統(tǒng)介紹了機器學習編譯的關鍵元素以及核心概念。
值得一提的是,該團隊此前還做過 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),作者:金磊
廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。