TensorFlow 模型最佳化

TensorFlow 模型最佳化工具包可將機器學習推論最佳化的複雜度降至最低。

部署機器學習模型時,推論效率會影響到延遲狀況、記憶體使用率,也經常會影響耗電量,因此是一項非常重要的考量。尤其是在行動裝置和物聯網 (IoT) 等邊緣裝置上,資源會更加有限,因此模型大小和運算效率會成為主要考量。

訓練的運算需求會隨著在不同架構上訓練的模型數量而增長,但是推論的運算需求是根據使用者人數依比例成長。

用途

以下列舉模型最佳化的好處:

  • 減少雲端和邊緣裝置 (例如行動裝置、IoT) 的推論延遲狀況和成本。
  • 將模型部署至邊緣裝置,並限制處理能力、記憶體和/或耗電量。
  • 減少無線模型更新的酬載大小。
  • 可在限制為定點運算或最佳化定點運算的硬體上執行。
  • 最佳化特殊用途的硬體加速器模型。

最佳化技術

模型最佳化的領域可能涉及多種技術:

  • 透過修剪和結構化修剪來減少參數的數量。
  • 透過量化來降低表示法精確度。
  • 透過減少參數或是加快執行速度,將原始模型拓撲更新為更有效率的拓撲。例如:張量分解方法和蒸餾

我們的工具包支援訓練後的量化量化感知訓練以及修剪功能

量化

量化模型是用較低精確度表示的模型,例如使用 8 位元整數,而非 32 位元浮點數。運用特定硬體時,必須採用較低的精確度。

稀疏度與修剪

稀疏模型是指運算子之間的連線 (類神經網路層) 已經過修剪,因此將零帶入參數張量的模型。