自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

DeepSeek-V3 技術(shù)解析:無(wú)輔助損失函數(shù)的負(fù)載均衡

人工智能
?在混合專家模型(MoE)的實(shí)踐中,負(fù)載不均衡儼然已成為制約模型性能提升的關(guān)鍵瓶頸之一。傳統(tǒng)的均衡策略往往需要引入復(fù)雜的輔助損失函數(shù),不僅增加了訓(xùn)練的復(fù)雜度,還可能干擾模型的核心學(xué)習(xí)目標(biāo)。工程師們?cè)谔嵘P托实牡缆飞?,一直苦苦追尋著一個(gè)優(yōu)雅而高效的平衡解決方案。

在混合專家模型(MoE)的實(shí)踐中,負(fù)載不均衡儼然已成為制約模型性能提升的關(guān)鍵瓶頸之一。傳統(tǒng)的均衡策略往往需要引入復(fù)雜的輔助損失函數(shù),不僅增加了訓(xùn)練的復(fù)雜度,還可能干擾模型的核心學(xué)習(xí)目標(biāo)。工程師們?cè)谔嵘P托实牡缆飞?,一直苦苦追尋著一個(gè)優(yōu)雅而高效的平衡解決方案。

DeepSeek 團(tuán)隊(duì)的這項(xiàng)研究,為這一長(zhǎng)期困擾業(yè)界的技術(shù)難題提供了令人耳目一新的解決思路:通過(guò)在門(mén)控分?jǐn)?shù)中直接添加專家層面的偏置項(xiàng),在絕大部分不引入額外損失函數(shù)的情況下,實(shí)現(xiàn)了模型訓(xùn)練過(guò)程中的自適應(yīng)負(fù)載均衡。更令人驚嘆的是,這一方法不僅保持了模型的因果關(guān)系,還顯著提升了訓(xùn)練的穩(wěn)定性和最終性能。

我們將探討 DeepSeek 模型[1, 2, 3]中與混合專家模型(MoE)相關(guān)的另一項(xiàng)關(guān)鍵架構(gòu)突破:無(wú)輔助損失函數(shù)的負(fù)載均衡(Auxiliary-Loss-Free Load Balancing)[5]。

在本文,我們將深入解析 DeepSeek 如何解決 MoE 的隱藏瓶頸——負(fù)載均衡,同時(shí)還通過(guò)消除梯度干擾和嚴(yán)格遵循因果關(guān)系約束,提升了訓(xùn)練和推理效率,為后續(xù)專家模型的優(yōu)化方向提供了標(biāo)桿。

本文目錄:

  • 技術(shù)背景:介紹混合專家模型(MoE)的基本原理,解釋負(fù)載均衡的重要性,回顧之前的工作,包括輔助損失函數(shù)(auxiliary loss)方法和專家選擇(Expert Choice)策略。
  • DeepSeek 的無(wú)輔助損失函數(shù)的負(fù)載均衡:解析其運(yùn)作原理
  • 性能評(píng)估:討論無(wú)輔助損失函數(shù)的負(fù)載均衡的性能表現(xiàn)
  • 總結(jié)
  • 參考文獻(xiàn)

「DeepSeek-V3 技術(shù)解析」系列其他文章:

  • 「DeepSeek-V3 技術(shù)解析」:多頭潛在注意力機(jī)制(MLA)
  • 「DeepSeek-V3 技術(shù)解析」:DeepSeekMoE

1.技術(shù)背景

1.1 MoE (Mixture-of-Experts) in Transformers

MoE(Mixture-of-Experts,混合專家模型)在 Transformer 中的實(shí)現(xiàn)方式通常為:每隔若干 Transformer 層,將其中的 FFN(前饋網(wǎng)絡(luò))替換為多個(gè) FFN(每個(gè) FFN 充當(dāng)一個(gè)"專家")。當(dāng) input token 進(jìn)入該層時(shí),通過(guò)門(mén)控操作(Gating)選擇 Top-K 個(gè)專家,并將 input token 只路由至這些被選中的 FFN,從而僅激活對(duì)應(yīng)的專家網(wǎng)絡(luò)。

