TensorFlow Lite 藍圖

更新日期:2021 年 5 月

以下是我們藍圖的高階總覽。請注意,此藍圖隨時可能變更,且以下順序不代表任何優先順序。

我們的藍圖分為四個主要部分:可用性、效能、最佳化和可攜性。我們強烈建議您在 TensorFlow Lite 討論群組中評論我們的藍圖並提供意見回饋。

可用性

  • 擴充運算元涵蓋範圍
    • 根據使用者意見回饋新增目標運算元。
    • 為特定網域和領域新增目標運算元集,包括隨機運算元、基本 Keras 層運算元、雜湊表、選取訓練運算元。
  • 更多輔助工具
    • 提供 TensorFlow 圖表註解和相容性工具,以在訓練期間和轉換後驗證 TFLite 和硬體加速器相容性。
    • 允許在轉換期間針對特定加速器進行目標設定和最佳化。
  • 裝置端訓練
    • 支援裝置端訓練,以進行個人化和移轉學習,包括示範端對端使用方式的 Colab。
    • 支援變數/資源類型 (適用於推論和訓練)
    • 支援轉換和執行具有多個函式 (或簽名) 進入點的圖表。
  • 強化 Android Studio 整合
    • 將 TFLite 模型拖放到 Android Studio 中以產生模型介面。
    • 改善 Android Studio 效能分析支援,包括記憶體效能分析。
  • Model Maker
    • 支援較新的工作,包括物件偵測、推薦和音訊分類,涵蓋各種常見用法。
    • 支援更多資料集,讓移轉學習更輕鬆。
  • 工作函式庫
    • 支援更多模型類型 (例如音訊、NLP),並具備相關的預先和後續處理功能。
    • 使用工作 API 更新更多參考範例。
    • 支援所有工作的開箱即用加速功能。
  • 更多 SOTA 模型和範例
    • 新增更多範例 (例如音訊、NLP、結構化資料相關),以示範模型用法以及新功能和 API,涵蓋不同平台。
    • 建立可共用的裝置端骨幹模型,以降低訓練和部署成本。
  • 跨多個平台的無縫部署
    • 在網路上執行 TensorFlow Lite 模型。
  • 改善跨平台支援
    • 擴充並改善適用於 Android 上的 Java、iOS 上的 Swift、RPi 上的 Python 的 API。
    • 強化 CMake 支援 (例如,更廣泛的加速器支援)。
  • 更完善的前端支援
    • 改善與各種編寫前端的相容性,包括 Keras、tf.numpy。

效能

  • 更完善的工具
    • 公開儀表板,用於追蹤每個版本的效能提升。
    • 用於更瞭解圖表與目標加速器相容性的工具。
  • 改善 CPU 效能
    • 預設啟用 XNNPack,以加快浮點推論速度。
    • 具有最佳化核心的端對端半精度 (float16) 支援。
  • 更新的 NN API 支援
    • 完整支援較新 Android 版本 NN API 功能、運算元和類型。
  • GPU 最佳化
    • 透過委派序列化支援改善啟動時間。
    • 硬體緩衝區互通性,用於零複製推論。
    • 更廣泛地提供裝置端加速。
    • 更完善的運算元涵蓋範圍。

最佳化

  • 量化

    • 選擇性事後訓練量化,以排除特定層級的量化。
    • 量化偵錯工具,用於檢查每層的量化誤差損失。
    • 在更多模型涵蓋範圍 (例如 TensorFlow Model Garden) 上套用量化感知訓練。
    • 事後訓練動態範圍量化的品質和效能改善。
    • Tensor Compression API,允許 SVD 等壓縮演算法。
  • 剪枝/稀疏性

    • 結合可設定的訓練時間 (剪枝 + 量化感知訓練) API。
    • 增加 TF Model Garden 模型上的稀疏性應用。
    • TensorFlow Lite 中的稀疏模型執行支援。

可攜性

  • 微控制器支援
    • 為一系列 32 位元 MCU 架構使用案例新增語音和影像分類支援。
    • 音訊前端:圖表內音訊預先處理和加速支援
    • 視覺和音訊資料的範例程式碼和模型。