蟈蟈俊的技術(shù)心得

蟈蟈俊的技術(shù)心得

churou 2025-03-28 快手 9 次瀏覽 0個(gè)評(píng)論

DeepSeek-V3 采用的 DeepSeekMoE 架構(gòu),通過(guò)細(xì)粒度專家、共享專家Top-K 路由策略,實(shí)現(xiàn)了模型容量的高效擴(kuò)展。

每個(gè) MoE 層包含 1 個(gè)共享專家和 256 個(gè)路由專家,每個(gè) Token 選擇 8 個(gè)路由專家,最多路由至 4 個(gè)節(jié)點(diǎn)。這種稀疏激活的機(jī)制,使得 DeepSeek-V3 能夠在不顯著增加計(jì)算成本的情況下,擁有龐大的模型容量?!?/p>

想象一下,一個(gè)超級(jí)英雄聯(lián)盟,每個(gè)英雄都有自己獨(dú)特的超能力,專門應(yīng)對(duì)特定的威脅。MoE 架構(gòu)就類似于此,它包含多個(gè)“專家”網(wǎng)絡(luò),每個(gè)專家專注于處理特定類型的輸入或特征。當(dāng)一個(gè)輸入進(jìn)來(lái)時(shí),一個(gè)“Gate Network”會(huì)決定將輸入路由到哪些最合適的專家進(jìn)行處理。

在 DeepSeek-V3 中,MoE 層主要由兩種類型的專家構(gòu)成:

  • 路由專家 (Routed Experts): 數(shù)量眾多,負(fù)責(zé)處理特定類型的輸入。DeepSeek-V3 的每個(gè) MoE 層包含 256 個(gè)路由專家。

  • 共享專家 (Shared Experts): 數(shù)量較少,負(fù)責(zé)處理所有輸入,提供通用的特征提取。DeepSeek-V3 每個(gè) MoE 層包含 1 個(gè)共享專家。

類比,想象一個(gè)大型公司的客服中心:

  • 共享專家 就像是總機(jī)接待員,每個(gè)來(lái)電都會(huì)先經(jīng)過(guò)他們。他們負(fù)責(zé)處理一些常見(jiàn)問(wèn)題和基本信息收集,并將電話轉(zhuǎn)接到更專業(yè)的部門。

  • 路由專家 就像是各個(gè)專業(yè)部門的客服人員(例如,技術(shù)支持、賬單查詢、投訴處理)??倷C(jī)接待員(Gate)會(huì)根據(jù)來(lái)電者的需求將電話路由到相應(yīng)的專業(yè)部門。每個(gè)來(lái)電只會(huì)連接到少數(shù)幾個(gè)最相關(guān)的專業(yè)部門。

當(dāng)一個(gè)句子輸入到 DeepSeek-V3 的 MoE 層時(shí),會(huì)經(jīng)歷以下步驟:

  1. 路由 (Routing): Gate 網(wǎng)絡(luò)接收輸入(每個(gè)詞的表示),并計(jì)算每個(gè)詞與各個(gè)路由專家的匹配程度(得分)。

  2. 選擇 (Selection): 根據(jù)得分,Gate 網(wǎng)絡(luò)為每個(gè)詞選擇 Top-K 個(gè)最合適的路由專家。在 DeepSeek-V3 中,每個(gè) Token 選擇 8 個(gè)路由專家。

  3. 專家處理 (Expert Processing): 被選中的路由專家以及共享專家會(huì)對(duì)輸入進(jìn)行處理,提取特征。

  4. 加權(quán)與聚合 (Weighting and Aggregation): 每個(gè)路由專家的輸出會(huì)根據(jù) Gate 網(wǎng)絡(luò)給出的權(quán)重進(jìn)行加權(quán),然后與共享專家的輸出進(jìn)行聚合,形成 MoE 層的最終輸出。

我們用個(gè)示例來(lái)理解這個(gè)過(guò)程:

假設(shè)我們有一個(gè) MoE 層,其中包含幾個(gè)不同的路由專家,每個(gè)專家擅長(zhǎng)處理不同類型的語(yǔ)言信息:

  • 專家 1: 擅長(zhǎng)處理情感詞匯和情感表達(dá)。

  • 專家 2: 擅長(zhǎng)處理實(shí)體指代和關(guān)系理解。

  • 專家 3: 擅長(zhǎng)處理語(yǔ)法結(jié)構(gòu)和句法關(guān)系。

  • 共享專家 (雖然不是路由專家,但也參與處理): 提供通用的特征提取。

現(xiàn)在,考慮以下句子:

"我今天非常高興地收到了一份期待已久的禮物。"

蟈蟈俊的技術(shù)心得

