本文件概述模型剪枝,協助您判斷其如何適用於您的使用案例。
- 如要直接深入瞭解端對端範例,請參閱「使用 Keras 進行剪枝」範例。
- 如要快速找到使用案例所需的 API,請參閱「剪枝完整指南」。
- 如要探索剪枝在裝置端推論上的應用,請參閱「使用 XNNPACK 進行裝置端推論的剪枝」。
- 如要查看結構化剪枝的範例,請執行「具有 2x4 稀疏性的結構化剪枝」教學課程。
總覽
基於量值的權重剪枝會在訓練過程中逐步將模型權重歸零,以達到模型稀疏性。稀疏模型更容易壓縮,而且我們可以在推論期間略過零值,以改善延遲時間。
此技術透過模型壓縮帶來改善。在未來,架構對此技術的支援將提供延遲時間改善。我們已看到模型壓縮改善高達 6 倍,且準確性損失極小。
這項技術正在各種語音應用程式 (例如語音辨識和文字轉語音) 中評估,並已在各種視覺和翻譯模型上進行實驗。
API 相容性矩陣
使用者可以使用下列 API 套用剪枝
- 模型建構:僅限循序和函式模型的
keras
- TensorFlow 版本:適用於 1.14 以上版本和 2.x 的 TF 1.x。
- 不支援搭配 TF 2.X 套件使用的
tf.compat.v1
,以及搭配 TF 1.X 套件使用的tf.compat.v2
。
- 不支援搭配 TF 2.X 套件使用的
- TensorFlow 執行模式:圖形和立即執行
- 分散式訓練:僅限圖形執行的
tf.distribute
我們藍圖中將在下列領域新增支援
結果
圖片分類
模型 | 非稀疏 Top-1 準確度 | 隨機稀疏準確度 | 隨機稀疏性 | 結構化稀疏準確度 | 結構化稀疏性 |
---|---|---|---|---|---|
InceptionV3 | 78.1% | 78.0% | 50% | 75.8% | 2x4 |
76.1% | 75% | ||||
74.6% | 87.5% | ||||
MobilenetV1 224 | 71.04% | 70.84% | 50% | 67.35% | 2x4 |
MobilenetV2 224 | 71.77% | 69.64% | 50% | 66.75% | 2x4 |
這些模型已在 Imagenet 上測試。
翻譯
模型 | 非稀疏 BLEU | 稀疏 BLEU | 稀疏性 |
---|---|---|---|
GNMT EN-DE | 26.77 | 26.86 | 80% |
26.52 | 85% | ||
26.19 | 90% | ||
GNMT DE-EN | 29.47 | 29.50 | 80% |
29.24 | 85% | ||
28.81 | 90% |
這些模型使用 WMT16 德文和英文資料集,其中 news-test2013 作為開發集,news-test2015 作為測試集。
關鍵字辨識模型
DS-CNN-L 是為邊緣裝置建立的關鍵字辨識模型。它可以在 ARM 軟體的 範例存放區中找到。
模型 | 非稀疏準確度 | 結構化稀疏準確度 (2x4 模式) | 隨機稀疏準確度 (目標稀疏性 50%) |
---|---|---|---|
DS-CNN-L | 95.23 | 94.33 | 94.84 |
範例
除了「使用 Keras 進行剪枝」教學課程之外,另請參閱下列範例
如需背景資訊,請參閱「修剪或不修剪:探索模型壓縮剪枝的功效」[論文]。