NeurIPS 2021 Spotlight | 準(zhǔn)確、快速、內(nèi)存經(jīng)濟,新框架MEST實現(xiàn)邊...
點擊上方“邁微AI研習(xí)社”,選擇“星標(biāo)★”公眾號
重磅干貨,第一時間送達
美國東北大學(xué)王言治教授、林雪教授研究組與威廉瑪麗學(xué)院任彬教授研究組共同提出了一種稀疏訓(xùn)練新框架MEST,有望在邊緣設(shè)備上實現(xiàn)準(zhǔn)確、快速以及內(nèi)存經(jīng)濟的稀疏訓(xùn)練。
在剪枝技術(shù)被成功應(yīng)用于神經(jīng)網(wǎng)絡(luò)的壓縮和加速之后,稀疏訓(xùn)練在近年來受到了越來越多研究者的關(guān)注,即如何從零開始直接訓(xùn)練一個高質(zhì)量的稀疏神經(jīng)網(wǎng)絡(luò)。稀疏訓(xùn)練旨在有效降低神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中的計算和存儲開銷,從而加速訓(xùn)練過程,為在資源有限的邊緣設(shè)備上的神經(jīng)網(wǎng)絡(luò)訓(xùn)練提供了更多可能性。
多數(shù)現(xiàn)有稀疏訓(xùn)練方法著力于設(shè)計更好的稀疏訓(xùn)練算法來追求更高的網(wǎng)絡(luò)稀疏度同時保持高準(zhǔn)確率。然而,稀疏訓(xùn)練的關(guān)鍵,即稀疏訓(xùn)練能否帶來實際的訓(xùn)練加速以及計算和存儲資源的節(jié)省,卻往往被忽視了。
為此,美國東北大學(xué)王言治教授、林雪教授研究組與威廉瑪麗學(xué)院任彬教授研究組共同提出了 MEST 稀疏訓(xùn)練框架,有望在邊緣設(shè)備上實現(xiàn)準(zhǔn)確、快速以及內(nèi)存經(jīng)濟的稀疏訓(xùn)練。該論文?[1] 已被 NeurIPS 2021 會議收錄為 spotlight 論文。

