高效與邊緣人工智慧
結構化剪枝
剪枝移除網路其實不需要的參數。結構化的做法以對硬體友善的區塊來移除——整個卷積通道、注意力頭、神經元,甚至整層——於是剩下的就只是一個較小的稠密網路,在任何 GPU 上都跑得更快,且不需特殊的稀疏核心。
困難之處在於決定要丟什麼。判準從權重或激活值的幅度,到一階與二階的重要度分數(Taylor 或 Fisher),再到以 L0 或群組套索等促稀疏懲罰所訓練出的可學習閘門。對 Transformer 而言,這意味著移除重要度低的注意力頭、MLP 通道或整個區塊。由於砍掉結構比砍掉零散權重更傷,結構化剪枝幾乎總要接著微調或蒸餾,以挽回損失的精度。
它與非結構化剪枝形成對比——後者把個別權重歸零以取得更高的壓縮率,卻產生大多數硬體無法利用的不規則稀疏。結構化剪枝犧牲了部分可壓縮性,換來真實且可移植的加速。
非結構化剪枝產生更多零卻往往無加速;結構化剪枝產生較少零卻有真實的延遲收益——正確選擇取決於你的硬體究竟能否利用稀疏性。
又称
另见