您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān) 怎么簡單理解Google 1.6萬億參數(shù)的Switch Transformer論文?,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Switch Transformer 可以理解成一種如何在訓(xùn)練基于MOE (Mixture of Experts) 的巨模型時“偷工減料”的技巧,但這種“偷工減料”卻蘊含了一些新的洞察(insights)。
在一般情況下,基于MoE,一個樣例進來,會被好幾個子網(wǎng)絡(luò)(expert)處理,這幾個子網(wǎng)絡(luò)的處理結(jié)果可以加權(quán)求和,每個子網(wǎng)絡(luò)的權(quán)重是通過一個叫router的模塊計算出來的(如下圖所示)。MoE可以理解成一種模型的集成 (ensemble),根據(jù)top k 激活一部分子網(wǎng)絡(luò)。按照我們對模型集成的經(jīng)驗,一般來說,集成的結(jié)果應(yīng)該要比每一個子網(wǎng)絡(luò)單獨的效果好 (這一點很重要,后文還會提到)。當(dāng)然,這也讓MoE的不足之處展現(xiàn)出來,每個子網(wǎng)絡(luò)都需要進行計算,總計算量是所有子網(wǎng)絡(luò)計算量之和。不過,MoE 使用所有子網(wǎng)絡(luò)不一定就比只使用一個網(wǎng)絡(luò)好,sparsity 可以讓每個子網(wǎng)絡(luò)更“聚焦”,分工更明確,帶來的優(yōu)勢還需進一步觀察。
Switch Transformer 的發(fā)現(xiàn)是什么?如下圖所示,每一個樣例進來不需要被所有的子網(wǎng)絡(luò)處理,只被router模塊權(quán)重最大的子網(wǎng)絡(luò)處理,這個子網(wǎng)絡(luò)的結(jié)果再乘以這個權(quán)重就可以了,計算量一下子變成了MoE的四分之一。
計算量是少了,效果會有損失嗎?按常規(guī)的理解來說,效果應(yīng)該是有損失的,不過這篇論文并沒有提供一組實驗結(jié)果正面回答這個問題。Table 1 的實驗結(jié)果雖然對比了Switch Transformer和 MoE 并得出了雙方最接近這個結(jié)論,但其對比方式并不一致。該實驗并未在固定每個expert 網(wǎng)絡(luò)大小的情況下去對比,而是在speed-quality 的基礎(chǔ)上對比(全文的實驗結(jié)果都是這樣設(shè)定),也就是讓MoE和Switch Transformer在計算速度差不多的情況下對比質(zhì)量,這種情況下Switch Transformer里的子網(wǎng)絡(luò)的規(guī)模一定比MoE 里的子網(wǎng)絡(luò)規(guī)模大。
當(dāng)然Switch Transformer論文的意義也在于此。其提供了一種“增大參數(shù)量,但不增大計算量”的技巧,而且實驗還發(fā)現(xiàn),“增大參數(shù)量能提升效果”。
我們可以進一步考慮兩個極端情況。
如果上面的A, B, C, D 子網(wǎng)絡(luò)是被分配到不同的設(shè)備上去運行的,那么在子網(wǎng)絡(luò)參數(shù)規(guī)模相同的情況下,MoE 計算速度和Switch Transformer 可以保持一致,MoE 四個設(shè)備同時都用滿了,但Switch Transformer 里一個樣例只激活一個設(shè)備,設(shè)備總體利用率可能不高。但MoE的效果應(yīng)該比Switch Transformer好,因為每個樣例都激活了所有的專家網(wǎng)絡(luò),一般情況下,集成的效果會更好(但稀疏化后也可能更好,因為每個專家會更加聚焦和專注)。當(dāng)然,一個批次里包含很多樣例,在Switch Transformer里,平均來說每個設(shè)備都會有活干,Switch Transformer仍會有速度優(yōu)勢。
如果A, B, C, D 被分配到同一個設(shè)備上了,這時,A, B, C, D 不能同時運行,那么Switch Transformer 就比MoE 快4倍,這種情況 Switch Transformer 才有速度優(yōu)勢。
引入sparsity,并行和負載均衡都會引入一些新的問題,Switch Transformer也都提供了一些解決辦法。例如引入了傾向于負載均衡的損失函數(shù),以及expert 并行等。其中Switch Transformer 所需要的數(shù)據(jù)并行、模型并行混合并行也正是OneFlow框架所擅長的,論文在解決這個問題時,使用了Mesh-tensorflow。
上述就是小編為大家分享的 怎么簡單理解Google 1.6萬億參數(shù)的Switch Transformer論文?了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。