論文鏈接:https://arxiv.org/abs/2110.14032
什么是稀疏訓(xùn)練?
我們知道通常的神經(jīng)網(wǎng)絡(luò)剪枝(pruning)方法是從一個訓(xùn)練好的密集模型(dense model)出發(fā),通過應(yīng)用剪枝算法去除模型中的冗余權(quán)重,來達到降低模型參數(shù)量和計算量的目的。而這個密集模型的預(yù)訓(xùn)練過程依然會耗費大量的計算資源。所以,近年來有越來越多的研究試圖在預(yù)訓(xùn)練過程中直接使用稀疏模型(sparse model)進行訓(xùn)練,從而可以一步到位的獲得最終的稀疏模型,我們可以管這個直接訓(xùn)練稀疏模型的過程叫做稀疏訓(xùn)練(sparse training)。稀疏訓(xùn)練可以有效的降低訓(xùn)練過程的計算量,并有望降低設(shè)備的存儲開銷以及加速訓(xùn)練過程。
稀疏訓(xùn)練大致可以分為兩個類別,即靜態(tài)稀疏訓(xùn)練(static sparse training)和動態(tài)稀疏訓(xùn)練(dynamic sparse training)。
靜態(tài)稀疏訓(xùn)練通常會在訓(xùn)練的初始階段通過使用相應(yīng)的算法來確定稀疏網(wǎng)絡(luò)的結(jié)構(gòu)。之后,在整個的稀疏訓(xùn)練過程中始終保持相同的稀疏網(wǎng)絡(luò)結(jié)構(gòu)。靜態(tài)稀疏訓(xùn)練的代表性工作有 SNIP [1] 與 GraSP [2] 等。此外,彩票假說(Lottery Ticket Hypothesis)[3] 中直接使用稀疏子網(wǎng)絡(luò)進行訓(xùn)練的過程也可以被認為是靜態(tài)稀疏訓(xùn)練。
動態(tài)稀疏訓(xùn)練一般會在訓(xùn)練的初始階段隨機或簡單選擇一個稀疏網(wǎng)絡(luò)的結(jié)構(gòu)作為起始,并在隨后的稀疏訓(xùn)練過程通過中不斷變化稀疏網(wǎng)絡(luò)的結(jié)構(gòu),來達到搜尋更好稀疏結(jié)構(gòu)的目的。動態(tài)稀疏訓(xùn)練的代表性工作有 DSR [5] 和 RigL [6] 等。相較于靜態(tài)稀疏訓(xùn)練,動態(tài)稀疏訓(xùn)練往往更容易在高稀疏度下獲得更好的稀疏模型準(zhǔn)確率。
現(xiàn)有的先進稀疏訓(xùn)練方法中存在的問題
1. 非結(jié)構(gòu)性稀疏方案 (Unstructured Sparsity Scheme)
絕大多數(shù)現(xiàn)有的先進的稀疏訓(xùn)練方法通常都會采用非結(jié)構(gòu)性稀疏方案。這種稀疏方案允許任意位置的權(quán)重被移除。因此,稀疏模型的結(jié)構(gòu)具有高靈活性,可以更好地在高稀疏度下維持稀疏模型的準(zhǔn)確率。但是,與在剪枝技術(shù)中使用非結(jié)構(gòu)性剪枝一樣,由于非結(jié)構(gòu)性稀疏模型中非零權(quán)重分布的不規(guī)則性,導(dǎo)致了硬件并行計算的不友好,比如不良的數(shù)據(jù)局部性(data locality)、負載不平衡(load imbalance)、線程分歧(thread divergence)和繁重的控制流指示(heavy control-flow instructions)等。這最終使得非結(jié)構(gòu)性稀疏模型即便在高稀疏度下也很難實現(xiàn)可觀的計算速度提升。
2. 內(nèi)存不經(jīng)濟
為了能夠找到更好的稀疏網(wǎng)絡(luò)結(jié)構(gòu),在一些先進的稀疏訓(xùn)練方法中會使用到密集模型的信息,比如在靜態(tài)稀疏訓(xùn)練中,一些方法會先進行少量次數(shù)迭代的密集模型訓(xùn)練來在初始化模型中找到想要的稀疏結(jié)構(gòu)。同樣,在動態(tài)稀疏訓(xùn)練中,一些方法會頻繁地使用密集反向傳播來計算出密集的權(quán)重梯度,從而指引稀疏結(jié)構(gòu)的動態(tài)選擇。雖然這些方法在大部分的稀疏訓(xùn)練過程中維持了稀疏模型的存儲與計算,但是只要訓(xùn)練過程中涉及到密集模型的計算,就會極大地增加計算與存儲資源的峰值使用量。這使得這些稀疏訓(xùn)練方法難以真正的在資源受限的邊緣設(shè)備上進行端到端訓(xùn)練。
MEST 框架設(shè)計
為了解決以上提到的現(xiàn)有稀疏訓(xùn)練方法中存在的問題,我們認為在訓(xùn)練過程應(yīng)當(dāng)避免使用任何的密集模型的信息,保持整個訓(xùn)練過程的稀疏性。并且稀疏訓(xùn)練應(yīng)當(dāng)使用更加硬件友好的稀疏方案,從而達到真正加速訓(xùn)練的目的。此外,現(xiàn)有的稀疏訓(xùn)練方法多著眼于更好的算法設(shè)計,在保持稀疏模型準(zhǔn)確率的情況下盡可能的提升模型稀疏率(sparsity ratio),從而進一步降低訓(xùn)練開銷。然而,我們認為這并不是降低訓(xùn)練開銷的唯一途徑。提高對于訓(xùn)練數(shù)據(jù)的使用效率可以從另一個角度來進一步降低訓(xùn)練開銷和加速訓(xùn)練過程,而這一角度被先前的稀疏訓(xùn)練研究忽視了。
1.MEST 稀疏訓(xùn)練方法
在我們的 MEST 稀疏訓(xùn)練框架中我們首先強調(diào)的是算法的內(nèi)存經(jīng)濟性(Memory-economic)。我們采用傳統(tǒng)的動態(tài)稀疏訓(xùn)練思想,通過在訓(xùn)練過程中不斷地對稀疏網(wǎng)絡(luò)的結(jié)構(gòu)進行變異(mutation)來最終獲得高準(zhǔn)確率的稀疏網(wǎng)絡(luò)。具體來說,為了使全部訓(xùn)練過程不涉及密集模型的存儲和計算,我們在模型初始化階段直接使用隨機生成的索引(indices)以及 CSR 形式來直接存儲隨機初始化的稀疏模型。稀疏模型結(jié)構(gòu)的突變過程可以看作是模型剪枝(prune)和模型生長(grow)的結(jié)合。首先,我們從稀疏模型(非零權(quán)重)中去除具有相對較低重要性的權(quán)重,再從不在稀疏模型中的權(quán)重中隨機選擇相同數(shù)量的權(quán)重加回到稀疏模型中,從而完成稀疏模型結(jié)構(gòu)的突變,如圖 1 中的 MEST(vanilla)方法所示。為了保持模型的稀疏性,我們直接將被去除權(quán)重的權(quán)重值設(shè)為零,并直接改變索引值,來實現(xiàn)模型結(jié)構(gòu)的突變。
我們還提出一種彈性突變(Elastic Mutation)策略,簡稱 MEST+EM。我們的彈性突變策略意在整個訓(xùn)練過程中逐漸降低網(wǎng)絡(luò)結(jié)構(gòu)的突變率,如圖 1 中 MEST+EM 方法所示。這樣即保證了在網(wǎng)絡(luò)訓(xùn)練過程中擁有足夠大的搜索范圍,同時在訓(xùn)練后期幫助稀疏網(wǎng)絡(luò)結(jié)構(gòu)更好的收斂,增加訓(xùn)練過程的穩(wěn)定性。
此外,如果在應(yīng)用場景中,內(nèi)存占用可能是一個軟約束,我們提出了一種稀疏訓(xùn)練的增強方法,稱為軟內(nèi)存約束的彈性突變(Soft-bounded Elastic Mutation),簡稱 MEST+EM&S。
與 MEST+EM 方法不同的是,我們的 MEST+EM&S 允許將新增長的權(quán)重加入到現(xiàn)有的權(quán)重中,然后進行訓(xùn)練,隨后從包括新增長的權(quán)重在內(nèi)的權(quán)重中選擇重要性較低的權(quán)重進行移除,如圖 1 中 MEST+EM&S 方法所示。這可以避免在模型突變中強制移除比新增長的權(quán)重更正要的現(xiàn)有權(quán)重。所以我們的 MEST+EM&S 方法也可以被看做是在突變過程中增加了一個 "撤銷" 機制。需要注意的是,雖然使用軟內(nèi)存約束會額外增加少量的內(nèi)存和計算開銷,但是整個稀疏訓(xùn)練過程仍處在高稀疏度下,且訓(xùn)練結(jié)束時仍然達到目標(biāo)稀疏率。

