TensorFlow的新型模型優化工具包可使模型速度提高3倍

資料星河發表於2018-09-26

  本週TensorFlow推出了一個新的模型優化工具包。這套技術同時適用於新老開發員以優化機器學習模型,特別是執行TensorFlowLite的開發人員。任何現有TensorFlow模型均適用。

  什麼是TensorFlow中的模型優化?

  TensorFlowLite轉換工具新支援訓練後量化。理論上,這可以使資料中的壓縮率提高四倍,相關機器學習模型的執行速度提高三倍。

  在量化它們所使用的模型時,功耗也降低。

  啟用訓練後量化

  此量化技術已整合到TensorFlowLite轉換工具中。啟動非常容易。構建TensorFlow模型後,您可以在TensorFlowLite轉換工具中簡單地啟用“post_training_quantize”標誌。如果模型被儲存並儲存在saved_model_dir中,則可以生成量化的tfliteflatbuffer。

TensorFlow的新型模型優化工具包可使模型速度提高3倍

  有一個說明性的教程解釋瞭如何做。TensorFlowLite當前不支援在平臺上使用此技術部署,但計劃將其合併到通用TensorFlow工具中。

  訓練後量化的優勢

  這種量化技術的好處包括:

  l模型尺寸減少約四倍。

  l在主要由卷積層組成的模型中執行速度提高10-50%。

  l是RNN模型速度的三倍。

  l由於減少了記憶體和計算要求,大多數模型的功耗也會降低。

  下圖顯示了使用單核在GooglePixel2手機上幾個模型的模型尺寸減小,執行時間加速。我們可以看到優化後的模型幾乎小了四倍。

TensorFlow的新型模型優化工具包可使模型速度提高3倍

  加速和模型尺寸的減小不會對精度產生太大影響。啟動時小尺寸的模型可能會遭受更大的損失。這是一個比較:

TensorFlow的新型模型優化工具包可使模型速度提高3倍

  它是如何工作的?

  在幕後,它以減少引數精度(神經網路權重)的方式來執行優化。從訓練時間32位浮點表達至更小更有效的8位整數表達中縮減模型尺寸。

  這些優化在結果模型中用固定和浮點算數混合的核心粗略地操作,以確保配對。這能夠快速執行最重的計算,但精度較低。但是,最敏感的資料仍然是以高精度計算的,準確性較高。

相關文章