模型與訓練

Pruning 是什麼?把模型裡沒貢獻的連結剪掉換速度

Pruning(模型剪枝)是一種模型壓縮技術。AI 訓練完成後,有些參數的權重接近於零,對最終輸出幾乎沒有貢獻,剪枝就是把這些用不到的神經元與連接移除。在幾乎不影響準確率的前提下,大幅減少模型大小與計算量,讓模型跑得更快、更省資源,也更容易部署到手機或邊緣裝置。
Pruning 是什麼?把模型裡沒貢獻的連結剪掉換速度:文章重點卡

Pruning 是什麼?把模型裡沒貢獻的連結剪掉換速度

當你想把模型塞進手機、樹莓派或一台顯卡不夠力的機器,就會遇到模型壓縮這件事。剪枝是其中最直觀的一招:把沒在做事的連結剪掉。

你將學到什麼

定義

剪枝是移除權重接近零、對輸出貢獻極小的參數或神經元。

白話比喻

像幫團隊瘦身:剪掉冗員,保留精英,讓整體跑得更快更省。

跟誰容易搞混

常跟量化搞混。剪枝是刪掉連結,量化是把每個數字存得更省。

定義

Pruning(模型剪枝)是一種壓縮模型的技術,移除對輸出貢獻極小的參數或神經元,也就是權重接近零的那些,保留重要的部分,讓模型變得更精簡高效。

它帶來四個好處:減少參數量與計算量、加快推理速度、降低記憶體占用與能耗、部署更容易。

白話比喻

想像一個一百人的部門,其中有一大半的人幾乎不影響最後的產出。把他們的線拔掉,整個部門的溝通成本立刻下降,而交出來的東西幾乎沒變。

剪枝的精髓就是這句話:刪除沒貢獻的,保留真正重要的。

跟其他壓縮技術的差別

技術原理代價
剪枝 Pruning移除冗員參數與神經元需微調恢復精度
量化 Quantization降低數值精度存放精度受損
知識蒸餾 Distillation用大模型教小模型需要額外訓練過程
低秩分解 Low-rank分解權重矩陣計算複雜度較高

實際用例

標準流程有六步:先有一個訓練完成的模型,計算每個權重的重要性,設定剪枝門檻,移除冗員,微調恢復精度,最後部署更快更小的模型。

剪枝分成幾種類型。非結構化剪枝移除單獨的權重,結構化剪枝移除整個神經元、通道或濾波器,稀疏訓練在訓練過程中就強制產生稀疏性,漸進式剪枝則是逐步剪枝加微調,效果最穩定。

常見誤解以為剪越多越好是最常見的誤會。剪太少效果不明顯,剪太多準確率會直接掉下來,實務上要找出那個「效果最佳」的區間,而不是一路剪到底。另外要注意,剪枝改變的是模型的效率,不會讓它多懂一件事,模型知道多少仍然取決於參數裡學到的東西。
本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

剪枝會不會讓模型變笨?
剪掉的是權重接近零、對輸出幾乎沒有貢獻的部分,所以影響很小。剪完通常還會做一次微調來恢復精度。剪太多才會讓準確率明顯下降。
剪枝跟量化可以一起用嗎?
可以,實務上常常疊在一起用。剪枝先減少參數量與計算量,量化再降低每個數值的精度,兩者的壓縮效果會互相加成。
什麼情況最需要剪枝?
當模型要跑在手機、IoT 感測器、車機或邊緣裝置上,或是雲端服務要壓低成本與延遲的時候。這些場景的瓶頸都是算力與記憶體,不是準確率的最後一個百分點。