圖 1. MEST 框架中的稀疏訓(xùn)練方法
2. 探究不同的稀疏方案
在 MEST 框架中,我們研究了不同稀疏方案在稀疏訓(xùn)練中的速度表現(xiàn)以及使用 MEST 方法的準(zhǔn)確度。如圖 2 所示,他們分別為(a)非結(jié)構(gòu)性稀疏(unstructured sparsity)、(b)結(jié)構(gòu)性稀疏(structured sparsity)、(c)基于區(qū)塊的細粒度結(jié)構(gòu)性稀疏(block-based sparsity)以及(d)基于模式的細粒度結(jié)構(gòu)稀疏(pattern-based sparsity)。

圖 2. 不同稀疏方案
如前面提到的,非結(jié)構(gòu)性稀疏被廣泛用于之前的稀疏訓(xùn)練研究。作為一種細粒度的稀疏形式,其具有高靈活性,可以更好地維持網(wǎng)絡(luò)的準(zhǔn)確率,但是很難達到可觀的加速。我們在 MEST 中也對非結(jié)構(gòu)性稀疏進行測試,以便從算法角度與之前的工作進行公平比較。同時,在對比不同稀疏方案的準(zhǔn)確率表現(xiàn)時將其視為準(zhǔn)確率上限。
我們還測試了結(jié)構(gòu)性稀疏方案,即移除整個卷積濾波器(filter)或卷積通道(channel)。這種粗粒度的稀疏方案非常硬件友好,可以實現(xiàn)較高的加速性能,但是往往模型準(zhǔn)確率會極大地降低。
在基于區(qū)塊的細粒度結(jié)構(gòu)性稀疏方案中,我們將權(quán)重矩陣分為若干個等大小的塊,然后在每一個塊中選擇整行或整列進行權(quán)重的稀疏化,在不同的塊中稀疏行列位置和數(shù)量可以不同,這樣提高了稀疏的靈活性,從而保持更好的模型準(zhǔn)確率。由于受到硬件并行度的限制,即便將權(quán)重矩陣進行分割,每一個塊依然可以很好地滿足高計算并行度,所以這種相對細粒度的結(jié)構(gòu)性稀疏可以達到較高的加速效果。
基于模式的細粒度結(jié)構(gòu)稀疏結(jié)合了卷積核模式稀疏和連通性稀疏。其中,卷積核模式稀疏從每一個濾波器的卷積核中將給定數(shù)量的權(quán)重設(shè)為零,使得剩余非零權(quán)重形成特殊的模式。圖 2(d)所示為在 3x3 卷積核中使用 4 非零權(quán)重模式。此外,連通性稀疏擇將整個卷積核移除,從而進一步提升基于模式的細粒度結(jié)構(gòu)稀疏方案的整體稀疏度。
這兩種稀疏方案通過細粒度的稀疏性在一定程度上保證了稀疏結(jié)構(gòu)的靈活性,從而有效的提高模型準(zhǔn)確率。同時,他們又滿足一定的結(jié)構(gòu)約束,使得這種稀疏結(jié)構(gòu)可以在編譯器優(yōu)化的幫助下實現(xiàn)較高性能的加速。我們在稀疏訓(xùn)練過程中,分別將不同的稀疏方案應(yīng)用在我們提出的 MEST+EM 和 MEST+EM&S 方法中來探究不同稀疏方案在準(zhǔn)確率和加速性能等方面的表現(xiàn)。
3. 數(shù)據(jù)效率在稀疏訓(xùn)練中的應(yīng)用
除了不斷增加模型的稀疏度,在稀疏訓(xùn)練中使用更高效的訓(xùn)練數(shù)據(jù)同樣可能有效的加速訓(xùn)練過程。經(jīng)過證明,對于網(wǎng)絡(luò)訓(xùn)練來說,每個訓(xùn)練樣本的學(xué)習(xí)難度是不同的,同時其能提供給網(wǎng)絡(luò)訓(xùn)練的信息量也是不同的 [7]。一些訓(xùn)練樣本在訓(xùn)練的早期階段就可以被網(wǎng)絡(luò)學(xué)會(正確識別),其中一些樣本在被網(wǎng)絡(luò)學(xué)會之后就不會再被錯誤識別,換言之,他們永遠不會被網(wǎng)絡(luò)遺忘。這里我們定義當(dāng)一個訓(xùn)練樣本在被網(wǎng)絡(luò)正確識別后又被錯誤分類為一次 “遺忘事件”。
如圖 3 所示,左手邊展示了兩個不同的青蛙訓(xùn)練樣本。上面的訓(xùn)練樣本在整個訓(xùn)練過程中被遺忘了 0 次,所以我們也稱它為不被遺忘的樣本 (unforgettable example),而下面的樣本則被遺忘了 35 次。同時,通過觀察對比圖 3 右側(cè)的具有高遺忘次數(shù)和低遺忘次數(shù)的訓(xùn)練樣本,我們可以看出一般具有較低遺忘次數(shù)的樣本通常比較簡單,既樣本具有鮮明的特征且背景較為簡單。因此,之前的工作使用遺忘次數(shù)作為衡量訓(xùn)練樣本難易程度的標(biāo)準(zhǔn),并且發(fā)現(xiàn)容易的樣本為網(wǎng)絡(luò)訓(xùn)練提供的信息量較少,如果將不被遺忘的樣本從訓(xùn)練數(shù)據(jù)集中移除,訓(xùn)練出的網(wǎng)絡(luò)依然可以達到與完整數(shù)據(jù)集相當(dāng)?shù)臏?zhǔn)確率,但是訓(xùn)練速度因訓(xùn)練數(shù)據(jù)集的減小而加快。