當(dāng)這個(gè)句子輸入到 MoE 層時(shí),Gate 模塊會(huì)為每個(gè)詞計(jì)算路由得分,并決定將哪些詞路由到哪些專家:

  • "我" (Pronoun): 可能會(huì)被路由到 專家 2 (實(shí)體指代)。

  • "今天" (Time Adverb): 可能也會(huì)被路由到 專家 2 (情境理解)。

  • "非常高興地" (Adverb + Adjective): 很可能會(huì)被路由到 專家 1 (情感詞匯)。

  • "收到" (Verb): 可能會(huì)被路由到 專家 3 (動(dòng)詞,語(yǔ)法結(jié)構(gòu))。

  • "了" (Particle): 可能也會(huì)被路由到 專家 3 (語(yǔ)法助詞)。

  • "一份期待已久的" (Adjective Phrase): 可能部分路由到 專家 1 (情感),部分路由到 專家 2 (描述性信息)。

  • "禮物" (Noun): 可能會(huì)被路由到 專家 2 (實(shí)體)。

  • 整個(gè)句子也會(huì)經(jīng)過(guò)共享專家。

處理過(guò)程:

  1. 路由: 每個(gè)詞根據(jù) Gate 的決策被分配到相應(yīng)的路由專家。

  2. 專家處理:

    • 專家 1 接收到 "非常高興地",會(huì)提取其積極的情感特征。

    • 專家 2 接收到 "我"、"今天"、"禮物",會(huì)處理實(shí)體信息和它們之間的關(guān)系。

    • 專家 3 接收到 "收到"、"了",會(huì)分析動(dòng)詞的含義和時(shí)態(tài)。

    • 共享專家 會(huì)對(duì)整個(gè)句子的表示進(jìn)行通用的特征提取。

  3. 加權(quán)和聚合: 每個(gè)專家對(duì)接收到的詞進(jìn)行處理后,會(huì)產(chǎn)生一個(gè)輸出表示。這些輸出表示會(huì)根據(jù) Gate 給出的權(quán)重進(jìn)行加權(quán),然后進(jìn)行聚合(例如,求和或拼接)。同時(shí),共享專家的輸出也會(huì)被加進(jìn)來(lái)。

  4. 傳遞到下一層: MoE 層的最終輸出表示會(huì)傳遞到 Transformer 模型的下一層進(jìn)行進(jìn)一步處理。

將同一句話的不同詞路由到不同的專家是 MoE 架構(gòu)的核心機(jī)制,這是 MoE 設(shè)計(jì)的核心思想,旨在讓不同的專家專注于處理不同類型的輸入或特征,從而提高模型的整體能力。

讓我們深入到 DeepSeek-V3 的代碼實(shí)現(xiàn),理解 MoE 的關(guān)鍵組件:


Gate 類的 forward 方法是路由的核心。它首先計(jì)算每個(gè) Token 與所有路由專家的得分,然后,如果啟用了專家分組(n_groups > 1),則會(huì)先選擇 Top-K 個(gè)專家組,再在這些組內(nèi)選擇最終的 Top-K 個(gè)專家。這是一種保障負(fù)載均衡的策略。


Expert 類定義了一個(gè)簡(jiǎn)單的 MLP 結(jié)構(gòu),每個(gè)路由專家都是一個(gè)獨(dú)立的 Expert 實(shí)例,負(fù)責(zé)處理被路由到它的 Token。


MoE 類的 forward 方法完成整個(gè) MoE 層的計(jì)算。它首先通過(guò) Gate 獲取路由決策,然后將 Token 分配給相應(yīng)的路由專家進(jìn)行處理,并將路由專家的輸出與共享專家的輸出進(jìn)行合并。

為了解決 MoE 中常見(jiàn)的負(fù)載不均衡問(wèn)題(某些專家過(guò)載,某些專家利用不足),DeepSeek-V3 提出了一種創(chuàng)新的、無(wú)額外損耗的負(fù)載均衡策略。 傳統(tǒng)的 MoE 模型通常會(huì)引入額外的輔助損失函數(shù)來(lái)平衡各個(gè)專家的負(fù)載,但這可能會(huì)對(duì)模型的主要任務(wù)性能產(chǎn)生負(fù)面影響。

DeepSeek-V3 的方法則更加優(yōu)雅。它在 Gate 模塊中引入了一個(gè)可學(xué)習(xí)的偏置項(xiàng) (Bias Term):


這個(gè) bias 是一個(gè)可學(xué)習(xí)的參數(shù),與路由專家的數(shù)量相同。在計(jì)算路由得分時(shí),這個(gè)偏置項(xiàng)會(huì)被動(dòng)態(tài)地加到每個(gè)路由專家的得分上:


那么,這個(gè)偏置項(xiàng)是如何實(shí)現(xiàn)負(fù)載均衡的呢?

  • 動(dòng)態(tài)調(diào)整路由傾向: 通過(guò)學(xué)習(xí)這些偏置項(xiàng),模型可以動(dòng)態(tài)地調(diào)整對(duì)不同路由專家的偏好。如果某個(gè)專家的負(fù)載過(guò)重,其對(duì)應(yīng)的偏置項(xiàng)可能會(huì)被學(xué)習(xí)為負(fù)值,從而降低其被選擇的概率。反之,對(duì)于負(fù)載較輕的專家,其偏置項(xiàng)可能會(huì)被學(xué)習(xí)為正值,提高其被選擇的概率。

  • 無(wú)額外損耗: 關(guān)鍵在于,這個(gè)偏置項(xiàng)的調(diào)整是直接通過(guò)模型的訓(xùn)練目標(biāo)進(jìn)行優(yōu)化的,而不是通過(guò)一個(gè)獨(dú)立的負(fù)載均衡損失函數(shù)。這意味著,模型在努力提高主要任務(wù)性能的同時(shí),也會(huì)自然而然地學(xué)習(xí)到一種更均衡的路由策略,而不會(huì)因?yàn)轭~外的負(fù)載均衡損失而影響性能。

DeepSeek-V3 還對(duì)偏置項(xiàng)的學(xué)習(xí)率進(jìn)行了動(dòng)態(tài)調(diào)整,以更好地平衡訓(xùn)練的早期探索和后期穩(wěn)定:

  • 預(yù)訓(xùn)練早期 (前 14.3T 個(gè) Token): 偏置項(xiàng)的更新速度 (γ) 設(shè)置為 0.001,允許模型在早期快速探索不同的路由策略。

  • 預(yù)訓(xùn)練后期 (剩余 500B 個(gè) Token): 偏置項(xiàng)的更新速度 (γ) 設(shè)置為 0.0,意味著在模型訓(xùn)練的后期,路由策略趨于穩(wěn)定,不再進(jìn)行大幅調(diào)整。

  • 模型容量擴(kuò)展: MoE 允許模型擁有大量的參數(shù)(每個(gè)專家都有自己的參數(shù)),而每個(gè)輸入只需激活少量專家。通過(guò)增加專家數(shù)量,可以顯著擴(kuò)展模型的參數(shù)量,而不會(huì)顯著增加計(jì)算成本(因?yàn)槊總€(gè)輸入只激活少數(shù)幾個(gè)專家)。

  • 專業(yè)化處理: 不同的專家可以學(xué)習(xí)到不同的特征,使得模型能夠更精細(xì)地處理各種復(fù)雜的輸入。

  • 動(dòng)態(tài)路由: Gate 網(wǎng)絡(luò)能夠根據(jù)輸入內(nèi)容動(dòng)態(tài)地調(diào)整路由策略,實(shí)現(xiàn)更靈活的計(jì)算。

  • 無(wú)損負(fù)載均衡: 通過(guò)可學(xué)習(xí)的偏置項(xiàng),實(shí)現(xiàn)更均衡的專家利用率,提升訓(xùn)練效率和模型性能。

DeepSeek-V3 的 MoE 架構(gòu)是一種精巧的設(shè)計(jì),它借鑒了“分而治之”的思想,通過(guò)引入多個(gè)專業(yè)化的路由專家和一個(gè)通用的共享專家,實(shí)現(xiàn)了模型容量的高效擴(kuò)展和更精細(xì)化的輸入處理。

創(chuàng)新的無(wú)額外損耗負(fù)載均衡策略,通過(guò)動(dòng)態(tài)調(diào)整可學(xué)習(xí)的偏置項(xiàng),進(jìn)一步提升了 MoE 架構(gòu)的效率和性能。

Gate 網(wǎng)絡(luò)作為智能的“調(diào)度員”,確保每個(gè) Token 都能找到最合適的“專家”進(jìn)行處理。

深入理解 MoE 的工作原理和代碼實(shí)現(xiàn),有助于我們更好地理解 DeepSeek-V3 強(qiáng)大能力的背后邏輯。

轉(zhuǎn)載請(qǐng)注明來(lái)自濟(jì)南富森木工刀具制造有限公司 ,本文標(biāo)題:《蟈蟈俊的技術(shù)心得》

百度分享代碼,如果開(kāi)啟HTTPS請(qǐng)參考李洋個(gè)人博客
每一天,每一秒,你所做的決定都會(huì)改變你的人生!

發(fā)表評(píng)論

快捷回復(fù):

驗(yàn)證碼

評(píng)論列表 (暫無(wú)評(píng)論,9人圍觀)參與討論

還沒(méi)有評(píng)論,來(lái)說(shuō)兩句吧...

Top
 疫苗最新成果  久久航最新  文體之路最新  最新吉利服  最新組字畫  最新清明放假  最新英漢圖解  澠池最新肺炎  新年最新對(duì)聯(lián)  婷婷在線最新  西昌最新病例  南丹最新疫情  宜家們最新  最新通告蘇州  牧田最新  導(dǎo)航最新入口  最新綁定28  葉榮最新  月光視頻最新  最新逆行信息  寧波疫情最新  最新銅報(bào)價(jià)  白鴿最新搭檔  太和疫情最新  秘密教學(xué)最新  垢母最新  湖州最新活動(dòng)  疫情唐山最新  捷達(dá)最新標(biāo)志  沖頂大會(huì)最新