詳細解釋
剪枝(Pruning)是移除神經網絡中不重要參數或結構的技術,減少模型大小和計算量,同時盡量保持性能。
類型:
- 非結構化剪枝:
- 移除個別權重(置為0)
- 稀疏矩陣,需專用硬件加速
- 通常可移除50-90%權重
- 結構化剪枝:
- 移除整個結構(神經元、通道)
- 適合通用硬件加速
- 通道剪枝、層剪枝
標準:
- 基於幅度:移除絕對值小的權重
- 基於重要性:計算對損失的影響
- 基於梯度:考慮梯度信息
流程:
- 訓練原始模型
- 評估重要性
- 移除低重要性參數
- 微調恢復性能
- 可迭代進行
應用:
- 邊緣設備:手機、IoT部署
- 實時系統:降低延遲
- 模型存儲:減少磁盤空間
與其他壓縮結合:
- 量化+剪枝:極致壓縮
- 蒸餾+剪枝:小模型學習大模型
剪枝是模型壓縮和加速的重要技術。