deepseek v3 技術報告 中文翻譯

摘要

我們提出了 DeepSeek-V3,這是一個強大的混合專家模型(MoE),總參數量為 6710 億,每個 token 激活 370 億 參數。為了實現高效推理和經濟訓練,DeepSeek-V3 采用了多頭潛在注意力機制(MLA)DeepSeekMoE 架構,這些架構已在 DeepSeek-V2 中得到充分驗證。此外,DeepSeek-V3 率先提出了一種無輔助損失的負載均衡策略,并設定了多 token 預測訓練目標以提升性能。我們在 14.8 萬億 高質量且多樣化的 token 上對 DeepSeek-V3 進行了預訓練,隨后通過監督微調(SFT)強化學習(RL)階段充分釋放其潛力。綜合評估表明,DeepSeek-V3 超越了其他開源模型,并與領先的閉源模型表現相當。盡管性能卓越,DeepSeek-V3 的完整訓練僅需 2.788M H800 GPU 小時。此外,其訓練過程非常穩定,在整個訓練過程中未出現任何不可恢復的損失突增或需要回滾的情況。模型檢查點可在 https://github.com/deepseek-ai/DeepSeek-V3 獲取。

介紹

近年來,大型語言模型(LLMs)經歷了快速的迭代和演進(Anthropic, 2024; Google, 2024; OpenAI, 2024a),逐步縮小了與人工通用智能(AGI)之間的差距。除了閉源模型外,開源模型,包括 DeepSeek 系列(DeepSeek-AI, 2024a,b,c; Guo et al., 2024)、LLaMA 系列(AI@Meta, 2024a,b; Touvron et al., 2023a,b)、Qwen 系列(Qwen, 2023, 2024a,b)和 Mistral 系列(Jiang et al., 2023; Mistral, 2024),也取得了顯著進展,努力縮小與閉源模型之間的差距。為了進一步突破開源模型的能力邊界,我們擴大了模型規模,并推出了 DeepSeek-V3,這是一個擁有 6710 億參數的大型混合專家模型(MoE),其中每個 token 激活 370 億參數。

我們始終以長遠的眼光,致力于在模型性能和經濟成本之間取得平衡。因此,在架構設計上,DeepSeek-V3 仍然采用了多頭潛在注意力機制(MLA)(DeepSeek-AI, 2024c)以實現高效的推理,以及DeepSeekMoE(Dai et al., 2024)以實現經濟高效的訓練。這兩種架構已在 DeepSeek-V2(DeepSeek-AI, 2024c)中得到驗證,證明了其在保持強大模型性能的同時,能夠實現高效的訓練和推理。除了基礎架構外,我們還采用了兩種額外策略來進一步提升模型能力。首先,DeepSeek-V3 率先采用了無輔助損失的負載均衡策略(Wang et al., 2024a),旨在減少因鼓勵負載均衡而對模型性能產生的負面影響。其次,DeepSeek-V3 采用了多 token 預測的訓練目標,我們觀察到這一策略能夠顯著提升模型在評估基準上的整體表現。

為了實現高效的訓練,我們支持 FP8 混合精度訓練,并對訓練框架進行了全面優化。低精度訓練已成為高效訓練的一種有前景的解決方案(Dettmers et al., 2022; Kalamkar et al., 2019; Narang et al., 2017; Peng et al., 2023b),其發展與硬件能力的進步密切相關(Luo et al., 2024; Micikevicius et al., 2022; Rouhani et al., 2023a)。在本研究中,我們引入了一種 FP8 混合精度訓練框架,并首次在超大規模模型上驗證了其有效性。通過對 FP8 計算和存儲的支持,我們既加速了訓練過程,又減少了 GPU 內存的使用。在訓練框架方面,我們設計了 DualPipe 算法 以實現高效的流水線并行,該算法減少了流水線氣泡,并通過計算-通信重疊隱藏了訓練中的大部分通信開銷。這種重疊確保了隨著模型的進一步擴展,只要我們保持恒定的計算-通信比,仍然可以在節點間使用細粒度的專家模塊,同時實現近乎零的全員通信開銷。此外,我們還開發了高效的跨節點全員通信內核,以充分利用 InfiniBand (IB) 和 NVLink 的帶寬。同時,我們對內存占用進行了精細優化,使得在不使用昂貴的張量并行的情況下訓練 DeepSeek-V3 成為可能。通過這些努力,我們實現了極高的訓練效率。