圖 3. 不同訓(xùn)練樣本具有不同遺忘次數(shù)
然而,對于數(shù)據(jù)效率在稀疏訓(xùn)練場景下的探索仍然是缺失的。由于稀疏模型的容量較小,且模型結(jié)構(gòu)是動態(tài)變化的,是否可以利用數(shù)據(jù)效率來進一步加速稀疏訓(xùn)練仍是未知數(shù)。因此,我們希望研究稀疏率、稀疏方案和變異機制對可移除訓(xùn)練樣本數(shù)量的影響,然后討論利用數(shù)據(jù)效率加速稀疏訓(xùn)練的可能性。
之前的工作使用了整個訓(xùn)練過程來進行訓(xùn)練樣本難易度的統(tǒng)計工作,而我們希望通過引入數(shù)據(jù)效率來進行訓(xùn)練加速,所以我們提出了一種兩階段數(shù)據(jù)高效訓(xùn)練方法。我們使用與常規(guī)訓(xùn)練相同的訓(xùn)練周期數(shù),并將訓(xùn)練過程分為數(shù)據(jù)統(tǒng)計階段與使用部分數(shù)據(jù)集的高效訓(xùn)練階段,如圖 4 所示。我們在 MEST 框架中將這種數(shù)據(jù)高效方法與我們提出的稀疏訓(xùn)練方法相結(jié)合,既在兩個階段中均使用 MEST+EM 或 MEST+EM&S 稀疏訓(xùn)練。

