返回首頁

推論系統

Hugging Face 開源 207 個 WebGPU 核心,將瀏覽器 AI 算子改造成可版本化套件

`@huggingface/kernels` 可從 Hub 動態載入附帶介面、測試與 WGSL 實作的 GPU 算子。官方在 Apple M4 的算子級測試中報告幾何平均快 2.57 倍,但結果不包含模型載入、編譯與資料傳輸成本。

Lawrence Systems · CC BY 3.0 · Image source
zh-Hant

Hugging Face 釋出預覽版 `@huggingface/kernels`,首批收錄 207 個採 Apache 2.0 授權的 WebGPU 算子,涵蓋矩陣乘法、正規化、卷積、注意力、量化及資料布局轉換。與把 WGSL shader 固定寫進推論框架不同,每個算子都是 Hub 上的獨立版本化儲存庫,並附 `manifest.json` 介面契約、來源與雜湊資訊、正確性案例、效能案例及參數化 WGSL 模板。

JavaScript 應用可用 `getKernel()` 指定儲存庫 ID 與契約版本;載入器依輸入張量推導輸出形狀與型別,再為目前裝置選擇適合的實作變體。契約版本刻意與 ONNX opset、算子 `since_version` 及模型 revision 分離,讓底層 shader 可以更新,而上層呼叫介面維持穩定。這種拆分也使單一核心能獨立測試、回退與比較,未來較容易被 Transformers.js 或 ONNX Runtime Web 等高階執行環境採用。

官方以 Apple M4、開發版 ONNX Runtime Web 比較 1,756 個案例,篩出雙方結果一致且計時可靠的 809 例;新核心取得 629 勝、176 負、4 和,幾何平均加速 2.57 倍、中位數 1.90 倍。MatMul 僅快 1.14 倍,Softmax 與 LayerNormalization 分別為 2.11、2.22 倍,顯示收益高度依賴算子與形狀,少數上萬倍結果則來自對手落入特殊慢速路徑,不能當作一般模型速度。

同步推出的 Fleet 會在使用者瀏覽器內執行正確性及效能測試,經同意後回傳匿名裝置證據,以補足瀏覽器、驅動與 GPU 組合的碎片化問題。工程團隊下一步應觀察端到端模型整合、首次 shader 編譯與張量傳輸延遲,以及核心從 Hub 動態取得時的快取、供應鏈驗證和離線部署方式;目前數據只計 GPU 工作本身,還不能推導實際應用吞吐量。

來源

  1. Introducing @huggingface/kernels: 200+ WebGPU Kernels for Local AI
  2. webgpu-kernels announcement source and benchmark details