下圖展示了這一過(guò)程:左側(cè)標(biāo)準(zhǔn) Transformer 層中的 FFN 子層被替換為右側(cè)的 MoE 層。

如需更詳細(xì)的 MoE 技術(shù)解析,可參考「DeepSeek-V3 技術(shù)解析」:DeepSeekMoE(文中通過(guò)餐廳類比直觀解釋了 MoE 原理)。

圖 1. Transformer 中的 MoE 層(紅框內(nèi))示意圖。圖片改編自文獻(xiàn) [6]。圖 1. Transformer 中的 MoE 層(紅框內(nèi))示意圖。圖片改編自文獻(xiàn) [6]。

1.2 負(fù)載均衡及其重要性

我們通過(guò)一個(gè)能夠提供多種菜系菜品的餐廳解釋了 MoE 的概念:餐廳的每位廚師都是專家,主廚(Head Chef)的工作類似于門(mén)控操作,將每道菜品分配給具備對(duì)應(yīng)技能的特定廚師。

為確保該系統(tǒng)高效運(yùn)作,需滿足以下條件:

  • 每位專業(yè)廚師必須精通自身菜系所需技能(例如餃子廚師必須會(huì)包餃子),同時(shí)所有廚師需能共同處理所有菜品。
  • 主廚需充分了解所有專業(yè)廚師的專長(zhǎng),并能高效分配訂單。

在 MoE 中,前者對(duì)應(yīng) expert specialization 與 knowledge sharing 的權(quán)衡(我們已在介紹 DeepSeekMoE 的這篇文章中進(jìn)行了詳細(xì)討論),后者則體現(xiàn)了負(fù)載均衡的重要性 —— 這也是本文的核心主題。

為何負(fù)載均衡如此重要?

原因在于,當(dāng)負(fù)載不均衡發(fā)生時(shí),MoE 無(wú)法有效運(yùn)作。最常見(jiàn)的問(wèn)題是路由崩潰(Route Collapse):少數(shù)專家接收大部分 input token,而其他專家的利用率極低。

因此,大部分計(jì)算由超負(fù)荷工作的專家承擔(dān),而這些專家通常分布在多個(gè) GPU 核心上,因此會(huì)導(dǎo)致硬件資源浪費(fèi)。

由于梯度沖突(gradient conflict),路由奔潰也會(huì)導(dǎo)致訓(xùn)練不穩(wěn)定。超負(fù)荷工作的專家接收更多 input token,他們積累的梯度也會(huì)更大,學(xué)習(xí)速度也會(huì)比工作負(fù)荷不足的專家快得多;因此,兩者的梯度在幅值和方向上均可能發(fā)生偏離,導(dǎo)致訓(xùn)練難以收斂。

最后,MoE 中的負(fù)載不均衡也會(huì)導(dǎo)致性能低下和泛化效果不佳,因?yàn)楣ぷ髫?fù)荷不足的專家會(huì)因?yàn)橛?xùn)練 tokens 不足,而難以學(xué)習(xí)有效知識(shí)。

由于負(fù)載均衡技術(shù)對(duì) MoE 至關(guān)重要,因此研究者們針對(duì)這一問(wèn)題提出了多種解決方案。其中,最常用的策略是為負(fù)載均衡添加輔助損失函數(shù)(Auxiliary Loss)和專家選擇(Expert Choice)。

1.3 帶輔助損失函數(shù)的負(fù)載均衡

一種常見(jiàn)的改善負(fù)載均衡的策略是在模型訓(xùn)練的目標(biāo)函數(shù)基礎(chǔ)上引入輔助損失函數(shù)。

圖 2. 用于強(qiáng)化負(fù)載均衡的輔助損失函數(shù)示例。圖片編輯自文獻(xiàn)[5]。圖 2. 用于強(qiáng)化負(fù)載均衡的輔助損失函數(shù)示例。圖片編輯自文獻(xiàn)[5]。

