谷歌釋出LiteRT.js:透過WebGPU在瀏覽器中執行.tflite模型的JavaScript繫結
谷歌於2026年7月9日釋出了LiteRT.js,這是其裝置端推理庫LiteRT的JavaScript繫結,允許.tflite模型直接在瀏覽器中執行,利用WebGPU加速。相比其他Web執行時,效能提升可達3倍,GPU/NPU路徑相比CPU路徑提速5-60倍,但需要手動管理張量記憶體。
谷歌於 2026 年 7 月 9 日正式釋出了 LiteRT.js,這是其裝置端推理庫 LiteRT(原 TensorFlow Lite)的 JavaScript 繫結。該工具允許開發者直接在瀏覽器中執行 .tflite 模型,推理過程完全在客戶端完成,從而增強了使用者隱私、降低了伺服器成本並實現了超低延遲。
LiteRT.js 並非全新的模型格式,而是將谷歌現有的原生執行時編譯為 WebAssembly,並透過 JavaScript 暴露介面。與早期依賴 JavaScript 核心的 TensorFlow.js 不同,LiteRT.js 直接整合了原生跨平臺執行時的最佳化,因此 Web 應用能夠自動受益於為 Android、iOS 和桌面端構建的效能改進、量化最佳化和硬體加速。
在執行時層面,LiteRT.js 支援三種後端:CPU 使用 XNNPACK(谷歌最佳化的 CPU 庫,支援多執行緒和寬鬆 SIMD);GPU 透過 WebGPU 使用 ML Drift(谷歌的裝置端 GPU 解決方案);NPU 則使用 WebNN API(目前在 Chrome 和 Edge 中處於實驗階段)。需要注意的是,LiteRT.js 不支援部分委派,即計算圖不能在 CPU 和 GPU 之間拆分。委派是全有或全無的,如果模型無法完全委派給所選加速器,則會回退到 Wasm 執行。CPU 路徑擁有最廣泛的運算子支援。
效能方面,谷歌團隊報告了兩項關鍵結果:與其他 Web 執行時相比,在 CPU 和 GPU 推理上 LiteRT.js 速度提升高達 3 倍(涵蓋經典計算機視覺和音訊處理模型);與自身 CPU 執行相比,GPU 或 NPU 加速可帶來 5 到 60 倍的提升(適用於即時物體跟蹤和音訊轉錄等任務)。這些基準測試在受控瀏覽器環境下使用 2024 款 MacBook Pro(M4 Apple Silicon)進行,谷歌指出實際結果因本地 GPU、熱節流和驅動程式最佳化而異。
此外,LiteRT.js 引入了手動記憶體管理。每個張量(Tensor)必須顯式呼叫 .delete() 方法,否則應用將洩漏裝置記憶體。谷歌的公告程式碼片段中省略了這一關鍵步驟。對於 WebNN 後端,還需要額外設定 JSPI(JavaScript Promise Integration)標誌來橋接同步核心排程與非同步裝置輪詢。
在模型轉換方面,LiteRT Torch 工具可以將 PyTorch 模型一步轉換為 .tflite 格式,但要求模型必須可透過 torch.export.export 匯出(即 TorchDynamo 可匯出),不能包含依賴於執行時張量值的 Python 條件分支,且不能具有動態輸入或輸出維度(包括批次維度)。對於模型量化,AI Edge Quantizer 支援在不同網路層配置量化方案。預訓練的 .tflite 模型可在 Kaggle 和 LiteRT Hugging Face 社群獲取。
谷歌在釋出時展示了四個示例應用:即時物體檢測(使用 Ultralytics YOLO26)、來自網路攝像頭的深度估計(Depth-Anything-V2)、影像超解析度(Real-ESRGAN)以及語義搜尋(EmbeddingGemma 向量搜尋)。這些示例展示了 LiteRT.js 在不同場景下的能力。
與 TensorFlow.js 相比,LiteRT.js 主要定位於替代 TF.js Graph Models,而非整個庫。TensorFlow.js 仍然推薦用於預處理和後處理任務,兩者可透過 @litertjs/tfjs-interop 包實現張量互操作。需要注意的是,在 WebGPU 後端上應避免使用 tensor.dataSync。
總體而言,LiteRT.js 為 Web 端機器學習帶來了原生級別的效能和硬體加速能力,但開發者需要適應手動記憶體管理的要求以及實驗性 WebNN 的侷限性。