圖 4. 兩階段數(shù)據(jù)高效訓(xùn)練方法
實驗結(jié)果
1. 稀疏算法對于數(shù)據(jù)效率的探究
首先,我們對在動態(tài)稀疏訓(xùn)練中引入數(shù)據(jù)高效訓(xùn)練進行了多方面的探究。
模型稀疏度、稀疏算法對不被遺忘的樣本數(shù)量的影響:
我們首先測試了不同的稀疏訓(xùn)練方法對于不被遺忘的樣本數(shù)量的影響,結(jié)果如圖 5(a)所示,隨著模型稀疏度的增加,不被遺忘的樣本數(shù)量在減少,并且與模型的準(zhǔn)確率呈現(xiàn)正相關(guān)。原因是在高稀疏度下,模型的泛化性能下降,使得一些簡單的樣本更難記住。此外,我們還觀察到,更好的稀疏度訓(xùn)練方法(如 MEST+EM&S)會增加不被遺忘的樣本數(shù)量,這表明在不影響模型準(zhǔn)確率的情況下,有機會去除更多的訓(xùn)練樣本,從而獲得更高的訓(xùn)練加速。

圖 5. 數(shù)據(jù)高效訓(xùn)練的探究。(a) 在不同的稀疏訓(xùn)練算法和稀疏率下,整個稀疏訓(xùn)練過程后不被遺忘的樣本數(shù)量;(b) 在稀疏率為 90% 和 95% 下,移除被遺忘次數(shù)分別為 0 和 1 的樣本,所使用的樣本數(shù)據(jù)統(tǒng)計階段(第一階段)的周期數(shù)及其相應(yīng)的模型最終準(zhǔn)確率狀態(tài);(c) 每個訓(xùn)練周期中增加的遺忘例子的數(shù)量(在訓(xùn)練周期 50 到 80 之間,稀疏結(jié)構(gòu)突變頻率為 5 個周期)。結(jié)果為 ResNet-32 網(wǎng)絡(luò)在 CIFAR-10 數(shù)據(jù)集上的表現(xiàn)。
兩階段數(shù)據(jù)高效訓(xùn)練中數(shù)據(jù)統(tǒng)計所需周期數(shù):
為了在一個常規(guī)的訓(xùn)練長度中實現(xiàn)數(shù)據(jù)統(tǒng)計以及數(shù)據(jù)高效訓(xùn)練,我們需要在第一個階段統(tǒng)計樣本的難易程度,以便在第二階段將簡單樣本從數(shù)據(jù)集中移除。由于數(shù)據(jù)高效訓(xùn)練僅在第二階段中擁有加速效果,所以我們希望使用盡可能少的訓(xùn)練周期完成第一階段的數(shù)據(jù)統(tǒng)計工作。然而,在訓(xùn)練初期,由于網(wǎng)絡(luò)沒有被良好的訓(xùn)練,可能確保所統(tǒng)計出的難易程度的準(zhǔn)確性,從而會影響最終數(shù)據(jù)高效訓(xùn)練模型的準(zhǔn)確率。因此,我們觀察了不同第一階段周期數(shù)與最終模型準(zhǔn)確率的關(guān)系。
如圖 5(b)所示,紅色代表在相應(yīng)的第一階段周期數(shù)下,最終模型的準(zhǔn)確率低于使用完整數(shù)據(jù)集的準(zhǔn)確率,而黃色代表使用相應(yīng)的第一階段周期數(shù)可以達到與使用完整數(shù)據(jù)集相同的準(zhǔn)確率。同時,我們研究了不同稀疏訓(xùn)練方法、稀疏結(jié)構(gòu)方案、模型稀疏率、以及移除的樣本數(shù)量,所需要的第一階段的訓(xùn)練周期。通過對比結(jié)果,我們可以在保持最終準(zhǔn)確率的情況下,選擇最少的第一階段周期數(shù)量來獲得最高的訓(xùn)練加速。
模型結(jié)構(gòu)變異是否會導(dǎo)致遺忘?
不斷進行的模型結(jié)構(gòu)變異作為動態(tài)稀疏訓(xùn)練的一大特征,是否會導(dǎo)致模型對以學(xué)會樣本的嚴重遺忘是我們在稀疏訓(xùn)練中引入數(shù)據(jù)高效訓(xùn)練關(guān)注的問題。為此,我們觀察了每次模型結(jié)構(gòu)突變前后的相鄰周期中被遺忘樣本數(shù)量的變化。
圖 5(c)顯示了不同稀疏訓(xùn)練方法從第 50 到第 80 個訓(xùn)練周期,每個訓(xùn)練周期中被遺忘的樣本數(shù)量的增多值,也就是兩個連續(xù)的訓(xùn)練周期中被遺忘樣本的差異。我們可能會直觀的認為,模型結(jié)構(gòu)的頻繁變異會導(dǎo)致明顯的遺忘現(xiàn)象發(fā)生。但是,令我們驚訝的是,被遺忘的樣本數(shù)量在模型結(jié)構(gòu)變異的訓(xùn)練周期與非變異的訓(xùn)練周期并無明顯差異,這表明模型結(jié)構(gòu)的變異并不會加劇遺忘現(xiàn)象。這是因為每次變異的權(quán)重均為相對最不重要的權(quán)重,因此對模型的性能影響很小。
2.MEST 框架的準(zhǔn)確率與加速性能表現(xiàn)
訓(xùn)練方法有效性檢驗:
首先,我們對 MEST 框架中所提出的稀疏訓(xùn)練方法的進行了準(zhǔn)確率方面的測試,并與具有代表性的稀疏訓(xùn)練方法進行了比較。為了進行更公平的比較,我們 MEST 在這里也使用了跟其他方法一樣的非結(jié)構(gòu)性稀疏方案。
我們在 CIFAR-10 和 CIFAR-100 數(shù)據(jù)集上對 MEST 框架中使用的 MEST+EM 和 MEST+EM&S 方法進行了稀疏訓(xùn)練模型準(zhǔn)確率的測試。我們對比了具有代表性的靜態(tài)稀疏訓(xùn)練方法以及不需要涉及密集信息的動態(tài)稀疏訓(xùn)練方法??梢钥闯?,我們的 MEST+EM 方法在 CIFAR-10 上達到與參考方法相似或更高的準(zhǔn)確率,在 CIFAR-100 上我們的 MEST+EM 方法具有更高的準(zhǔn)確率優(yōu)勢。此外,我們的 MEST+EM&S 方法可以顯著的進一步提高稀疏訓(xùn)練準(zhǔn)確率。