上圖展示了一個(gè)輔助損失函數(shù)的示例,其中

  • N 是專家數(shù)量,T 是 token 數(shù)量,K 是每個(gè) input token 激活的專家數(shù)量。
  • s_{i, t} 是門(mén)控機(jī)制的輸出,通過(guò) Softmax 歸一化到 [0, 1] 區(qū)間,表示第 t 個(gè) token 選擇第 i 個(gè)專家的概率。向量 u_t 是第 t 個(gè) token 的輸入隱藏狀態(tài),而 e_i 是第 i 個(gè)專家的“質(zhì)心”,可以看作歷史上路由到第 i 個(gè)專家的 token 嵌入平均值。因此,s_{i, t} 度量的是當(dāng)前輸入與第 i 位專家歷史接收 token 的平均值的接近程度。
  • 因此,P_i 可視為整個(gè)輸入序列選擇第 i 個(gè)專家的平均概率。
  • f_i 表示被路由到第 i 個(gè)專家的 token 比例。

需要注意的是,f_i 是不可微分的,因此最小化上述損失函數(shù)實(shí)際上轉(zhuǎn)化為了最小化 s_{i, t}。同時(shí)由于 f_i 依賴于 s_{i, t},對(duì) s_{i, t} 的調(diào)整也會(huì)影響 f_i,從而實(shí)現(xiàn)對(duì)各專家負(fù)載分配的調(diào)節(jié)。

然而,用這種輔助損失函數(shù)來(lái)均衡負(fù)載需要付出一定代價(jià),因?yàn)槠涮荻瓤赡軙?huì)干擾語(yǔ)言建模目標(biāo)(language modeling objective)的梯度,導(dǎo)致模型性能下降,在極端不平衡情況下(工作負(fù)荷過(guò)大的專家的 f_i 和 P_i 都變得極大時(shí))尤其明顯。

因此,采用這種方法進(jìn)行負(fù)載均衡需要謹(jǐn)慎設(shè)置輔助損失函數(shù)的權(quán)重。為更清晰地說(shuō)明這一點(diǎn),文獻(xiàn)[5]的作者進(jìn)行了一個(gè)實(shí)驗(yàn),用不同 alpha 值訓(xùn)練模型,結(jié)果如下圖所示,其中縱軸表示困惑度指標(biāo)下的模型性能,橫軸表示 MaxVio(衡量負(fù)載不平衡程度的指標(biāo),MaxVio 值越高表示負(fù)載越不平衡,i 表示第 i 個(gè)專家):

圖 3. 輔助損失函數(shù)控制訓(xùn)練中負(fù)載均衡與模型性能的權(quán)衡困境。圖片引自文獻(xiàn)[5]。圖 3. 輔助損失函數(shù)控制訓(xùn)練中負(fù)載均衡與模型性能的權(quán)衡困境。圖片引自文獻(xiàn)[5]。

如圖所示,當(dāng) alpha 過(guò)小時(shí)(alpha=0),MaxVio 保持高位,說(shuō)明輔助損失函數(shù)未能有效實(shí)現(xiàn)負(fù)載均衡目標(biāo)。另一方面,當(dāng) alpha 過(guò)大時(shí)(alpha=0.01),模型最終會(huì)產(chǎn)生更高的困惑度。

綜上,輔助損失函數(shù)控制的負(fù)載均衡是把雙刃劍:若 alpha 未經(jīng)仔細(xì)調(diào)校,可能損害模型性能。實(shí)際 LLM 訓(xùn)練中,由于資源限制,alpha 的調(diào)校過(guò)程充滿挑戰(zhàn),這進(jìn)一步增加了優(yōu)化難度。

上圖同時(shí)展示了本文提出的無(wú)損失函數(shù)方法在相同 Perplexity-MaxVio 坐標(biāo)系下的表現(xiàn),該方法同時(shí)實(shí)現(xiàn)了低困惑度和低 MaxVio,證明了無(wú)損失函數(shù)方法的有效性。

1.4 專家選擇(Expert Choice)策略

在此需提及的另一項(xiàng)前期工作是 Expert Choice [7],它提出了一種簡(jiǎn)單高效的負(fù)載均衡方法,將路由策略從“token choice”切換為“expert choice”。

具體而言,MoE 路由中的門(mén)控分?jǐn)?shù)通常通過(guò)對(duì) affinity matrix(譯者注:二維矩陣,用于量化 input token 與各個(gè)專家之間的匹配程度。)應(yīng)用 Softmax 計(jì)算得出,如圖 2 所示。傳統(tǒng)路由方法從 token 維度應(yīng)用 Softmax 為每個(gè) token 選擇專家,因此這些方法被稱為“token choice”。問(wèn)題在于,該機(jī)制下我們無(wú)法控制每個(gè)專家接收的 token 數(shù)量,最終導(dǎo)致負(fù)載不均衡問(wèn)題。

