修剪不重要的權重

本文件概述模型剪枝,以協助您判斷其如何符合您的使用案例。

總覽

以幅度為基礎的權重剪枝會在訓練過程中逐步將模型權重歸零,以達到模型稀疏性。稀疏模型更易於壓縮,而且我們可以在推論期間略過零值,以改善延遲。

這項技術透過模型壓縮帶來改善。未來,對這項技術的架構支援將提供延遲改善。我們已看到模型壓縮最多提升 6 倍,且準確度損失極小。

這項技術正在各種語音應用程式中評估,例如語音辨識和文字轉語音,並已在各種視覺和翻譯模型上進行實驗。

API 相容性矩陣

使用者可以使用下列 API 套用剪枝

  • 模型建構:僅限循序和函數式模型的 keras
  • TensorFlow 版本:適用於 1.14 以上版本和 2.x 的 TF 1.x。
    • 不支援搭配 TF 2.X 套件使用的 tf.compat.v1,以及搭配 TF 1.X 套件使用的 tf.compat.v2
  • TensorFlow 執行模式:圖形和立即執行模式
  • 分散式訓練:僅限圖形執行的 tf.distribute

我們計畫在下列領域新增支援

結果

圖片分類

模型 非稀疏 Top-1 準確度 隨機稀疏準確度 隨機稀疏性 結構化稀疏準確度 結構化稀疏性
InceptionV3 78.1% 78.0% 50% 75.8% 2x4
76.1%75%
74.6%87.5%
MobilenetV1 22471.04%70.84%50%67.35%2x4
MobilenetV2 22471.77%69.64%50%66.75%2x4

這些模型已在 Imagenet 上進行測試。

翻譯

模型 非稀疏 BLEU 稀疏 BLEU 稀疏性
GNMT EN-DE 26.77 26.86 80%
26.5285%
26.1990%
GNMT DE-EN 29.47 29.50 80%
29.2485%
28.8190%

這些模型使用 WMT16 德文和英文資料集,並以 news-test2013 作為開發集,以及 news-test2015 作為測試集。

關鍵字辨識模型

DS-CNN-L 是為邊緣裝置建立的關鍵字辨識模型。您可以在 ARM 軟體的範例存放庫中找到。

模型 非稀疏準確度 結構化稀疏準確度 (2x4 模式) 隨機稀疏準確度 (目標稀疏性 50%)
DS-CNN-L 95.23 94.33 94.84

範例

除了使用 Keras 進行剪枝教學課程外,另請參閱下列範例

  • 在 MNIST 手寫數字分類工作上訓練 CNN 模型並進行剪枝:程式碼
  • 在 IMDB 情緒分類工作上訓練 LSTM 並進行剪枝:程式碼

如需背景資訊,請參閱修剪還是不修剪:探索剪枝在模型壓縮方面的功效 [論文]。