修剪不重要的權重

本文件概述模型剪枝,協助您判斷模型剪枝與您的使用情境的適用程度。

總覽

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

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

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

API 相容性矩陣

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

  • 模型建構:keras,僅限循序和函數式模型
  • TensorFlow 版本:TF 1.x (適用於 1.14 以上版本) 和 2.x。
    • 不支援搭配 TF 2.X 套件使用的 tf.compat.v1 以及搭配 TF 1.X 套件使用的 tf.compat.v2
  • TensorFlow 執行模式:圖表和 eager 模式皆可
  • 分散式訓練: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 software 的 範例存放區中找到這個模型。

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

範例

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

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

如需背景資訊,請參閱「To prune, or not to prune: exploring the efficacy of pruning for model compression」[論文]。