AI News HubLIVE
站內改寫2 分鐘閱讀

谷歌發佈LiteRT.js:通過WebGPU在瀏覽器中運行.tflite模型的JavaScript綁定

谷歌於2026年7月9日發佈了LiteRT.js,這是其設備端推理庫LiteRT的JavaScript綁定,允許.tflite模型直接在瀏覽器中運行,利用WebGPU加速。相比其他Web運行時,性能提升可達3倍,GPU/NPU路徑相比CPU路徑提速5-60倍,但需要手動管理張量內存。

來源MarkTechPost作者: Michal Sutter

谷歌於 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 的侷限性。