在預訓練階段,我們使用 14.8T 高質量且多樣化的 token 對 DeepSeek-V3 進行了訓練。整個預訓練過程非常穩定,在整個訓練過程中,我們沒有遇到任何不可恢復的損失突增或需要回滾的情況。接下來,我們對 DeepSeek-V3 進行了兩階段的上下文長度擴展。在第一階段,最大上下文長度擴展到 32K,在第二階段進一步擴展到 128K。隨后,我們對 DeepSeek-V3 的基礎模型進行了后訓練,包括監督微調(SFT)強化學習(RL),以使其與人類偏好對齊并進一步釋放其潛力。在后訓練階段,我們從 DeepSeek-R1 系列模型中蒸餾了推理能力,同時精心平衡了模型準確性和生成長度之間的關系。

我們對 DeepSeek-V3 進行了一系列全面的基準測試評估。盡管其訓練成本經濟,綜合評估表明,DeepSeek-V3-Base 已成為當前最強的開源基礎模型,尤其在代碼和數學領域表現突出。其聊天版本也在多個標準和開放式基準測試中超越了其他開源模型,并與領先的閉源模型(包括 GPT-4o 和 Claude-3.5-Sonnet)表現相當。

最后,我們再次強調 DeepSeek-V3 的經濟訓練成本,如表 1 所示,這是通過我們在算法、框架和硬件上的優化協同設計實現的。在預訓練階段,每訓練一萬億 token 僅需 180K H800 GPU 小時,即在我們擁有 2048 張 H800 GPU 的集群上僅需 3.7 天。因此,我們的預訓練階段在不到兩個月內完成,總成本為 2664K GPU 小時。加上上下文長度擴展所需的 119K GPU 小時 和后訓練所需的 5K GPU 小時,DeepSeek-V3 的完整訓練僅消耗 2.788M GPU 小時。假設 H800 GPU 的租賃價格為每小時 2 美元,我們的總訓練成本僅為 557.6 萬美元。需要注意的是,上述成本僅包括 DeepSeek-V3 的官方訓練,不包括前期在架構、算法或數據上的研究和消融實驗相關成本。

我們的主要貢獻包括:

架構:創新的負載均衡策略與訓練目標

  • 在 DeepSeek-V2 高效架構的基礎上,我們率先提出了一種無輔助損失的負載均衡策略,最大限度地減少了因鼓勵負載均衡而導致的性能下降。
  • 我們研究了多 token 預測(MTP)目標,并證明其對模型性能有益。該目標還可用于推測解碼以加速推理。

預訓練:追求極致的訓練效率

  • 我們設計了一種 FP8 混合精度訓練框架,并首次在超大規模模型上驗證了 FP8 訓練的可行性和有效性。
  • 通過算法、框架和硬件的協同設計,我們克服了跨節點 MoE 訓練中的通信瓶頸,實現了近乎完全的計算-通信重疊。這顯著提高了訓練效率并降低了訓練成本,使我們能夠在不增加額外開銷的情況下進一步擴展模型規模。
  • 以僅 2.664M H800 GPU 小時 的經濟成本,我們完成了 DeepSeek-V3 在 14.8T token 上的預訓練,生成了當前最強的開源基礎模型。預訓練后的后續訓練階段僅需 0.1M GPU 小時

后訓練:從 DeepSeek-R1 進行知識蒸餾

  • 我們引入了一種創新方法,將長鏈思維(CoT)模型(特別是 DeepSeek R1 系列模型之一)的推理能力蒸餾到標準 LLM(尤其是 DeepSeek-V3)中。我們的管道巧妙地將 R1 的驗證和反思模式融入 DeepSeek-V3,顯著提升了其推理性能。同時,我們還控制了 DeepSeek-V3 的輸出風格和長度。