而 Expert Choice 方法則從專家維度應(yīng)用 Softmax,為每個(gè)專家選擇被路由的 token。通過(guò)這種設(shè)計(jì),每個(gè)專家接收的 token 數(shù)量能夠天然達(dá)到完美均衡,因此無(wú)需依賴輔助損失函數(shù)實(shí)現(xiàn)負(fù)載均衡。在文獻(xiàn)[7]中,這種方法同時(shí)展現(xiàn)出更優(yōu)的模型性能和更快的訓(xùn)練速度。

然而,Expert Choice 這種方法也存在局限 —— 未來(lái) token 泄露問(wèn)題。由于每個(gè)專家需要先查看所有 token 的路由分?jǐn)?shù)才能決定處理哪些 token,這違反了因果關(guān)系(causality),在文本生成、機(jī)器翻譯等自回歸任務(wù)中可能引發(fā)嚴(yán)重問(wèn)題。

2.DeepSeek 的無(wú)輔助損失函數(shù)的負(fù)載均衡

為在不引入 gradient inference(譯者注:此處或?yàn)樽髡吖P誤?應(yīng)當(dāng)為“gradient interference(梯度干擾)”,多個(gè)損失函數(shù)(或多個(gè)優(yōu)化目標(biāo))的梯度方向發(fā)生沖突。) 的情況下解決負(fù)載均衡問(wèn)題,DeepSeek 提出了一種名為" Loss-Free Balancing"的新技術(shù),通過(guò)直接調(diào)整門(mén)控分?jǐn)?shù) s_{i,t} 實(shí)現(xiàn)。

如前文所述,當(dāng)我們最小化圖 2 所示的輔助損失函數(shù)時(shí),最終會(huì)通過(guò)調(diào)整 s_{i,t} 來(lái)實(shí)現(xiàn)最小化 P_i。

因此,若能直接調(diào)整 s_{i,t},理論上應(yīng)能達(dá)到與施加輔助損失函數(shù)相似的效果。

為此,我們?cè)诿總€(gè)專家的門(mén)控分?jǐn)?shù)上添加了專家層面的偏置項(xiàng),如下圖所示。需注意 b_i 并不用于最終門(mén)控分?jǐn)?shù)的計(jì)算(后文也將說(shuō)明該偏置項(xiàng)也是不可微分的),而是用于 TopK 選擇專家時(shí):

圖 4. 在門(mén)控分?jǐn)?shù)中引入偏置項(xiàng) b_i。圖片引自文獻(xiàn)[5]圖 4. 在門(mén)控分?jǐn)?shù)中引入偏置項(xiàng) b_i。圖片引自文獻(xiàn)[5]

該偏置項(xiàng) b_i 的計(jì)算方式非常直觀,如下圖所示:首先獲取分配給各專家的 token 數(shù)量平均值及所有專家的理論全局均值,然后計(jì)算給各專家分配的 token 數(shù)量與理論全局均值的差值,偏置項(xiàng)由該差值(或誤差)的符號(hào)乘以固定更新率(fixed update rate)決定(該更新率為可調(diào)超參數(shù))。后續(xù)章節(jié)我們將對(duì)該超參數(shù)的影響進(jìn)行更多實(shí)驗(yàn)分析。

圖 5. DeepSeek 無(wú)損失函數(shù)的負(fù)載均衡算法。圖片引自文獻(xiàn)[5]圖 5. DeepSeek 無(wú)損失函數(shù)的負(fù)載均衡算法。圖片引自文獻(xiàn)[5]

現(xiàn)可通過(guò)下表總結(jié)不同負(fù)載均衡方法的優(yōu)勢(shì)與局限:

圖 6. 不同負(fù)載均衡方法對(duì)比。圖片引自文獻(xiàn)[5]圖 6. 不同負(fù)載均衡方法對(duì)比。圖片引自文獻(xiàn)[5]

