天天看點

浏覽器就能跑大模型了!陳天奇團隊釋出WebLLM,無需伺服器支援

作者:量子位

金磊 發自 凹非寺

量子位 | 公衆号 QbitAI

現在,隻需一個浏覽器,就能跑通“大力出奇迹”的大語言模型(LLM)了!

不僅如此,基于LLM的類ChatGPT也能引進來,而且還是不需要伺服器支援、WebGPU加速的那種。

例如這樣:

浏覽器就能跑大模型了!陳天奇團隊釋出WebLLM,無需伺服器支援

這就是由陳天奇團隊最新釋出的項目——Web LLM。

短短數日,已經在GitHub上攬貨3.2K顆星。

浏覽器就能跑大模型了!陳天奇團隊釋出WebLLM,無需伺服器支援

一切盡在浏覽器,怎麼搞?

首先,你需要下載下傳Chrome Canary,也就是谷歌浏覽器的金絲雀版本:

浏覽器就能跑大模型了!陳天奇團隊釋出WebLLM,無需伺服器支援

因為這個開發者版本的Chrome是支援WebGPU的,否則就會出現如下的錯誤提示:

浏覽器就能跑大模型了!陳天奇團隊釋出WebLLM,無需伺服器支援

在安裝完畢後,團隊建議用“終端”輸入如下代碼啟動Chrome Canary:

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

浏覽器就能跑大模型了!陳天奇團隊釋出WebLLM,無需伺服器支援

啟動之後,便可以來到官網的demo試玩處開始體驗了。

不過在第一次展開對話的時候,系統還會出現一個初始化的過程(有點漫長,耐心等待)。

浏覽器就能跑大模型了!陳天奇團隊釋出WebLLM,無需伺服器支援

機器學習編譯(MLC)是關鍵

接下來,我們來看一看Web LLM如何做到“一切盡在浏覽器”的。

根據團隊介紹,其核心關鍵技術是機器學習編譯(Machine Learning Compilation,MLC)。

整體方案是站在開源生态系統這個“巨人肩膀”上完成的,包括Hugging Face、來自LLaMA和Vicuna的模型變體,以及wasm和WebGPU等。

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

浏覽器就能跑大模型了!陳天奇團隊釋出WebLLM,無需伺服器支援

團隊首先在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 線上課程,系統介紹了機器學習編譯的關鍵元素以及核心概念。

浏覽器就能跑大模型了!陳天奇團隊釋出WebLLM,無需伺服器支援

值得一提的是,該團隊此前還做過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

— 完 —

量子位 QbitAI · 頭條号簽約

關注我們,第一時間獲知前沿科技動态

繼續閱讀