核心評估結果總結

  • 知識領域

    1. 在教育類基準測試(如 MMLU、MMLU-Pro 和 GPQA)中,DeepSeek-V3 超越了所有其他開源模型,在 MMLU 上達到 88.5,在 MMLU-Pro 上達到 75.9,在 GPQA 上達到 59.1。其表現與 GPT-4o 和 Claude-Sonnet-3.5 等領先閉源模型相當,縮小了開源與閉源模型在該領域的差距。
    2. 在事實性基準測試中,DeepSeek-V3 在 SimpleQA 和中文 SimpleQA 上均表現出色,在開源模型中領先。雖然在英文事實性知識(SimpleQA)上略遜于 GPT-4o 和 Claude-Sonnet-3.5,但在中文事實性知識(中文 SimpleQA)上超越了這些模型,展現了其在中文事實性知識上的優勢。
  • 代碼、數學與推理

    1. DeepSeek-V3 在所有非長鏈思維的開源和閉源模型中,在數學相關基準測試上達到了最先進的性能。特別是在 MATH-500 等特定基準測試中,甚至超越了 o1-preview,展示了其強大的數學推理能力。
    2. 在代碼相關任務中,DeepSeek-V3 成為代碼競賽基準測試(如 LiveCodeBench)中表現最佳的模型,鞏固了其在該領域的領先地位。在工程相關任務中,雖然 DeepSeek-V3 略低于 Claude-Sonnet-3.5,但仍顯著領先于其他所有模型,展現了其在多樣化技術基準測試中的競爭力。

通過這些貢獻,DeepSeek-V3 不僅在性能上達到了新的高度,還在訓練效率和成本控制上樹立了新的標桿。

在本文的剩余部分,我們首先詳細介紹了 DeepSeek-V3 模型架構(第 2 節)。隨后,我們介紹了我們的基礎設施,包括計算集群、訓練框架、對 FP8 訓練的支持、推理部署策略以及對未來硬件設計的建議。接下來,我們描述了預訓練過程,包括訓練數據的構建、超參數設置、長上下文擴展技術、相關評估以及一些討論(第 4 節)。之后,我們討論了后訓練的工作,包括監督微調(SFT)強化學習(RL)、相應的評估和討論(第 5 節)。最后,我們對本工作進行總結,討論了 DeepSeek-V3 的現有局限性,并提出了未來研究的潛在方向(第 6 節)。

2. 架構

我們首先介紹 DeepSeek-V3 的基礎架構,其特點是采用多頭潛在注意力機制(MLA)(DeepSeek-AI, 2024c)以實現高效推理,以及 DeepSeekMoE(Dai et al., 2024)以實現經濟高效的訓練。接著,我們提出了一種多 token 預測(MTP)訓練目標,我們觀察到該目標能夠顯著提升模型在評估基準上的整體性能。對于未明確提及的其他細節,DeepSeek-V3 遵循了 DeepSeek-V2(DeepSeek-AI, 2024c)的設置。

2.1 基礎架構

DeepSeek-V3 的基礎架構仍然基于 Transformer(Vaswani et al., 2017)框架。為了實現高效推理和經濟訓練,DeepSeek-V3 同樣采用了 MLADeepSeekMoE,這兩者已在 DeepSeek-V2 中得到了充分驗證。與 DeepSeek-V2 相比,一個例外是我們額外引入了一種無輔助損失的負載均衡策略(Wang et al., 2024a)用于 DeepSeekMoE,以減輕因確保負載均衡而導致的性能下降。圖 2 展示了 DeepSeek-V3 的基礎架構,我們將在本節簡要回顧 MLA 和 DeepSeekMoE 的細節。

圖 2 | DeepSeek-V3 基礎架構示意圖。遵循 DeepSeek-V2 的設計,我們采用 MLA 和 DeepSeekMoE 以實現高效推理和經濟訓練。