表 1. 在 CIFAR-10 和 CIFAR-100 上使用 ResNet-32 與 SOTA 工作的準(zhǔn)確率比較。
雖然現(xiàn)今在端設(shè)備上使用龐大的 ImageNet 數(shù)據(jù)集進行訓(xùn)練并不實際,但是為了進一步驗證我們的稀疏訓(xùn)練方法的有效性,我們同樣在 ImageNet 數(shù)據(jù)集上進行了準(zhǔn)確率的測試。
如表 2 所示,與先進的 RigL 方法相比,我們的 MEST+EM 和 MEST+EM&S 方法可以在相同的訓(xùn)練計算量(FLOPs)下,得到更高的稀疏訓(xùn)練準(zhǔn)確率,且我們的方法在訓(xùn)練過程中不涉及任何密集模型信息,因此更加的硬件友好。此外,我們還測試了引入數(shù)據(jù)高效訓(xùn)練的效果(MEST+EM&S+DE)??梢钥吹?,我們的數(shù)據(jù)高效訓(xùn)練方法可以在保持準(zhǔn)確率的同時,進一步減少訓(xùn)練開銷,從而實現(xiàn)訓(xùn)練加速。

表 2. 在 ImageNet 上使用 ResNet-50 與 SOTA 工作的準(zhǔn)確率比較。
不同稀疏方案的準(zhǔn)確率與加速性能表現(xiàn):
我們在這篇工作中探究了不同稀疏方案在稀疏訓(xùn)練中的準(zhǔn)確率與加速性能的表現(xiàn)。如圖 6 (a)和(b)所示,粗粒度的結(jié)構(gòu)性稀疏方案會產(chǎn)生較大的準(zhǔn)確率下降,而兩種細粒度的結(jié)構(gòu)性稀疏方案(基于區(qū)塊的細粒度結(jié)構(gòu)性稀疏方案與基于模式的細粒度結(jié)構(gòu)稀疏方案)則可以在高達 90% 的稀疏度下達到與非結(jié)構(gòu)性稀疏方案相似的準(zhǔn)確率。圖 6(c)展示了在 90% 稀疏度下,不同方法和稀疏方案在準(zhǔn)確率、訓(xùn)練加速率以及相對存儲資源的對比。我們可以看到,即便在如此高的稀疏度下,所有的非結(jié)構(gòu)性稀疏方案都無法達到可觀的加速性能,而細粒度的稀疏方案可以在保持較高準(zhǔn)確率的情況下,大大提升加速性能。同時,我們的數(shù)據(jù)高效訓(xùn)練可以進一步有效地提升訓(xùn)練的加速。

