ICLR 2017
摘要
神經(jīng)網(wǎng)絡(luò)吸收信息的能力受到其參數(shù)數(shù)量的限制。條件計(jì)算,即網(wǎng)絡(luò)的某些部分在每個(gè)示例的基礎(chǔ)上處于活動(dòng)狀態(tài),在理論上已被提出作為一種在不按比例增加計(jì)算量的情況下大幅增加模型容量的方法。然而,在實(shí)踐中,存在重大的算法和性能挑戰(zhàn)。在這項(xiàng)工作中,我們解決了這些挑戰(zhàn),最終實(shí)現(xiàn)了條件計(jì)算的承諾,模型容量提高了 1000 倍以上,而現(xiàn)代 GPU 集群的計(jì)算效率僅略有損失。我們引入了稀疏門(mén)控專(zhuān)家混合層(MoE),由多達(dá)數(shù)千個(gè)前饋?zhàn)泳W(wǎng)絡(luò)組成。可訓(xùn)練的門(mén)控網(wǎng)絡(luò)確定用于每個(gè)示例的這些專(zhuān)家的稀疏組合。我們將 MoE 應(yīng)用于語(yǔ)言建模和機(jī)器翻譯的任務(wù),其中模型容量對(duì)于吸收訓(xùn)練語(yǔ)料庫(kù)中的大量可用知識(shí)至關(guān)重要。我們提出了模型架構(gòu),其中具有多達(dá) 1370 億個(gè)參數(shù)的 MoE 在堆疊的 LSTM 層之間以卷積方式應(yīng)用。在大型語(yǔ)言建模和機(jī)器翻譯基準(zhǔn)上,這些模型以較低的計(jì)算成本取得了比最先進(jìn)模型更好的結(jié)果。
動(dòng)機(jī)
使用條件計(jì)算方法實(shí)現(xiàn)在增加模型容量的同時(shí),減少計(jì)算的開(kāi)銷(xiāo)。實(shí)現(xiàn)了稀疏門(mén)控專(zhuān)家混合層。
模型結(jié)構(gòu)
經(jīng)典的moe結(jié)構(gòu)表示: y = ∑ i = 1 n G ( x ) i E i ( x ) y=\sum_{i=1}^{n}G(x)_i E_i(x) y=∑i=1n?G(x)i?Ei?(x)
如果專(zhuān)家組數(shù)量很大,使用分層moe。
路由網(wǎng)絡(luò)
-
Softmax Gating: 最簡(jiǎn)單和原始的方法 G σ ( x ) = S o f t m a x ( x ? W g ) G_{\sigma}(x) = Softmax(x\cdot W_g) Gσ?(x)=Softmax(x?Wg?)
-
Noisy Top-K Gating: 添加噪聲,平衡訓(xùn)練 G ( x ) = S o f t m a x ( K e e p T o p K ( H ( x ) , k ) ) G(x) = Sof tmax(KeepT opK(H(x), k)) G(x)=Softmax(KeepTopK(H(x),k))
H ( x ) i = ( x ? W g ) i + S t a n d a r d N o r m a l ( ) ? S o f t p l u s ( ( x ? W n o i s e ) i ) H(x)_i = (x · W_g)_i + StandardN ormal() · Sof tplus((x · W_{noise})_i) H(x)i?=(x?Wg?)i?+StandardNormal()?Softplus((x?Wnoise?)i?)
K e e p T o p K ( v , k ) i = { v i , if? v i ?is?in?the?top?k?elements?of?v ? ∞ , otherwise. KeepTopK(v, k)_i = \begin{cases} v_i, & \text{if}\ v_i\ \text{is in the top k elements of v} \\ -\infty ,&\text{otherwise.} \end{cases} KeepTopK(v,k)i?={vi?,?∞,?if?vi??is?in?the?top?k?elements?of?votherwise.?
平衡專(zhuān)家利用
作者觀察到,門(mén)控網(wǎng)絡(luò)傾向于收斂到一種狀態(tài),即它總是為相同的少數(shù)專(zhuān)家產(chǎn)生較大的權(quán)重。這種不平衡是自我強(qiáng)化的,因?yàn)槭芮嗖A的專(zhuān)家訓(xùn)練得更快,因此更容易被門(mén)控網(wǎng)絡(luò)選擇。
bengio也提到了這個(gè)問(wèn)題,解決方法是使用了兩個(gè)損失。其中一個(gè)控制每個(gè)example的稀疏性,我們不需要它,因?yàn)樗怯?k 的固定值強(qiáng)制執(zhí)行的。第三個(gè)損失鼓勵(lì)了門(mén)值的多樣性。在我們的實(shí)驗(yàn)中,我們發(fā)現(xiàn)隨著專(zhuān)家的專(zhuān)業(yè)化,門(mén)值自然會(huì)多樣化(良性循環(huán)),并且我們不需要強(qiáng)制門(mén)值的多樣性。
We take a soft constraint approach:定義了重要性損失,一個(gè)專(zhuān)家的重要性定義為batch數(shù)據(jù)中該專(zhuān)家的gate值的加和。這個(gè)額外的損失鼓勵(lì)全部的專(zhuān)家有相同的重要性。
I
m
p
o
r
t
a
n
c
e
(
X
)
=
∑
x
∈
X
G
(
x
)
Importance(X) = \sum_{x\in X} G(x)
Importance(X)=x∈X∑?G(x)
L
i
m
p
o
r
t
a
n
c
e
(
X
)
=
w
i
m
p
o
r
t
a
n
c
e
?
C
V
(
I
m
p
o
r
t
a
n
c
e
(
X
)
)
2
L_{importance}(X) = w_{importance} · CV (Importance(X))^2
Limportance?(X)=wimportance??CV(Importance(X))2
CV:離散系數(shù)
雖然這種方法可以使得樣本均勻的分給不同的專(zhuān)家,但是,專(zhuān)家的gate weight也是不均勻的,會(huì)造成在分布式硬件上內(nèi)存和性能問(wèn)題,因此引入了另外的損失:load loss
兩個(gè)損失的圖解參考:【手撕LLM-sMoE】離GPT4又近了一步文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-790230.html
總結(jié)
- sMoE 的經(jīng)典工作之一
- 輔助loss是有效的設(shè)計(jì)
參考:
https://zhuanlan.zhihu.com/p/335024684
【手撕LLM-sMoE】離GPT4又近了一步
源碼文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-790230.html
到了這里,關(guān)于論文筆記|OUTRAGEOUSLY LARGE NEURAL NETWORKS- THE SPARSELY-GATED MIXTURE-OF-EXPERTS LAYER的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!