圖 3 已展示該方法在模型性能與負(fù)載均衡間取得了更好的權(quán)衡,但仍有多方面需要驗(yàn)證。下一章節(jié)我們將深入分析實(shí)驗(yàn)結(jié)果。

3.Evaluation

有三個(gè)關(guān)鍵問(wèn)題需要回答:

  • DeepSeek 所提出的方法能否在性能和負(fù)載均衡之間實(shí)現(xiàn)更好的權(quán)衡?
  • 圖 5 中更新率 u 有什么影響?
  • 我們能否進(jìn)一步優(yōu)化偏置項(xiàng)更新規(guī)則(鑒于其如此之簡(jiǎn)單)?

3.1 性能 vs. 負(fù)載均衡

為回答第一個(gè)問(wèn)題,作者在 1B 和 3B 模型上進(jìn)行了實(shí)驗(yàn),比較 loss-controlled 負(fù)載均衡和 loss-free 負(fù)載均衡的困惑度(Perplexity)和 MaxVio,結(jié)果如下圖所示:

圖 7.  loss-controlled 負(fù)載均衡和 loss-free 負(fù)載均衡的對(duì)比。圖片來(lái)自圖 7. loss-controlled 負(fù)載均衡和 loss-free 負(fù)載均衡的對(duì)比。圖片來(lái)自

上述結(jié)果與我們?cè)趫D 3 中看到的結(jié)果類似:所提方法同時(shí)實(shí)現(xiàn)了更低的困惑度和更低的MaxVio。

除了評(píng)估最終的 checkpoint 外,作者還展示了訓(xùn)練過(guò)程中的 MaxVio 曲線,以便更全面地理解該方法在整個(gè)訓(xùn)練過(guò)程中的表現(xiàn),如下圖所示:

圖 8. 訓(xùn)練過(guò)程中的 MaxVio 曲線。圖片來(lái)自文獻(xiàn)[5]。圖 8. 訓(xùn)練過(guò)程中的 MaxVio 曲線。圖片來(lái)自文獻(xiàn)[5]。

如圖中所示,在 1B 和 3B 的模型配置下,loss-free 方法在整個(gè)訓(xùn)練過(guò)程中都展現(xiàn)出更優(yōu)的負(fù)載均衡能力,體現(xiàn)了該方法的穩(wěn)定性。

3.2 超參數(shù)的影響(更新率)

如圖 5 所示,所提方法引入了一個(gè)新的超參數(shù) u(稱為更新率(update rate)),該超參數(shù)如何影響 loss-free 方法的有效性?具體而言,我們需要理解 loss-free 方法對(duì)超參數(shù) u 的取值是敏感還是不敏感,以及如何選擇一個(gè)最優(yōu)值來(lái)最大化該方法的效果。

如前文所述,在門(mén)控分?jǐn)?shù)中添加偏置項(xiàng)的概念類似于繞過(guò)損失函數(shù)的反向傳播,直接對(duì)門(mén)控分?jǐn)?shù)進(jìn)行梯度更新。在這種情況下,更新率 u 的作用與梯度更新中的步長(zhǎng)(step size)類似。由此可推測(cè)其影響也相似:過(guò)小的更新率可能會(huì)導(dǎo)致收斂速度緩慢。過(guò)大的更新率可能導(dǎo)致不穩(wěn)定和引發(fā)波動(dòng)。

在原文中,作者對(duì)更新率進(jìn)行了實(shí)驗(yàn)測(cè)試(取值從 1e-4 到 1e-2),結(jié)果如下圖所示:

圖 9. 更新率(update rate)對(duì)訓(xùn)練負(fù)載均衡的影響。圖片來(lái)自文獻(xiàn)[5]。圖 9. 更新率(update rate)對(duì)訓(xùn)練負(fù)載均衡的影響。圖片來(lái)自文獻(xiàn)[5]。

與預(yù)期一致,當(dāng) u 過(guò)小時(shí)(如 1e-4),MaxVio 下降速度較慢;而過(guò)大的 u(如 1e-2)則因波動(dòng)性增強(qiáng),導(dǎo)致訓(xùn)練過(guò)程中 MaxVio 持續(xù)偏高。