圖 6. 不同稀疏方案在不同稀疏度下的模型精度對比。
結(jié)語
由于現(xiàn)有的稀疏訓(xùn)練工作普遍忽視了稀疏方案對實際加速性能的影響,以及對稀疏訓(xùn)練方法是否內(nèi)存經(jīng)濟且硬件友好的顧慮,我們提出了 MEST 稀疏訓(xùn)練框架,通過簡單且有效的稀疏訓(xùn)練方式和適當(dāng)?shù)南∈璺桨福瑢崿F(xiàn)準(zhǔn)確、快速以及對邊緣設(shè)備友好的稀疏訓(xùn)練。我們研究了不同稀疏方案對于稀疏訓(xùn)練準(zhǔn)確率以及加速性能的影響。同時,我們提出引入數(shù)據(jù)高效訓(xùn)練方法來作為模型稀疏度的補充。我們探究了數(shù)據(jù)高效訓(xùn)練在稀疏訓(xùn)練場景下的特性,并提出一種兩階段數(shù)據(jù)高效訓(xùn)練方法,并在不影響準(zhǔn)確率的情況下進一步加速了稀疏訓(xùn)練過程。我們也希望這種新的稀疏訓(xùn)練加速思路可以被更廣泛的研究。
參考文獻:
[1] Yuan, Geng, et al. "MEST: Accurate and Fast Memory-Economic Sparse Training Framework on the Edge." NeurIPS 2021.
[2] Lee, Namhoon, et al.? "Snip: Single-shot network pruning based on connection sensitivity." ICLR 2019.
[3] Wang, Chaoqi, et al. "Picking winning tickets before training by preserving gradient flow." ICLR 2020.
[4] Frankle, Jonathan, et al. "The lottery ticket hypothesis: Finding sparse, trainable neural networks." ICLR 2019.
[5] Mostafa, Hesham, et al. "Parameter efficient training of deep convolutional neural networks by dynamic sparse reparameterization." ICML 2019.?
[6] Evci, Utku, et al. "Rigging the lottery: Making all tickets winners." ICML 2020.
[7] Toneva, Mariya, et al. "An empirical study of example forgetting during deep neural network learning." ICLR 2019.
更多細節(jié)可參考論文原文,更多精彩內(nèi)容請關(guān)注邁微AI研習(xí)社,每天晚上七點不見不散!
??THE END?
投稿或?qū)で髨蟮牢⑿牛篗aiweiE_com
GitHub中文開源項目《計算機視覺實戰(zhàn)演練:算法與應(yīng)用》,“免費”“全面“”前沿”,以實戰(zhàn)為主,編寫詳細的文檔、可在線運行的notebook和源代碼。

項目地址?https://github.com/Charmve/computer-vision-in-action
項目主頁?https://charmve.github.io/L0CV-web/
推薦閱讀
(更多“摳圖”最新成果)
邁微AI研習(xí)社微信號: MaiweiE_com
GitHub:?@Charmve
CSDN、知乎: @Charmve
主頁: github.com/Charmve
如果覺得有用,就請點贊、轉(zhuǎn)發(fā)吧!
