四篇NeurIPS 2019论文,快手特效中的模型压缩了解一下
在即將過(guò)去的 2019 年中,快手西雅圖實(shí)驗(yàn)室在 ICLR、CVPR、AISTATS、ICML 和 NeurIPS 等頂會(huì)上發(fā)表了十多篇論文。
除了這些研究方面的成果,針對(duì)實(shí)際業(yè)務(wù),西雅圖實(shí)驗(yàn)室和快手商業(yè)化還推出了基于 GPU 的廣告推薦訓(xùn)練系統(tǒng) Persia,采用這樣的訓(xùn)練系統(tǒng)單機(jī)能提升 640 倍的效率,已經(jīng)在業(yè)務(wù)場(chǎng)景中廣泛使用;此外提出的新算法對(duì)商業(yè)化廣告收益也有大量提升,新技術(shù)在視頻風(fēng)格遷移和游戲業(yè)務(wù)中也有多項(xiàng)落地成果。這是快手西雅圖實(shí)驗(yàn)室在 2019 交出的一份成績(jī)單。
那么在 NeurIPS 2019,在模型壓縮領(lǐng)域,快手短視頻最新應(yīng)用的技術(shù)是什么樣的?我們?cè)趹?yīng)用各種視覺(jué)特效時(shí),為什么以龐大著稱的深度神經(jīng)網(wǎng)絡(luò)能滿足我們的要求?在本文中,機(jī)器之心將介紹快手在 NeurIPS 2019 的四篇研究成果,并重點(diǎn)探討他們?cè)谀P蛪嚎s方面的努力。
下面是本文的目錄,我們將以如下結(jié)構(gòu)介紹這四項(xiàng)研究成果:
快手在 NeurIPS 2019
在快手做研究
研究框架用什么?
論文代碼要開(kāi)源?
模型壓縮在快手
模型壓縮這條邏輯線
優(yōu)化器:「有些參數(shù)生而冗余」
從數(shù)學(xué)看優(yōu)化器
對(duì)抗訓(xùn)練:「我也能變壓縮」
從數(shù)學(xué)看對(duì)抗與壓縮
快手在 NeurIPS 2019
在最近的 NeurIPS 2019 中,快手及合作者展示了四項(xiàng)新研究。這四項(xiàng)研究中有三項(xiàng)已經(jīng)或者正在應(yīng)用到實(shí)際業(yè)務(wù)中,例如第一篇跟 University of Rochester 和 TAMU 合作的模型壓縮的工作,它已經(jīng)應(yīng)用到一些 CV 任務(wù)中,包括快手比較炫酷的風(fēng)格遷移。
第二篇模型壓縮更像新方法方面的探索,它也能用于部分應(yīng)用而加速視頻的處理過(guò)程。第三篇強(qiáng)化學(xué)習(xí)正應(yīng)用于游戲 AI,它可以令智能體學(xué)會(huì)「團(tuán)隊(duì)協(xié)作」。
論文:Adversarially Trained Model Compression: When Robustness Meets Ef?ciency
地址:https://papers.nips.cc/paper/8410-model-compression-with-adversarial-robustness-a-unified-optimization-framework
論文:Global Sparse Momentum SGD for Pruning Very Deep Neural Networks
地址:https://papers.nips.cc/paper/8867-global-sparse-momentum-sgd-for-pruning-very-deep-neural-networks
論文:LIIR: Learning Individual Intrinsic Reward in Multi-Agent Reinforcement Learning
地址:https://papers.nips.cc/paper/8691-liir-learning-individual-intrinsic-reward-in-multi-agent-reinforcement-learning
論文:Ef?cient Smooth Non-Convex Stochastic Compositional Optimization via Stochastic Recursive Gradient Descent
地址:https://papers.nips.cc/paper/8916-efficient-smooth-non-convex-stochastic-compositional-optimization-via-stochastic-recursive-gradient-descent
當(dāng)然,這些研究成果是快手與合作者聯(lián)合完成的,例如第二篇模型壓縮就是清華大學(xué)-快手未來(lái)媒體數(shù)據(jù)聯(lián)合研究院以及快手西雅圖實(shí)驗(yàn)室共同完成的。
快手西雅圖實(shí)驗(yàn)室負(fù)責(zé)人劉霽表示:「這四項(xiàng)研究都有其獨(dú)特的亮點(diǎn)。在第一篇對(duì)抗訓(xùn)練的模型壓縮中,它會(huì)把各種壓縮方法都集中到一起,并做一種聯(lián)合優(yōu)化,這和之前按照 Pipeline 的形式單獨(dú)做壓縮有很大的不同。與此同時(shí),模型還能抵御對(duì)抗性攻擊,這是兩個(gè)比較有意思的思路。」
「一般剪枝方法都需要大量調(diào)參以更好地保留模型性能,而全局稀疏動(dòng)量 SGD 會(huì)端到端地學(xué)習(xí)到底哪些權(quán)重比較重要,重要的就少壓縮一點(diǎn),不重要的就多壓縮一點(diǎn)。」,論文合著者,清華大學(xué)軟件學(xué)院副院長(zhǎng)丁貴廣說(shuō),「第二篇論文的核心思想在于,我們給定一個(gè)壓縮率,模型在訓(xùn)練中就能自己剪裁,并滿足這個(gè)壓縮率。」
「對(duì)于第三篇多智能體強(qiáng)化學(xué)習(xí)是跟騰訊 AI Lab 和 Robotics X 合作,它希望智能體能快速學(xué)會(huì)利用自己所觀測(cè)的信息來(lái)相互配合。比如說(shuō)在星際爭(zhēng)霸中,我們發(fā)現(xiàn)確實(shí)會(huì)產(chǎn)生多智能體合作的現(xiàn)象,模型會(huì)讓一些防高血厚的單位去抗對(duì)方的輸出,己方輸出高的單元會(huì)躲到后方攻擊。」,劉霽說(shuō)。
「雖然把所有的 agents 看成是一個(gè) agent,理論上也可以學(xué)到最終的配合效果,但是效率會(huì)非常低,不具有可擴(kuò)展性。我們的方法通過(guò)一種 intrinsic reward 的機(jī)制兼顧了可擴(kuò)展性和效率,通過(guò)鼓勵(lì)每個(gè) agent 按照單體利益最大化的原則去學(xué)習(xí)自己的 policy,然后這種 intrinsic reward 的影響會(huì)越來(lái)越小最后快速達(dá)到學(xué)到整體最后的方案」,劉霽說(shuō)。
受傷的智能體 2 躲入血厚的智能體背后,并繼續(xù)輸出傷害。
「最后第四篇是與騰訊 AI Lab 合作的更偏理論的一項(xiàng)研究,它是針對(duì)復(fù)合函數(shù)的最優(yōu)化方法。這里復(fù)合指的是一個(gè)數(shù)學(xué)期望函數(shù)中復(fù)合了另一個(gè)數(shù)學(xué)期望,而常規(guī)的 ML 目標(biāo)函數(shù)就只有最外面一個(gè)數(shù)學(xué)期望。」,劉霽說(shuō),「這種最優(yōu)化方法在風(fēng)險(xiǎn)管理或 RL 中非常有用,例如在 RL 中解貝爾曼方程,它本質(zhì)上就是復(fù)合函數(shù)最優(yōu)化問(wèn)題。」
在快手做研究
在快手做研究,數(shù)據(jù)與算力并不是難事,實(shí)習(xí)生在授權(quán)條件下也能拿到很多一手脫敏數(shù)據(jù)。在快手做研究,從 Idea 到模型上線這條鏈路非常短,研究者能很快看到實(shí)驗(yàn)室結(jié)果對(duì)產(chǎn)品的影響。
因?yàn)殒溌范?#xff0c;研究者很容易接觸一手的線上反饋,這一點(diǎn)特別重要。劉霽說(shuō):「我認(rèn)為最好的研究工作一定是從現(xiàn)實(shí)場(chǎng)景與反饋中生成出來(lái)的,因此我們做的解決方案、理論分析或算法升級(jí)才能真正服務(wù)于某個(gè)具體的問(wèn)題。」
清華大學(xué)軟件學(xué)院副院長(zhǎng)丁貴廣也表明,「清華大學(xué)軟件學(xué)院與快手聯(lián)合建立了未來(lái)媒體數(shù)據(jù)聯(lián)合研究院,其研究方向主要圍繞著快手短視頻業(yè)務(wù)以及未來(lái)媒體。我們的合作研究很多都和媒體任務(wù)相關(guān),快手會(huì)提供很多技術(shù)需求與對(duì)應(yīng)的資源。」正因?yàn)檠芯颗c應(yīng)用之間的路徑非常短,新研究才能更快得到迭代。
在快手做研究應(yīng)該會(huì)很有意思,機(jī)器之心也比較好奇做研究的框架或開(kāi)源策略都是什么樣的。為此,下面我們可以從兩方面一瞥快手研究者的思路。
研究框架用什么?
「這當(dāng)然會(huì)分場(chǎng)景,對(duì)于 CV 研究來(lái)說(shuō),PyTorch 或 TensorFlow 開(kāi)源框架是足夠的。但是對(duì)于產(chǎn)品,我們新成立的 AI 平臺(tái)部門則主要致力于提供一些通用化的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的工具,它會(huì)為不同的業(yè)務(wù)優(yōu)化一些底層技術(shù)。」,劉霽說(shuō)。
對(duì)于研究框架,新入職的博士同學(xué)說(shuō):「TensorFlow 2.0 嘗試構(gòu)建易于使用的動(dòng)態(tài)圖編程,但 1.X 的很多歷史包袱也要支持,因此整體上很難做到統(tǒng)一。此外,TensorFlow 1.X 暴露了過(guò)多不需要關(guān)心的 API,而 2.0 目前又存在很多問(wèn)題。所以,做研究我更喜歡用 PyTorch。」
論文代碼要開(kāi)源?
在快手研究者的眼中,開(kāi)源是一件很重要的事,但好的研究成果并不一定需要通過(guò)開(kāi)源來(lái)體現(xiàn)。
「首先,開(kāi)源代碼對(duì)研究肯定是一件有益的事,能極大方便同行的研究做比較。但與此同時(shí),能夠復(fù)現(xiàn)結(jié)果的代碼,并不一定表示其方法有價(jià)值,這兩者并不一定是絕對(duì)的相關(guān)性。」,劉霽說(shuō),「我個(gè)人認(rèn)為,好方法并不一定需要實(shí)驗(yàn)來(lái)輔證,它們本身就有足夠深遠(yuǎn)的洞見(jiàn)。大家在看實(shí)驗(yàn)之前就能預(yù)見(jiàn)它在哪些條件下能 Work,這樣的研究就是非常有價(jià)值的。」
有了眾多資源與研究經(jīng)驗(yàn),西雅圖實(shí)驗(yàn)室才能持續(xù)地針對(duì)某個(gè)研究領(lǐng)域做出重要貢獻(xiàn)。這里有一個(gè)例子,那就是模型壓縮,西雅圖實(shí)驗(yàn)室今年在這個(gè)領(lǐng)域已經(jīng)發(fā)了 4 篇頂會(huì)論文。
模型壓縮在快手
從今年 ICLR、CVPR 到正在進(jìn)行中的 NeurIPS,快手西雅圖實(shí)驗(yàn)室及合作者探索了很多模型壓縮方法。這些方法從不同的維度解決深度學(xué)習(xí)應(yīng)用問(wèn)題,例如降低模型能耗、創(chuàng)新壓縮算法、聯(lián)合優(yōu)化壓縮算法等等。
「快手的應(yīng)用平臺(tái)大多都體現(xiàn)在手機(jī)上,很多模型與算法都要部署到手機(jī)端,因此功耗、實(shí)時(shí)響應(yīng)都非常重要。模型的應(yīng)用價(jià)值,首先在于它的延遲、能耗等指標(biāo)滿足要求,其次才著重提高準(zhǔn)確率。」,劉霽說(shuō),「除了移動(dòng)端的應(yīng)用,云端也需要模型壓縮。當(dāng)模型非常大,推斷效率就很低,這不僅影響服務(wù)效果,同時(shí)服務(wù)器也容易宕機(jī)。」
目前快手針對(duì)不同手機(jī)型號(hào)會(huì)單獨(dú)考慮壓縮算法,但很快就會(huì)將這些前沿的壓縮算法都會(huì)做成 API,并用于更廣泛的壓縮。劉霽表示:「應(yīng)用模型壓縮最困難的地方在于打通鏈路,從底層硬件、壓縮算法到部署到實(shí)際產(chǎn)品,我們需要理解每一個(gè)環(huán)節(jié),然后再完成整體的聯(lián)合優(yōu)化。」
模型壓縮這條邏輯線
之前機(jī)器之心曾介紹過(guò)「快手有的放矢的模型壓縮」,它以硬件能耗為目標(biāo)進(jìn)行剪枝等操作,并期待構(gòu)建最節(jié)能的深度學(xué)習(xí)模型。在近日舉辦的 NeurIPS 2019 中,快手及合作者又在另外兩方面探討模型壓縮的新可能:修改最優(yōu)化器以「自動(dòng)」剪枝模型權(quán)重、聯(lián)合不同的壓縮算法以學(xué)習(xí)怎樣組合最合適。
「今年 4 篇模型壓縮方面的頂會(huì)論文是有一條邏輯線的,我們從不同的維度來(lái)提升模型壓縮的效果。」,劉霽說(shuō),「之前 ICLR 與 CVPR 2019 的研究主要是利用對(duì)硬件的建模指導(dǎo)模型壓縮,后面第一篇嘗試對(duì)各種壓縮方法做一個(gè)聯(lián)合優(yōu)化,第二篇?jiǎng)t探索最優(yōu)化方法本身的效果。這三者分別從不同的維度探索模型壓縮,它們是可以聯(lián)合的。」
現(xiàn)在,讓我們看看快手及合作者在 NeurIPS 2019 完成的兩項(xiàng)模型壓縮研究,它們的核心思想都非常有價(jià)值。
優(yōu)化器:「有些參數(shù)生而冗余」
剪枝在模型壓縮中非常常見(jiàn),我們訓(xùn)練模型后,可以根據(jù)某些標(biāo)準(zhǔn)刪除一些不重要的權(quán)重。但通常情況下,這種裁剪會(huì)造成精度損失,所以需要重新微調(diào)模型。那么有沒(méi)有辦法在訓(xùn)練中就完成剪枝,讓模型在剪枝率的約束下進(jìn)行學(xué)習(xí)?我們可以把剪枝嵌入到最優(yōu)化器內(nèi),讓模型不再更新「生而冗余」的權(quán)重。
對(duì)于直接學(xué)習(xí)緊湊的網(wǎng)絡(luò),最直觀的思路是,對(duì)于那些「重要的」權(quán)重,我們使用優(yōu)化器更新,而對(duì)于那些「不重要」的權(quán)重,那就讓它們衰減到零吧。思想很簡(jiǎn)單,但問(wèn)題是,什么是重要的,什么又是不重要的權(quán)重?這就是這篇論文該解決的問(wèn)題。
在這一篇論文中,研究者提出了名為全局稀疏動(dòng)量 SGD 的方法(GSM),該算法直接修改梯度流來(lái)進(jìn)行 DNN 剪枝。在每一次訓(xùn)練迭代中,一般 SGD 用目標(biāo)函數(shù)求得的梯度來(lái)更新所有參數(shù),然而在 GSM 中,只有較為重要的少數(shù)參數(shù)用目標(biāo)函數(shù)的梯度來(lái)更新(稱為「活性更新」),大多數(shù)參數(shù)只用權(quán)值衰減來(lái)進(jìn)行更新(稱為「負(fù)向更新」)。
這樣,隨著訓(xùn)練的進(jìn)行,大多數(shù)參數(shù)都會(huì)變得無(wú)限接近于 0。因而,當(dāng)訓(xùn)練結(jié)束后,去除這些無(wú)限接近 0 的參數(shù)不會(huì)對(duì)網(wǎng)絡(luò)的精度產(chǎn)生影響。
這種從優(yōu)化器出發(fā)的剪枝方法有非常好的屬性:
自動(dòng)發(fā)現(xiàn)每層合適的稀疏率:如果 DNN 中的某一層對(duì)剪枝比較敏感,GSM 會(huì)對(duì)該層權(quán)重執(zhí)行更「輕」的剪裁。也就是說(shuō),給定全局壓縮率作為唯一目標(biāo),GSM 能夠根據(jù)每層的敏感性自動(dòng)選擇合適的剪枝比率。
發(fā)現(xiàn)更好的 winning lottery tickets:ICLR 2019 最佳論文 The Lottery Ticket Hypothesis 表明,如果有些參數(shù)在訓(xùn)練后的網(wǎng)絡(luò)中顯得很「重要」,它們很可能在隨機(jī)初始化后就是「重要」的。即在初始化的網(wǎng)絡(luò)中存在某些稀疏子結(jié)構(gòu),單獨(dú)訓(xùn)練這樣的子結(jié)構(gòu)可以得到與訓(xùn)練整個(gè)網(wǎng)絡(luò)相媲美的性能,GSM 就能找到更好的稀疏子結(jié)構(gòu)。
從數(shù)學(xué)看優(yōu)化器
好了,該看看 GSM 的具體過(guò)程了,一般帶動(dòng)量的 SGD 如下所示,它會(huì)先計(jì)算一個(gè)累積的梯度,可以直觀理解為下降小球的「慣性」。學(xué)習(xí)算法會(huì)根據(jù)這樣的慣性找到更新方向,并更新對(duì)應(yīng)的權(quán)重。
GSM 首先要決定對(duì)哪些參數(shù)進(jìn)行「活性更新」,這就要求度量在一次迭代中每個(gè)參數(shù)對(duì)于模型的重要性。這樣的重要性度量可以表示為:
其中 Θ 表示模型的所有參數(shù),如果權(quán)重的梯度小或者權(quán)重本身小,那么 T 值肯定很小,這個(gè)權(quán)重就不是重要的。我們可以根據(jù)全局壓縮率為 P 以及剛算出來(lái)的 T 來(lái)選擇更新哪些權(quán)重,具體而言,總參數(shù)量的 1/P 是需要更新的,因此對(duì)于 T 值最大的 1/P 個(gè)參數(shù)進(jìn)行更新,其它參數(shù)執(zhí)行權(quán)重衰減就行了。
如上將 T 應(yīng)用到方程 1 就能得到 GSM 更新式。B 矩陣中只有 1/P 的值為 1,其它為 0,它再與梯度矩陣執(zhí)行對(duì)應(yīng)元素相乘就表明,模型只會(huì)采用梯度更新這 1/P 的參數(shù)。
對(duì)抗訓(xùn)練:「我也能變壓縮」
現(xiàn)在我們從另一個(gè)角度,看看怎樣統(tǒng)一模型緊湊性與魯棒性,怎樣聯(lián)合不同的壓縮方法。也就是說(shuō),我們要保證壓縮過(guò)后的模型具有足夠小,且該模型還能抵御來(lái)自于對(duì)抗樣本的攻擊。
為了同時(shí)兼顧模型的魯棒性和緊湊性,研究者提出了一個(gè)全新的對(duì)抗訓(xùn)練模型壓縮算法(ATMC)。該方法同時(shí)囊括了剪枝和量化方法,并且將模型壓縮作為對(duì)抗性訓(xùn)練的約束條件,從而得到滿足壓縮約束的模型。
在研究者的實(shí)驗(yàn)中,ATMC 壓縮后的模型在壓縮比例、泛化能力和模型魯棒性之間達(dá)到了較好的平衡。
ATMC 算法的優(yōu)點(diǎn)在于,它首次通過(guò)聯(lián)合訓(xùn)練實(shí)現(xiàn)了魯棒性與緊湊性兼顧,它可以將大規(guī)模模型壓縮為更穩(wěn)健的小模型。它的三大特點(diǎn)在于:
ATMC 以對(duì)抗性訓(xùn)練問(wèn)題作為優(yōu)化目標(biāo)(極小化極大優(yōu)化問(wèn)題);
研究者將結(jié)構(gòu)化的權(quán)重分解、元素級(jí)的稀疏化剪枝、以及模型權(quán)重量化作為整個(gè)優(yōu)化問(wèn)題的約束;
研究者證明 ADMM 算法可以有效解決帶有約束的極小化極大優(yōu)化問(wèn)題,并得到具有緊湊性和魯棒性的模型。
從數(shù)學(xué)看對(duì)抗與壓縮
對(duì)于對(duì)抗訓(xùn)練,研究者將其作為 ATMC 的優(yōu)化目標(biāo),這是一個(gè)極小極大化問(wèn)題。首先通過(guò)白盒攻擊,攻擊者通過(guò)這些竊聽(tīng)權(quán)重、架構(gòu)等信息,生成一個(gè)能最大程度欺騙模型的對(duì)抗性樣本。隨后作為防御者,它會(huì)最小化模型在對(duì)抗樣本出錯(cuò)的概率,從而變得更穩(wěn)健。這種極小極大地對(duì)抗訓(xùn)練,其實(shí)思想和生成對(duì)抗網(wǎng)絡(luò)比較像。
具體的,這種對(duì)抗性訓(xùn)練目標(biāo)可以表示為如下兩個(gè)方程,即最大化錯(cuò)誤以獲得對(duì)抗樣本,最小化錯(cuò)誤以獲得準(zhǔn)確的模型。
其次對(duì)于聯(lián)合模型壓縮,研究者將剪枝、權(quán)重分解和量化作為上述優(yōu)化目標(biāo)的約束條件,希望模型在控制大小的情況學(xué)習(xí)如何變得準(zhǔn)確與穩(wěn)健。值得注意的是,所有優(yōu)化約束僅包含兩個(gè)超參數(shù),ATMC 將根據(jù)對(duì)壓縮性和魯棒性的需求自動(dòng)地調(diào)整每層權(quán)重的稀疏性。
如下所示分別為權(quán)重分解、剪枝和量化三種約束條件。權(quán)重 W 為某個(gè)卷積層的權(quán)重矩陣,權(quán)重分解相當(dāng)于通道級(jí)的剪枝算法、剪枝相當(dāng)于元素級(jí)的裁剪方法。在考慮模型修剪的壓縮方法的同時(shí),研究者也引入了權(quán)重量化方法來(lái)進(jìn)行模型壓縮,即給定每層參數(shù)的比特寬度,并根據(jù)每層的具體情況計(jì)算量化字典。
結(jié)合這兩大模塊,我們就可以得到 ATMC 框架的整體優(yōu)化目標(biāo):
這個(gè)目標(biāo)函數(shù)看起來(lái)很復(fù)雜,極小極大化優(yōu)化目標(biāo)也就算了,還帶有兩組約束條件,似乎常見(jiàn)的優(yōu)化器都無(wú)能為力了。至于如何解這樣帶約束的優(yōu)化目標(biāo),那又是外一個(gè)很有意思的話題了。讀者可以參考原論文或者之前基于能耗的模型壓縮方法,看看 ADMM 優(yōu)化框架如何解這類帶約束的最優(yōu)化問(wèn)題。
最后,除了各種壓縮算法,本身更緊湊的模型也是非常重要的一個(gè)方向,從最近 Quoc V. Le 等研究者的 EfficientNet 與 EfficientDet 就能明顯感覺(jué)到。總的來(lái)說(shuō),深度學(xué)習(xí)想要應(yīng)用,模型的計(jì)算要求還是最為關(guān)鍵的那一類問(wèn)題。
????
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁(yè)搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結(jié)
以上是生活随笔為你收集整理的四篇NeurIPS 2019论文,快手特效中的模型压缩了解一下的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2019年,异质图神经网络领域有哪些值得
- 下一篇: 紫禁路到解放西路中国银行坐哪路车?