TensorFlow 模型最佳化工具包可將機器學習推論最佳化的複雜度降至最低。
部署機器學習模型時,推論效率會影響到延遲狀況、記憶體使用率,也經常會影響耗電量,因此是一項非常重要的考量。尤其是在行動裝置和物聯網 (IoT) 等邊緣裝置上,資源會更加有限,因此模型大小和運算效率會成為主要考量。
訓練的運算需求會隨著在不同架構上訓練的模型數量而增長,但是推論的運算需求是根據使用者人數依比例成長。
用途
以下列舉模型最佳化的好處:
- 減少雲端和邊緣裝置 (例如行動裝置、IoT) 的推論延遲狀況和成本。
- 將模型部署至邊緣裝置,並限制處理能力、記憶體和/或耗電量。
- 減少無線模型更新的酬載大小。
- 可在限制為定點運算或最佳化定點運算的硬體上執行。
- 最佳化特殊用途的硬體加速器模型。
最佳化技術
模型最佳化的領域可能涉及多種技術:
- 透過修剪和結構化修剪來減少參數的數量。
- 透過量化來降低表示法精確度。
- 透過減少參數或是加快執行速度,將原始模型拓撲更新為更有效率的拓撲。例如:張量分解方法和蒸餾
我們的工具包支援訓練後的量化、量化感知訓練、修剪和分群法。這個工具包也提供針對協同合作式最佳化的實驗性支援,以結合多種不同的技巧。
量化
量化模型是用較低精確度表示的模型,例如使用 8 位元整數,而非 32 位元浮點數。運用特定硬體時,必須採用較低的精確度。
稀疏度與修剪
稀疏模型是指運算子之間的連線 (類神經網路層) 已經過修剪,因此將零帶入參數張量的模型。
分群法
已分群的模型是指已使用少量唯一值取代原始模型參數的模型。
協同合作式最佳化
這個工具包提供針對協同合作式最佳化的實驗性支援。您可利用這個工具包,享有結合多種模型壓縮技巧帶來的好處,並透過量化感知訓練同步提高準確率。