生成式AI應用從2024年開始百花齊放,加速了新一代雲原生技術WebAssembly的普及,將在2025年成為封裝和部署雲原生應用的新主流。
在2024年底Kubecon北美場大會中,網頁組合語言技術WebAssembly(簡稱Wasm),這項發展了十年的網頁開發技術,成了K8s生態圈2024年大會中最熱門的話題。包括美國高盛金融集團、德國製造大廠博世Bosch集團、工廠自動化設備大廠西門子等,都現身分享使用經驗。
這項技術大受歡迎的其中一項關鍵原因,就是可以用來解決生成式AI推論啟動速度太慢的問題。Wasm平臺新創Fermyon技術長Radu Matei曾指出,容器技術是許多AI開發者愛用的AI推論應用部署技術,就是為了用更快速度來產生模型推論結果。但是,「容器化AI冷啟動最大的挑戰是,數GB的容器映像檔和LLM模型資料。」
Wasm打包的AI應用檔案僅數十MB,冷啟動超快
想要在裝置端用GPU執行一隻AI推論應用,除了這隻應用的程式碼之外,還需要對應模型和模型執行環境,但是,光是Nvidia的CUDA runtime,加上主流的AI技術框架,如PyTorch函式庫,這隻本地端AI推論應用的容器映像檔,至少要4.8GB大小,若AI推論所用的LLM模型檔案大小多達10GB。要用容器技術部署一隻AI推論應用,至少要15GB,冷啟動的時間,往往長達數十秒,甚至好幾分鐘。想要讓LLM快速回應使用者的提示指令,得占用裝置端有限的記憶體,預先啟動載入一隻AI推論服務來待命,才能提供及時的生成結果,這就大大局限了AI推論可部署和執行的模式。
Radu Matei強調,改用Wasm技術來封裝同樣的AI推論應用程式碼,只需要數MB檔案大小,遠低於數GB大小的容器映像檔。冷啟動速度甚至能大幅縮短到只要幾毫秒,也就千分之幾秒,可以切割出短暫的GPU算力,來提供「剛好即時(Just in time)」的AI推論回應。「不需要將GPU綁定到特定容器來待命,可以簡化和更善用GPU基礎架構的算力。」這正是Wasm大受生成式AI開發者青睞的關鍵,根據CNCF組織在2023年的Wasm大調查,當時已有3成Wasm開發者用於AI應用的開發。
現在也有專門用Wasm打包的AI推論框架LlamaEdge,提供一個10億參數量的Llama 2模型的推論執行環境,用這項技術封裝後的部署檔案大小只有30MB,可以在Docker和Kubernetes叢集中,提供GPU原生應用的執行速度,而且可以通吃不同處理器平臺,包括x86陣營的Intel、AMD處理器,或是arm陣營處理器。
目前已有超過40種語言支援Wasm,包括Rust、C、C++、JavaScript和GO語言。不只桌機和伺服器環境,還可以在邊緣裝置,甚至是IoT設備上執行Wasm程式。Docker引擎也開始支援Wasm,可以直接在容器執行環境中,執行Wasm的二進位元件檔。微軟也在2023年發表了,可以在Hypervisor上直接執行Wasm應用的技術專案Hyperlight,讓虛擬機器、容器和Wasm在同一個Hypervisor環境中並存,1秒鐘就可以啟動1千個執行Wasm應用的微型VM。
不過,從CNCF在2023年底公布的Wasm大調查,可以看到,Wasm開發工具鏈的發展還不夠完備,Wasm開發者也需要克服封裝後的Wasm除錯困難、不同Wasm Runtime的效能和開發體驗差異很大等課題,想要上手Wasm的學習門檻不小。
主流開發工具VS Code開始支援Wasm
在2024年,主流開發工具開始支援Wasm的開發。微軟在2024年5月,發布了VS Code的WebAssembly執行引擎外掛,可以將C/C++或Rust開發的程式碼,編譯成WebAssembly檔案,直接在VS Code中執行這些程式。微軟這款外掛,讓開發者更容易撰寫、除錯和部署Wasm應用,也能與其他人協同開發。
Wasm開源專案WASI最新的0.2版,正在發展一個全新的元件模式,可以讓不同開發語言所編譯的Wasm程式,透過一套標準的輸入輸出方式互相溝通。例如用Go語言寫的Wasm元件,和用Rust語言寫的Wasm元件,可以像用同一種語言開發的元件互相溝通,甚至在一隻更大的Wasm程式中混用。
VS Code也開始支援這個元件模式,可以讓JavaScript或TypeScript程式碼,直接使用其他語言開發的Wasm元件。
Wasm新元件模式,更易混用多代理AI元件
隨著科技巨頭,諸如Meta、Google、微軟、AWS等,紛紛開源釋出了可落地部署用的LLM模型或SLM小模型,WebAssembly技術可以成為打包這些地端模型的封裝技術,大幅減少AI推論應用的檔案大小,也加快冷啟動速度。
甚至,WASI新的元件模式,可以讓不同模型的Wasm元件,更容易直接溝通,甚至在同一隻大型應用中混用,例如將擅長特定語言翻譯LLM,與擅長規畫的LLM,以Wasm元件形式封裝後來溝通。甚至,可以將擅長不同功能的AI代理程式,封裝成Wasm元件,放入到一隻本地端軟體中來協同作業。也有助於建立一套統一的套件管理方式,來管理由不同第三方、不同技術所開發的AI代理程式。
AI代理開發工具在2024年開始成熟,結合Wasm,可以封裝出檔案超小的AI代理程式,更容易部署到本地端,提供及時反應、離線可用的多AI代理型協作應用。生成式AI應用百花齊放的2025年,龐大AI推論需求,將加速雲原生明日之星Wasm加速普及,成為企業IT必須熟悉的開發主流之一。
熱門新聞
2025-01-13
2025-01-10
2025-01-13
2025-01-13
2025-01-13
2025-01-10