3.3 其他偏置項(xiàng)更新規(guī)則

為回答第三個(gè)問(wèn)題,研究者嘗試了多種備選策略,并將它們與 DeepSeek 提出的版本進(jìn)行對(duì)比:

  • 策略變體 1:使用 e_i 的數(shù)值(而不僅僅是符號(hào))計(jì)算偏置項(xiàng),即從 b_i = b_i +u?sign(e_i) 改為b_i = b_i +u?e_i。
  • 策略變體 2:使用乘法偏置項(xiàng)而非加法偏置項(xiàng)。

其中策略變體 2 可以更正式地描述如下:

image.pngimage.png

實(shí)驗(yàn)表明,策略變體 1 能帶來(lái)略優(yōu)的負(fù)載均衡效果,但未提升模型性能:

圖 10. 策略變體 1 的性能表現(xiàn)。圖片來(lái)自文獻(xiàn)[5]。圖 10. 策略變體 1 的性能表現(xiàn)。圖片來(lái)自文獻(xiàn)[5]。

而策略變體 2 甚至顯示出略差的模型性能:

圖 11. 策略變體 2 的性能表現(xiàn)。圖片來(lái)自文獻(xiàn)[5]。圖 11. 策略變體 2 的性能表現(xiàn)。圖片來(lái)自文獻(xiàn)[5]。

以上所有結(jié)果均表明,最簡(jiǎn)單的策略反而是最佳選擇。

4.Summary

在本文中,我們解釋了 DeepSeek 模型的核心架構(gòu)創(chuàng)新之一 —— DeepSeekMoE 中使用的無(wú)輔助損失函數(shù)的負(fù)載均衡方法。

本文首先介紹了混合專家模型(MoE)的基本原理,強(qiáng)調(diào)了負(fù)載均衡的重要性,并回顧了先前的解決方案(包括 auxiliary loss 方法和 Expert Choice 機(jī)制)。接著,本文闡釋了 DeepSeek 的無(wú)損失函數(shù)的負(fù)載均衡方法及其性能表現(xiàn)。

DeepSeek 的無(wú)損失函數(shù)方法在保持因果關(guān)系的同時(shí)避免了引入梯度干擾,其有效性已通過(guò)原論文的實(shí)證結(jié)果得到驗(yàn)證。

感謝您花時(shí)間閱讀本文!

參考文獻(xiàn)

[1] DeepSeek(https://www.deepseek.com/)

[2] DeepSeek-V3 Technical Report(https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf)

[3] DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model(https://arxiv.org/abs/2405.04434)

[4] DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models(https://arxiv.org/abs/2401.06066)

[5] Auxiliary-Loss-Free Load Balancing Strategy for Mixture-of-Experts(https://arxiv.org/abs/2408.15664)

[6] GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding(https://arxiv.org/abs/2006.16668)

[7] Mixture-of-Experts with Expert Choice Routing(https://arxiv.org/abs/2202.09368)

Thanks for reading! 

Hope you have enjoyed and learned new things from this blog!

責(zé)任編輯:武曉燕 來(lái)源: Baihai IDP
相關(guān)推薦

2025-02-19 10:49:30

2025-02-12 08:30:18

2025-03-28 04:30:00

2025-03-26 10:38:40

2025-01-03 19:38:33

2025-01-03 09:27:14

2025-01-13 08:39:50

AI大模型輔助工具

2010-04-20 15:27:20

負(fù)載均衡

2012-07-31 09:25:42

nginx負(fù)載均衡反向代理

2025-03-26 09:16:05

AI模型訓(xùn)練

2025-03-11 00:35:00

DeepSeektoC業(yè)務(wù)

2010-05-04 13:32:37

nginx負(fù)載均衡器

2025-03-03 09:00:00

DeepSeekAI人工智能

2013-12-18 09:10:48

2025-04-02 09:45:00

模型開(kāi)發(fā)編程

2019-03-18 10:44:41

負(fù)載均衡DNSUDP

2010-05-10 14:17:46

負(fù)載均衡技術(shù)

2024-12-30 20:32:36

2024-11-14 09:10:13

消費(fèi)者RocketMQ負(fù)載均衡

2010-04-21 11:35:30

負(fù)載均衡技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)