2.1.1 多頭潛在注意力機制(MLA)

在注意力機制方面,DeepSeek-V3 采用了 MLA 架構。設 ?? 表示嵌入維度,??? 表示注意力頭的數量,??? 表示每個頭的維度,h?? ∈ R?? 表示給定注意力層中第 ?? 個 token 的注意力輸入。MLA 的核心是對注意力鍵(Key)和值(Value)進行低秩聯合壓縮,以減少推理過程中的 Key-Value(KV)緩存

image.png

其中,c?????? ∈ R???? 是鍵(Key)和值(Value)的壓縮潛在向量;????(? ??????) 表示鍵值壓縮維度;???????? ∈ R????×?? 是下投影矩陣;???????????? ∈ R??????×???? 分別是鍵和值的上投影矩陣;?????? ∈ R?????×?? 是用于生成攜帶旋轉位置嵌入(RoPE)(Su et al., 2024)的解耦鍵的矩陣;RoPE(·) 表示應用 RoPE 矩陣的操作;[·; ·] 表示拼接操作。需要注意的是,對于 MLA,在生成過程中只需緩存藍色框內的向量(即 c??????k????),這顯著減少了 KV 緩存,同時保持了與標準多頭注意力機制(MHA)(Vaswani et al., 2017)相當的性能。

對于注意力查詢(Query),我們也進行了低秩壓縮,這可以減少訓練期間的激活內存占用:

image.png

其中,c???? ∈ R??′?? 是查詢(Query)的壓縮潛在向量;??′??(? ??????) 表示查詢壓縮維度;?????? ∈ R??′??×???????? ∈ R??????×??′?? 分別是查詢的下投影和上投影矩陣;?????? ∈ R????????×??′?? 是用于生成攜帶 RoPE 的解耦查詢的矩陣。

最終,注意力查詢(q??,??)、鍵(k??,??)和值(v????,??)被結合以生成最終的注意力輸出 u??

image.png

其中,???? ∈ R??×?????? 表示輸出投影矩陣。

2.1.2 采用無輔助損失負載均衡的 DeepSeekMoE

DeepSeekMoE 的基礎架構

在前饋網絡(FFN)方面,DeepSeek-V3 采用了 DeepSeekMoE 架構(Dai et al., 2024)。與傳統的 MoE 架構(如 GShard,Lepikhin et al., 2021)相比,DeepSeekMoE 使用了更細粒度的專家模塊,并將部分專家隔離為共享專家。設 u?? 表示第 ?? 個 token 的 FFN 輸入,我們按如下方式計算 FFN 輸出 h′??

image.png

其中,???????? 分別表示共享專家和路由專家的數量;FFN(??)??(·)FFN(??)??(·) 分別表示第 ?? 個共享專家和第 ?? 個路由專家;???? 表示激活的路由專家數量;????,?? 是第 ?? 個專家的門控值;????,?? 是 token 到專家的親和度;e?? 是第 ?? 個路由專家的中心向量;Topk(·, ??) 表示第 ?? 個 token 與所有路由專家計算的親和度分數中前 ?? 個最高分數的集合。與 DeepSeek-V2 略有不同,DeepSeek-V3 使用 sigmoid 函數 計算親和度分數,并在所有選定的親和度分數之間進行歸一化以生成門控值。

無輔助損失負載均衡

對于 MoE 模型,專家負載不均衡會導致路由崩潰(Shazeer et al., 2017),并在專家并行場景中降低計算效率。傳統解決方案通常依賴輔助損失(Fedus et al., 2021; Lepikhin et al., 2021)來避免負載不均衡。然而,過大的輔助損失會損害模型性能(Wang et al., 2024a)。為了在負載均衡和模型性能之間取得更好的平衡,我們率先提出了一種無輔助損失的負載均衡策略(Wang et al., 2024a)以確保負載均衡。具體來說,我們為每個專家引入一個偏置項 ????,并將其添加到相應的親和度分數 ????,?? 中以確定 Top-K 路由:

image.png

需要注意的是,偏置項僅用于路由。門控值(將與 FFN 輸出相乘)仍然從原始親和度分數 ????,?? 中導出。在訓練過程中,我們持續監控每個訓練步驟中整批數據的專家負載。在每一步結束時,如果某個專家的負載過高,我們將其偏置項減少 ??;如果負載過低,則增加 ??,其中 ?? 是一個稱為偏置更新速度的超參數。通過這種動態調整,DeepSeek-V3 在訓練期間保持了專家負載的均衡,并取得了比單純依賴輔助損失實現負載均衡的模型更好的性能。

補充的序列級輔助損失

盡管 DeepSeek-V3 主要依賴無輔助損失策略來實現負載均衡,但為了防止任何單個序列內的極端不均衡,我們還采用了補充的序列級平衡損失

image.png

其中,平衡因子 ?? 是一個超參數,在 DeepSeek-V3 中會被賦予一個極小的值;1(·) 表示指示函數;?? 表示序列中的 token 數量。序列級平衡損失鼓勵每個序列上的專家負載保持均衡。

### **圖 3 | 多 token 預測(MTP)實現示意圖** 我們在每個深度上為每個 token 的預測保留了完整的因果鏈。

節點限制路由

與 DeepSeek-V2 使用的設備限制路由類似,DeepSeek-V3 也采用了一種受限的路由機制,以限制訓練期間的通信成本。簡而言之,我們確保每個 token 最多被發送到 ?? 個節點,這些節點是根據分布在各節點上的專家的前 ????/?? 個最高親和度分數的總和來選擇的。在此約束下,我們的 MoE 訓練框架幾乎可以實現完全的計算-通信重疊。

無 token 丟棄

由于有效的負載均衡策略,DeepSeek-V3 在整個訓練過程中保持了良好的負載均衡。因此,DeepSeek-V3 在訓練期間不會丟棄任何 token。此外,我們還實施了特定的部署策略以確保推理負載均衡,因此 DeepSeek-V3 在推理期間也不會丟棄 token。

2.2 多 token 預測(MTP)

受 Gloeckle et al. (2024) 的啟發,我們研究并為 DeepSeek-V3 設定了多 token 預測(MTP)目標,該目標將預測范圍擴展到每個位置的多個未來 token。一方面,MTP 目標使訓練信號更加密集,可能會提高數據效率。另一方面,MTP 可能使模型能夠預先規劃其表示,以更好地預測未來的 token。圖 3 展示了我們的 MTP 實現。與 Gloeckle et al. (2024) 使用獨立輸出頭并行預測 ?? 個額外 token 不同,我們按順序預測額外 token,并在每個預測深度保留完整的因果鏈。我們在本節中詳細介紹我們的 MTP 實現。

MTP 模塊

具體來說,我們的 MTP 實現使用 ?? 個順序模塊來預測 ?? 個額外 token。第 ?? 個 MTP 模塊包括一個共享的嵌入層 Emb(·)、一個共享的輸出頭 OutHead(·)、一個 Transformer 塊 TRM??(·) 和一個投影矩陣 ???? ∈ R??×2??。對于第 ?? 個輸入 token ????,在第 ?? 個預測深度,我們首先將第 (?? ? 1) 個深度的第 ?? 個 token 的表示 h???1?? ∈ R?? 與第 (?? + ??) 個 token 的嵌入 ??????(????+??) ∈ R?? 通過線性投影結合:

image.png

其中,[·; ·] 表示拼接操作。特別地,當 ?? = 1 時,h???1?? 指的是主模型給出的表示。需要注意的是,每個 MTP 模塊的嵌入層與主模型共享。拼接后的 h′???? 作為第 ?? 個深度的 Transformer 塊的輸入,以生成當前深度的輸出表示 h????

未完待續。。。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,663評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,125評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,506評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,614評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,402評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,934評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,021評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,168評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,690評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,596評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,288評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,027評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,404評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,662評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,398評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,743評論 2 370

推薦閱讀更多精彩內容