2萬字解讀與硬核分析DeepSeek V3-R1的架構(gòu)_第1頁
2萬字解讀與硬核分析DeepSeek V3-R1的架構(gòu)_第2頁
2萬字解讀與硬核分析DeepSeek V3-R1的架構(gòu)_第3頁
2萬字解讀與硬核分析DeepSeek V3-R1的架構(gòu)_第4頁
2萬字解讀與硬核分析DeepSeek V3-R1的架構(gòu)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

DeepSeek的最新模型DeepSeek-V3和DeepSeek-R1都屬于MoE(混合專家)架構(gòu),并在開源世界產(chǎn)生了較大的影響力。特別是2025年1月開源的DeepSeek-R1,模型性能可挑戰(zhàn)

OpenAI

閉源的o1模型。隨著熱度的提升,DeepSeek也被大模型行業(yè)之外的各路媒體不斷提起,“打破CUDA壟斷”,“挖了NVLink的墻角”,“引發(fā)英偉達(dá)市值大跌”,“證明大模型算力建設(shè)浪費(fèi)”,“算力霸權(quán)轉(zhuǎn)移”,“國運(yùn)級(jí)的創(chuàng)新”,似乎有用皮衣卡住老黃脖子的架勢(shì)。那么,從技術(shù)和架構(gòu)的角度深入最新的V3和R1模型,是否真的有“國運(yùn)級(jí)的創(chuàng)新”,又有哪些誤傳?下面我們從V3與R1的架構(gòu)分析開始,分層解讀DeepSeek的創(chuàng)新。1V3與R1的主要特征DeepSeek-R1的模型架構(gòu)來自于V3,甚至可以說R1是具有推理(Reasoning)能力的V3。下面先分別分析V3和R1的架構(gòu)特征。1.1V3/R1架構(gòu)特征DeepSeek-V3

是一個(gè)混合專家(MoE)語言模型,具有6710億(671B)參數(shù),其中每個(gè)Token(詞元)的計(jì)算約激活370億(37B)參數(shù)。這個(gè)模型參數(shù)量與GPT-4大致在同一數(shù)量級(jí)。?MoE(MixtureofExperts)是組合多個(gè)專家模型提升深度學(xué)習(xí)模型性能和效率的架構(gòu)。?其核心思想是通過引入多個(gè)專家模型(Experts),每個(gè)輸入數(shù)據(jù)只選擇和激活其中的一部分專家模型進(jìn)行處理,從而減少計(jì)算量,提高訓(xùn)練和推理速度。?MoE的概念在1991年就已提出,訓(xùn)練不容易收斂是其在大模型領(lǐng)域應(yīng)用的主要障礙。MoE模型基本結(jié)構(gòu)示意(來源:網(wǎng)絡(luò))DeepSeek-V3采用了多頭潛注意力(MLA,對(duì)傳統(tǒng)多頭注意力機(jī)制的改進(jìn))和

DeepSeekMoE

架構(gòu)(對(duì)傳統(tǒng)MoE架構(gòu)的改進(jìn)),無輔助損失的負(fù)載平衡策略等創(chuàng)新技術(shù),基于14.8萬億Token的數(shù)據(jù)進(jìn)行訓(xùn)練,在代碼生成、分析等任務(wù)中表現(xiàn)出色。其中多頭潛注意力(MLA)機(jī)制和DeepSeekMoE是V3和R1模型提高計(jì)算效率,減少算力浪費(fèi)的關(guān)鍵。其中MLA大概貢獻(xiàn)了2-4倍的計(jì)算效率提升,MoE大概貢獻(xiàn)了4倍以上的計(jì)算效率提升。1)MLA(Multi-HeadLatentAttention)在“Allyouneedisattention”的背景下,傳統(tǒng)的多頭注意力(MHA,Multi-HeadAttention)的鍵值(KV)緩存機(jī)制事實(shí)上對(duì)計(jì)算效率形成了較大阻礙??s小KV緩存(KVCache)大小,并提高性能,在之前的模型架構(gòu)中并未很好的解決。DeepSeek引入了MLA,一種通過低秩鍵值聯(lián)合壓縮的注意力機(jī)制,在顯著減小KV緩存的同時(shí)提高計(jì)算效率。低秩近似是快速矩陣計(jì)算的常用方法,在MLA之前很少用于大模型計(jì)算。在這里我們可以看到DeepSeek團(tuán)隊(duì)的量化金融基因在發(fā)揮關(guān)鍵作用。當(dāng)然實(shí)現(xiàn)潛空間表征不止低秩近似一條路,預(yù)計(jì)后面會(huì)有更精準(zhǔn)高效的方法。從大模型架構(gòu)的演進(jìn)情況來看,Prefill和KVCache容量瓶頸的問題正一步步被新的模型架構(gòu)攻克,巨大的KVCache正逐漸成為歷史。(事實(shí)上在2024年6月發(fā)布DeepSeek-V2的時(shí)候就已經(jīng)很好的降低了KVCache的大?。?)DeepSeekMoE為了讓1991年就提出的MoE架構(gòu)更好的融入大模型體系,克服傳統(tǒng)MoE模型的訓(xùn)練難題。DeepSeek采用了細(xì)粒度專家+通才專家的思路,不再使用少數(shù)大專家的結(jié)構(gòu),而是使用大量極小的專家結(jié)構(gòu)。這個(gè)思路的本質(zhì)在于將知識(shí)空間進(jìn)行離散細(xì)化,以更好的逼近連續(xù)的多維知識(shí)空間,是一個(gè)非常好的方法。無輔助損失的負(fù)載平衡策略可在不依賴輔助損失函數(shù)的情況下平衡分配計(jì)算/訓(xùn)練負(fù)載,更好的提高訓(xùn)練穩(wěn)定性。基于以上關(guān)鍵的改進(jìn),V3實(shí)現(xiàn)了更高的訓(xùn)練效率,比性能類似的

Llama

3.1405B少了大約10倍的訓(xùn)練計(jì)算量。1.2R1在CoT的進(jìn)化廣義上的DeepSeek-R1不是一個(gè)單一的模型,還包括了R1的初始階段模型DeepSeek-R1-Zero,以及幾個(gè)基于R1蒸餾的較小的大模型。在這里我們主要討論R1-Zero和R1。1.2.1DeepSeek-R1-ZeroDeepSeek-R1-Zero最大的特點(diǎn)在于,該模型僅使用強(qiáng)化學(xué)習(xí)進(jìn)行的訓(xùn)練,通過各種思維鏈(CoT,ChainofThought)數(shù)據(jù)特別是LongCoT數(shù)據(jù)來激活模型的推理能力。DeepSeek-R1-Zero是一個(gè)獨(dú)特的通過大規(guī)模強(qiáng)化學(xué)習(xí)(RL,ReinforcementLearning)訓(xùn)練的模型,無需有監(jiān)督微調(diào)(SFT,SupervisedFine-Tuning),具備較強(qiáng)的推理(Reasoning)能力。?首先要區(qū)分兩個(gè)容易混淆的概念:Reasoning(推理)?:通過對(duì)事實(shí)的考慮和分析來得出結(jié)論的過程。推理強(qiáng)調(diào)的是思考和決策的過程,比“推斷”具有更多的邏輯和分析過程。??Inference?(推斷):基于已有信息或數(shù)據(jù)推導(dǎo)出新的信息或結(jié)論的過程。推斷側(cè)重于通過既定的算法或模型來實(shí)現(xiàn),與“推理”相比,更強(qiáng)調(diào)形式化和計(jì)算過程。?R1-Zero展示出自我驗(yàn)證、反思和長鏈思維推理能力,甚至在推理方面得分略微超過R1。雖然R1-Zero有一些明顯的局限性,特別是在輸出可讀性和語言一致性方面,仍需要解決可讀性差和語言混合等問題。這大概是第一個(gè)公開驗(yàn)證大模型的推理(Reasoning)能力可以僅通過強(qiáng)化學(xué)習(xí)來完成訓(xùn)練。在我們看來,R1-Zero的價(jià)值遠(yuǎn)超R1。按照NLP領(lǐng)域?qū)φZ言的理解,人類的自然語言并不是最完美的推理語言。在R1-Zero的進(jìn)一步進(jìn)化過程中,或許可以構(gòu)建出更適合推理的混合語言IR,建立更高效的推演體系。1.2.2DeepSeek-R1相比之下,DeepSeek-R1采用了多階段訓(xùn)練方法,加入了SFT,而不是采用純粹的強(qiáng)化學(xué)習(xí),R1從一小組精心挑選的示例數(shù)據(jù)(稱為“冷啟動(dòng)數(shù)據(jù)”)進(jìn)行有監(jiān)督微調(diào)(SFT),再進(jìn)入強(qiáng)化學(xué)習(xí)。這種方法改善了DeepSeek-R1-Zero的語言可讀性和連貫性,同時(shí)在推理之外的測(cè)試中實(shí)現(xiàn)了更好的性能。DeepSeek-V3整體架構(gòu)(來源:DeepSeek)2V3/R1的架構(gòu)提升2.1多頭潛注意力(MLA)2.1.1從KVCache(KV緩存)說起當(dāng)使用傳統(tǒng)

Transformer

在推斷(Inference)過程中計(jì)算并生成Token(詞元)時(shí),模型需要讀入所有過去Token的上下文,以決定接下來輸出什么Token。最直觀的方法就是簡單的再次進(jìn)行一次包括所有過去Token的前向傳播(計(jì)算)。KVCache(來源:互聯(lián)網(wǎng))傳統(tǒng)的基于Transformer的模型在推理過程中會(huì)計(jì)算每個(gè)鍵值(KV)對(duì),但事實(shí)上這種方法效率并不高,因?yàn)榇蟛糠诌^去的Token已經(jīng)在上一次計(jì)算中處理過了,重復(fù)計(jì)算會(huì)產(chǎn)生大量的浪費(fèi)。目前常用的方法是緩存所有過去Token的相關(guān)內(nèi)部狀態(tài),主要是注意力機(jī)制中的鍵(Key)和值(Value)向量。這也是鍵值緩存(簡稱KV緩存)名稱的由來。不同注意力機(jī)制的對(duì)比(來源:DeepSeekV2)目前開源大模型中的主流方法是分組查詢注意力(Grouped-QueryAttention)機(jī)制。在這種機(jī)制中,為每對(duì)鍵和值頭分配多個(gè)查詢頭,將查詢頭有效的分組在一起。在Llama3.370B和MistralLarge2等模型中,僅分組查詢注意力機(jī)制就將KV緩存大小減少了大約一個(gè)數(shù)量級(jí)。2.1.2MLA的原理與優(yōu)勢(shì)DeepSeek使用的Multi-HeadLatentAttention技術(shù)可大大節(jié)省KV緩存,從而顯著降低了計(jì)算成本。MLA的本質(zhì)是對(duì)KV的有損壓縮,提高存儲(chǔ)信息密度的同時(shí)盡可能保留關(guān)鍵細(xì)節(jié)。該技術(shù)首次在DeepSeek-V2中引入,與分組查詢和多查詢注意力等方法相比,MLA是目前開源模型里顯著減小KV緩存大小的最佳方法。MLA的方法是將KV矩陣轉(zhuǎn)換為低秩形式:將原矩陣表示為兩個(gè)較小矩陣(相當(dāng)于潛向量)的乘積,在推斷過程中,僅緩存潛向量,而不緩存完整的鍵KV。這規(guī)避了分組查詢注意力和多查詢注意力的查詢的信息損失,從而在降低KV緩存的前提下獲得更好的性能。矩陣的低秩近似(來源:互聯(lián)網(wǎng))另外為了與MLA技術(shù)的低秩KV壓縮兼容,DeepSeek也將編碼方式RoPE

進(jìn)行了改進(jìn),使V2/V3/R1獲得了長上下文的外延能力。MLA方法有效降低KVCache和訓(xùn)練成本(來源:DeepSeek)2.1.4MLA是顛覆性創(chuàng)新嗎?我們認(rèn)為MLA是個(gè)非常有趣且先進(jìn)的創(chuàng)新,這一工作建立在對(duì)注意力機(jī)制深度理解的之上,并且需要進(jìn)行大膽謹(jǐn)慎的驗(yàn)證。限于算力條件和個(gè)人ROI,能夠獨(dú)立完成這一創(chuàng)新的團(tuán)隊(duì)并不多。能做出MLA這樣的工作,確實(shí)是達(dá)到國際一線架構(gòu)水平了。換一個(gè)角度看,MLA也是建立在DeepSeek團(tuán)隊(duì)的量化金融基因之上,不禁讓我們聯(lián)想到優(yōu)秀的量化碼農(nóng)對(duì)每個(gè)矩陣計(jì)算的FPGA底層優(yōu)化。MLA之外的KVCache優(yōu)化方法(來源:武漢大學(xué))我們認(rèn)為,MLA之后,應(yīng)該還會(huì)有QMLA(量化MLA)或者CMLA(壓縮MLA),甚至是超越現(xiàn)有Attention模式的技術(shù)出現(xiàn),而用了很多年的Transformer也將經(jīng)歷大的變革。真正的顛覆創(chuàng)新可能,正擺在DeepSeek和國內(nèi)其他大模型團(tuán)隊(duì)的面前。2.2MoE架構(gòu)與輔助無損負(fù)載均衡2.2.1MoE與Dense模型的混戰(zhàn)<pdata-pid="UDLKIBGS">目前的主流的大模型架構(gòu)可以分為Dense(稠密)架構(gòu)和MoE架構(gòu)。?Dense模型?在深度學(xué)習(xí)中通常指的是一種全部神經(jīng)元都參與計(jì)算的網(wǎng)絡(luò)結(jié)構(gòu)。這種結(jié)構(gòu)使得模型能夠充分利用數(shù)據(jù)特征,并且訓(xùn)練過程中參數(shù)共享,減少了計(jì)算量和過擬合的風(fēng)險(xiǎn)。一般來說,Dense模型可以視為僅有一個(gè)專家的MoE模型。在大模型領(lǐng)域,Dense模型和MoE各有各的應(yīng)用場(chǎng)景和優(yōu)勢(shì),MoE還無法代替Dense模型的行業(yè)應(yīng)用。Dense模型MoE模型優(yōu)勢(shì)在專業(yè)領(lǐng)域計(jì)算參數(shù)量更少,更節(jié)省計(jì)算資源在通用計(jì)算領(lǐng)域激活的參數(shù)少,更節(jié)省計(jì)算資源劣勢(shì)在通用領(lǐng)域需要激活更多的參數(shù),計(jì)算資源消耗大在專業(yè)領(lǐng)域無需多位專家,容易產(chǎn)生大量參數(shù)冗余,浪費(fèi)資源相比Dense模型,MoE主要增加了專家路由,通過門控(開或關(guān))的方法,負(fù)責(zé)將數(shù)據(jù)流引向不同的專家模塊。專家路由事實(shí)上引入了一個(gè)不連續(xù)的門控函數(shù)(對(duì)梯度計(jì)算不友好),這導(dǎo)致梯度下降優(yōu)化方法在MoE訓(xùn)練中表現(xiàn)不佳,甚至出現(xiàn)“路由崩潰”,即模型容易陷入始終為每個(gè)Token激活相同的少數(shù)專家的窘境,而不是將計(jì)算合理的傳播到所有的可用專家。這也是MoE模型訓(xùn)練的難點(diǎn)。2.2.2無輔助損耗負(fù)載均衡傳統(tǒng)的規(guī)避路由崩潰的方法是強(qiáng)制“平衡路由”,即通過訓(xùn)練策略讓每個(gè)專家在足夠大的訓(xùn)練批次中被激活的次數(shù)大致相等。這一策略也就是“輔助損失”。但這種強(qiáng)制性的輔助損失會(huì)由于訓(xùn)練數(shù)據(jù)的結(jié)構(gòu)不均衡特征,導(dǎo)致同領(lǐng)域的專家能力分散到不同的專家模塊之中,極度損害MoE模型的性能。理想的MoE應(yīng)該有一些經(jīng)常訪問高頻通用信息,并具備其他訪問較少的專業(yè)領(lǐng)域?qū)<摇H绻麖?qiáng)制平衡路由,將失去實(shí)現(xiàn)此類路由設(shè)置的能力,并且必須在不同的專家之間冗余地復(fù)制信息。DeekSeek采用了“增加共享專家+無輔助損耗負(fù)載平衡”的方法解決這一問題。DeepSeek將專家分為兩類:共享專家和路由專家。共享專家始終會(huì)被路由,在訓(xùn)練中重點(diǎn)確保路由專家的路由均衡。DeepSeekMoE與傳統(tǒng)的多路由和細(xì)粒度專家MoE對(duì)比(來源:DeepSeek)無輔助損耗負(fù)載均衡(Auxiliary-Loss-FreeLoadBalancing)方法是將特定于專家的偏差項(xiàng)添加到路由機(jī)制和專家親和力中。偏差項(xiàng)不會(huì)通過梯度下降進(jìn)行更新,而是在整個(gè)訓(xùn)練過程中持續(xù)監(jiān)控并進(jìn)行調(diào)整以確保負(fù)載平衡。如果訓(xùn)練中某個(gè)專家沒有獲得合理的命中次數(shù),可以在每個(gè)梯度步驟中微調(diào)偏差項(xiàng)增加命中概率。通過動(dòng)態(tài)調(diào)整,DeepSeek-V3在訓(xùn)練過程中獲得了比有輔助損失均衡模型更好的性能。從模型架構(gòu)分析看,我們認(rèn)為這種分配策略可能還不是理論最優(yōu)的,但該方法已經(jīng)比強(qiáng)制輔助損失有了顯著的改進(jìn)。2.2.3MoE會(huì)是大模型的終局嗎?MoE架構(gòu)自1991年提出后,就一直在與Dense架構(gòu)共生發(fā)展。DeepSeekR1的推出確實(shí)大大推動(dòng)了開源MoE大模型的發(fā)展,并為MoE的落地應(yīng)用提供了更多可能。但是我們也應(yīng)看到,MoE模型與應(yīng)用領(lǐng)域高度和TOC(TotalOwningCost,總擁有成本)密切相關(guān),很多場(chǎng)景MoE未必比Dense模型好。不同的MoE架構(gòu)(來源:香港科技大學(xué))另外,MoE模型也有不同的細(xì)分架構(gòu)類型。不是所有的MoE的參數(shù)量都遠(yuǎn)大于計(jì)算帶寬要求。MoE架構(gòu)的本質(zhì)是模型參數(shù)分布式存儲(chǔ),MoE減少計(jì)算量的代價(jià)可能是不同專家模型的參數(shù)重復(fù)和總參數(shù)量增加,這往往也意味著更大更貴的HBM成本。外界傳言的MoE模型可以更小,其實(shí)是指的MoE模型蒸餾的Dense模型可以兼顧參數(shù)量和推理(Reasoning)性能。不同應(yīng)用場(chǎng)景對(duì)Dense和MoE模型的需求ToB計(jì)算場(chǎng)景ToC云計(jì)算場(chǎng)景ToC邊緣/端側(cè)計(jì)算場(chǎng)景特點(diǎn)專業(yè)領(lǐng)域應(yīng)用多,對(duì)RAG高度依賴,不需要多專家通用領(lǐng)域多,對(duì)檢索和訓(xùn)練數(shù)據(jù)更新時(shí)間敏感,需要多專家通用領(lǐng)域多,可不需要高性能/精度回答,不需要多專家主力架構(gòu)行業(yè)大模型,主要是Dense架構(gòu)通用基礎(chǔ)模型,主要是MoE或MoA架構(gòu)限于成本,主要是Dense架構(gòu)占有率較高較低目前較低按照上表的分析,基于成本考慮,目前只有ToC云計(jì)算場(chǎng)景(類似OpenAI的網(wǎng)頁版服務(wù))才會(huì)真正用上MoE這種多專家的模型架構(gòu)。3V3/R1訓(xùn)練架構(gòu)的獨(dú)特優(yōu)勢(shì)DeepSeek的優(yōu)勢(shì)不僅僅來自于其模型架構(gòu)。從低比特

FP8

訓(xùn)練到All-to-All通信優(yōu)化,其專用訓(xùn)練框架旨在盡可能提高訓(xùn)練的速度,以最高效率在解空間中找到較優(yōu)的MoE參數(shù)集。國內(nèi)很多人在看DeepSeek團(tuán)隊(duì)時(shí),更多關(guān)注了他們做Training的能力,但實(shí)際上DeekSeek的AIInfra能力,特別時(shí)軟硬件協(xié)同優(yōu)化能力,才是他們超越國內(nèi)其他大模型團(tuán)隊(duì)的關(guān)鍵。這一架構(gòu)的核心優(yōu)勢(shì)包括:1)引入了FP8混合精度訓(xùn)練框架,并首次在超大規(guī)模大模型訓(xùn)練上驗(yàn)證了這一框架的有效性。通過對(duì)FP8低比特計(jì)算和存儲(chǔ)的支持,實(shí)現(xiàn)了訓(xùn)練的加速和GPU內(nèi)存使用的減少。2)設(shè)計(jì)了DualPipe算法來實(shí)現(xiàn)更高效的流水線并行,并通過計(jì)算-通信重疊隱藏了大模型訓(xùn)練過程中的大部分通信開銷。3)開發(fā)了高效的跨節(jié)點(diǎn)All-to-All通信內(nèi)核,以充分利用InfiniBand(IB)和NVLink帶寬;對(duì)顯存使用進(jìn)行了優(yōu)化,無需使用昂貴的張量并行即可訓(xùn)練DeepSeek-V3。3.1HAI-LLM框架的軟硬件協(xié)同設(shè)計(jì)V3的訓(xùn)練基于DeepSeek自研的HAI-LLM框架。HAI-LLM是一個(gè)高效、輕量級(jí)的訓(xùn)練框架,其設(shè)計(jì)充分考慮了多種并行策略,包括DP、PP、TP、EP和FSDP的并行模式。并行模式對(duì)比(來源:互聯(lián)網(wǎng))3.1.1軟件層面的并行優(yōu)化HAI-LLM框架在軟件層面所作的并行改進(jìn)和效率提升如下表所示:HAI-LLM框架所作的并行改進(jìn)(來源:中存算)縮寫簡介DeepSeek所做的工作或優(yōu)化TP張量并行(TensorParallelism):將模型層放置在并行執(zhí)行計(jì)算的多個(gè)設(shè)備(計(jì)算芯片)上,包括逐行和逐列并行,將

NVLinkBridge

集成到系統(tǒng)中,在每對(duì)GPU之間建立了600GB/s的帶寬,增加TP效率PP流水線并行(PipelineParallelism):每個(gè)設(shè)備(計(jì)算芯片)都包含一部分模型層,每個(gè)訓(xùn)練批次分為串行的小批次以進(jìn)行流水線執(zhí)行通過配置數(shù)據(jù)并行排隊(duì),規(guī)避單個(gè)節(jié)點(diǎn)(服務(wù)器)8個(gè)GPU共享一個(gè)IBNIC流水線并行(PP)期間出現(xiàn)的網(wǎng)絡(luò)帶寬競(jìng)爭(zhēng),實(shí)現(xiàn)GPU的交替通信和91%的并行效率FSDP全共享數(shù)據(jù)并行(FullyShardedDataParallel)基于ZeROStage3算法,對(duì)模型的參數(shù)、優(yōu)化器狀態(tài)和梯度分布到不同的設(shè)備(計(jì)算芯片)上。在正向傳播期間,F(xiàn)SDP執(zhí)行

allgather作來組裝完整的參數(shù),并正向傳播完成后釋放;反向傳播期間,F(xiàn)SDP執(zhí)行allgather獲取完整參數(shù),并進(jìn)行反向梯度計(jì)算,然后執(zhí)行

reduce-scatter以同步所有設(shè)備之間的梯度,每個(gè)設(shè)備只保留部分梯度、參數(shù)和優(yōu)化器更新基于ZeROStage-3算法實(shí)現(xiàn)FSDP。將allgather和reduce-scatter通信與前向和反向傳播計(jì)算重疊,拆分反向傳播步驟以增強(qiáng)重疊,減少通信量。與

PyTorch

的FSDP相比,HAI-LLM的FSDP將訓(xùn)練時(shí)間縮短了近一半DP數(shù)據(jù)并行(DataParallelism):模型和優(yōu)化器的狀態(tài)在多個(gè)設(shè)備(計(jì)算芯片)之間復(fù)制,數(shù)據(jù)均勻分布給所有設(shè)備進(jìn)行并行計(jì)算對(duì)PCIe進(jìn)行工程優(yōu)化,提升DPEP專家并行(ExpertParallelism):在MoE訓(xùn)練期間,MoE模型的不同專家分布在不同的設(shè)備(計(jì)算芯片)上,由門控單元將輸入的Token分配給不同的專家對(duì)PCIe進(jìn)行工程優(yōu)化,提升EP根據(jù)DeepSeek的論文,V3應(yīng)用了16路流水線并行(PP)、跨越8個(gè)(服務(wù)器)節(jié)點(diǎn)的64路專家并行(EP)和ZeRO-1數(shù)據(jù)并行(DP)。3.1.2針對(duì)軟件并行策略的硬件優(yōu)化低成本的萬卡集群架構(gòu)(來源:DeepSeek)為了配合HAI-LLM訓(xùn)練框架(軟件),DeepSeek采用兩層Fat-Tree拓?fù)?InfiniBand(IB)作為集群架構(gòu)(硬件)。這一集群架構(gòu)的核心思路是減少互連層次,降低訓(xùn)練的綜合成本。相對(duì)DGX-A100的標(biāo)準(zhǔn)萬卡集群三層Fat-Tree的1320個(gè)交換機(jī),DeepSeek的同規(guī)模集群僅僅需要122臺(tái)交換機(jī),至少節(jié)省了40%的互連成本。3.1.3針對(duì)硬件架構(gòu)的軟件優(yōu)化針對(duì)硬件架構(gòu)優(yōu)化的HFReduce(來源:DeepSeek)針對(duì)所采用的硬件架構(gòu)特點(diǎn),DeekSeek開發(fā)了HFReduce(針對(duì)不使用NVLink的方案),以執(zhí)行高效的allreduce操作。HFReduce會(huì)首先執(zhí)行節(jié)點(diǎn)內(nèi)reduce,然后通過CPU執(zhí)行節(jié)點(diǎn)間allreduce,最后將reduced數(shù)據(jù)傳輸?shù)紾PU。這樣的優(yōu)化需要DeepSeek團(tuán)隊(duì)對(duì)硬件互連有非常深刻的理解。當(dāng)然DeepSeek團(tuán)隊(duì)也開發(fā)了基于NVLink的HFReducewithNVLink,在將梯度傳遞給CPU之前,先在NVLink互連的GPU之間執(zhí)reduce減作;當(dāng)CPU返回結(jié)果時(shí),會(huì)將數(shù)據(jù)切分并分別返回給NVLink連接的配對(duì)GPU,再通過NVLink執(zhí)行allgather。3.2FP8訓(xùn)練框架體系3.2.1低比特訓(xùn)練框架的構(gòu)建FP8與其他數(shù)據(jù)格式占據(jù)空間對(duì)比(來源:互聯(lián)網(wǎng))通常的大模型訓(xùn)練會(huì)采用BF16(16位浮點(diǎn))或FP32/TF32(32位浮點(diǎn))精度作為數(shù)據(jù)計(jì)算和存儲(chǔ)的格式,來確保較高的訓(xùn)練精度。相比之下,F(xiàn)P8占用的數(shù)據(jù)位寬僅為FP32的1/4,可以有力的提升計(jì)算速度,降低對(duì)存儲(chǔ)的消耗。當(dāng)然,F(xiàn)P8也存在精度不高,容易導(dǎo)致訓(xùn)練失敗的潛在問題。FP8訓(xùn)練框架局部方案(來源:DeepSeek)DeepSeek-V3使用FP8(8位浮點(diǎn)數(shù))來提高計(jì)算速度并減少訓(xùn)練期間的顯存使用量。為了讓FP8更好的完成訓(xùn)練,DeepSeek專門設(shè)計(jì)了針對(duì)FP8的訓(xùn)練框架體系。當(dāng)然,就在撰寫本文的時(shí)候,微軟已經(jīng)跑通了FP4(4位浮點(diǎn)數(shù))的完整模型訓(xùn)練。使用FP8框架進(jìn)行訓(xùn)練的主要挑戰(zhàn)在于精度與誤差的處理。DeepSeek為其FP8低比特訓(xùn)練框架做了以下優(yōu)化:1)細(xì)粒度量化將數(shù)據(jù)分解成更小的組,每個(gè)組都使用特定乘數(shù)進(jìn)行調(diào)整以保持高精度。這一方法類似于Tile-Wise或Block-Wise。對(duì)于激活,在1x128大小的基礎(chǔ)上對(duì)計(jì)算數(shù)據(jù)進(jìn)行分組和縮放;對(duì)于權(quán)重,以128x128大小對(duì)計(jì)算數(shù)據(jù)進(jìn)行分組和縮放。該方法可以根據(jù)最大或最小數(shù)據(jù)調(diào)整縮放系數(shù),來更好的適應(yīng)計(jì)算中的異常值。2)在線量化為了提高精度并簡化框架,該框架在線計(jì)算每個(gè)1x128激活塊或128x128權(quán)重塊的最大絕對(duì)值,在線推算縮放因子,然后將激活或權(quán)重在線轉(zhuǎn)化為FP8格式,而不是采用靜態(tài)的歷史數(shù)據(jù)。相對(duì)靜態(tài)的量化方法,該方法可以獲得更高的轉(zhuǎn)換精度,減小誤差的累積。3)提高累加精度FP8在大量累加時(shí)會(huì)累積出現(xiàn)隨機(jī)誤差。例如FP8GEMM在英偉達(dá)H800GPU

上的累加精度保留14位左右,明顯低于FP32累加精度。以K=4096的兩個(gè)隨機(jī)矩陣的GEMM運(yùn)算為例,TensorCore中的有限累加精度可導(dǎo)致最大相對(duì)誤差接近2%。DeepSeek將中間結(jié)果儲(chǔ)存計(jì)算升級(jí)為FP32(32位浮點(diǎn)),實(shí)行高精度累加,然后再轉(zhuǎn)換回FP8,以降低大量微小誤差累加帶來的訓(xùn)練偏差。4)低精度/混合精度存儲(chǔ)與通信為了進(jìn)一步減少M(fèi)oE訓(xùn)練中的顯存和通信開銷,該框架基于FP8進(jìn)行數(shù)據(jù)/參數(shù)緩存和處理激活,以節(jié)省顯存與緩存空間并提升性能,并在BF16(16位浮點(diǎn)數(shù))中存儲(chǔ)低精度優(yōu)化器狀態(tài)。該框架中以下組件保持原始精度(例如BF16或FP32):嵌入模塊、MoE門控模塊、歸一化算子和注意力算子,以確保模型的動(dòng)態(tài)穩(wěn)定訓(xùn)練。為保證數(shù)值穩(wěn)定性,以高精度存儲(chǔ)主要權(quán)重、權(quán)重梯度和優(yōu)化器狀態(tài)。細(xì)粒度量化與提高累加精度(來源:DeepSeek)以上這些針對(duì)FP8訓(xùn)練的優(yōu)化設(shè)計(jì),都是精雕細(xì)作的工作,需要框架設(shè)計(jì)人員對(duì)GPU硬件架構(gòu)和訓(xùn)練誤差具有很強(qiáng)的整合分析能力。從DeepSeek的FP8訓(xùn)練框架來看,這個(gè)團(tuán)隊(duì)具有很強(qiáng)的技術(shù)和工程整合能力,已經(jīng)不是單純的大模型算法或AIInfra團(tuán)隊(duì)。3.2.2對(duì)英偉達(dá)GPU市場(chǎng)有巨大影響?2025年1月27日,英偉達(dá)股價(jià)暴跌近17%,市值蒸發(fā)近6000億美元,創(chuàng)下美國歷史上單日最大市值跌幅紀(jì)錄。AI領(lǐng)域的明星公司普遍遭受重創(chuàng):博通(Broadcom)下跌17.4%,AMD下跌6.4%。微軟下跌2.1%。此外,AI產(chǎn)業(yè)鏈的衍生板塊也未能幸免,電力供應(yīng)商ConstellationEnergy下跌近21%,Vistra下跌28%。國內(nèi)很多媒體認(rèn)為這是DeepSeek的崛起,引起投資者對(duì)于英偉達(dá)等半導(dǎo)體企業(yè)估值過高的擔(dān)憂。英偉達(dá)估值是否過高不好說,畢竟MoE架構(gòu)的發(fā)展已經(jīng)展現(xiàn)出“存力重要性優(yōu)于算力+對(duì)存儲(chǔ)帶寬瓶頸下降”的傾向。但從技術(shù)角度看,DeepSeek的大模型目前依然存在對(duì)英偉達(dá)GPU的路徑依賴。1)目前英偉達(dá)仍在低比特計(jì)算方面領(lǐng)先。包括DeepSeek使用的FP8和微軟使用的FP4,都是由英偉達(dá)率先產(chǎn)品化并推向市場(chǎng)的。FP8訓(xùn)練最早也是在英偉達(dá)內(nèi)部開始驗(yàn)證的。英偉達(dá)之外,暫時(shí)還沒有企業(yè)有這樣的生態(tài)推動(dòng)力和落實(shí)能力。2)MoE模型仍屬于大模型演進(jìn)的常規(guī)路徑,并不會(huì)因?yàn)镸oE模型的路徑切換導(dǎo)致GPU應(yīng)用不及預(yù)期。目前主要的MoE模型依然是基于英偉達(dá)生態(tài)構(gòu)建的,在算力單價(jià)昂貴、模型性能仍需提升的現(xiàn)在,MoE的應(yīng)用事實(shí)上是基于有限的算力成本,進(jìn)一步提升通用大模型(以toC為主)性能的有效路徑。這個(gè)路線早已有之,不管DeepSeek的影響力是否擴(kuò)大,目前通用大模型都在朝著這個(gè)方向發(fā)展。過于夸大DeepSeek對(duì)AI產(chǎn)業(yè)的影響,只會(huì)加速美國商務(wù)部對(duì)DeepSeek的封禁速度,對(duì)DeepSeek自身反而不利。3)DeepSeek使用的一些訓(xùn)練成本優(yōu)化技術(shù)屬于定制化技術(shù),其他競(jìng)品企業(yè)未必有類似的定制能力。例如前面提到的混合精度存儲(chǔ)/計(jì)算,與模型本身的特征高度綁定,遷移起來并不簡單,屬于DeepSeek內(nèi)部的定制化技術(shù),與量化交易中的FPGA優(yōu)化有原理類似之處。這類定制化技術(shù)一般難以簡單的復(fù)制,其他企業(yè)短期內(nèi)難以復(fù)盤,進(jìn)行規(guī)?;杀窘档偷母怕什桓?。有這個(gè)AIInfra能力的早就已經(jīng)做了,沒有這個(gè)能力也不會(huì)冒著成本不可控的風(fēng)險(xiǎn)冒然進(jìn)入。我們認(rèn)為DeepSeek的V3/R1模型事實(shí)上為英偉達(dá)GPU開拓了除Llama開源系列Dense模型之外的MoE開源模型新大陸,等同于為蘋果的IOS市場(chǎng)增加了新的免費(fèi)KillerApp。DeepSeek本身對(duì)英偉達(dá)的股價(jià)影響,看起來更像是駱駝背上的最后一根稻草,大概不會(huì)超過以下幾個(gè)因素:1)美國貿(mào)易關(guān)稅風(fēng)險(xiǎn)。2)B200/5090不達(dá)市場(chǎng)預(yù)期的風(fēng)險(xiǎn)。3)大陸高成本GPU(主要是H100)算力過剩的風(fēng)險(xiǎn)。4)對(duì)大陸禁運(yùn)加強(qiáng)的風(fēng)險(xiǎn)。3.3DualPipe優(yōu)化V3/R1的訓(xùn)練框架中引入DualPipe算法以實(shí)現(xiàn)高效的流水線并行性。與現(xiàn)有的流水線并行(PP)方法相比,DualPipe具備以下優(yōu)勢(shì):1)DualPipe的流水線氣泡更少,信道使用效率更高。2)DualPipe將前向和后向傳播中的計(jì)算和通信重疊,解決了跨節(jié)點(diǎn)專家并行(EP)帶來的繁重通信開銷問題.3)在確保計(jì)算與通信比例恒定的情況下,具有很好的Scale-out能力。DualPipe算法將每個(gè)數(shù)據(jù)塊分為四個(gè)部分:attention(圖中ATTN)、all-to-all

dispatch(圖中DISPATCH)、MLP和all-to-allcombine(圖中COMBINE)。對(duì)于后向塊,attention和MLP都進(jìn)一步分為后向輸入、后向權(quán)重。對(duì)于一對(duì)前向和后向塊,針對(duì)通信和計(jì)算的過程和瓶頸進(jìn)行優(yōu)化。DualPipe采用雙向流水線調(diào)度,同時(shí)從流水線發(fā)送前向和后向數(shù)據(jù),盡可能提高使用率。DualPipe的流水線(來源:DeepSeek)3.4跨節(jié)點(diǎn)All-to-All通信與顯存優(yōu)化V3/R1的訓(xùn)練框架還定制了高效的跨節(jié)點(diǎn)All-to-All通信內(nèi)核,以充分利用IB和NVLink帶寬,并節(jié)約流式多處理器(SM,(StreamMultiprocessor)。DeepSeek還優(yōu)化了顯存分配,以在不使用或少使用張量并行(TP)的情況下訓(xùn)練V3/R1。3.4.1對(duì)于SM與NVLink的優(yōu)化為了保證DualPipe的計(jì)算性能不被通信影響,DeepSeek定制了高效的跨節(jié)點(diǎn)All-to-All通信內(nèi)核(包括

dispatching

和combining),以節(jié)省專用于通信的SM數(shù)量。傳統(tǒng)的基于NVSwitch的All-to-All通信結(jié)構(gòu)(來源:互聯(lián)網(wǎng))通信內(nèi)核(通信SM控制代碼)的實(shí)現(xiàn)與MoE門控算法和集群網(wǎng)絡(luò)拓?fù)涫前凑哲浻布f(xié)同的思路來進(jìn)行設(shè)計(jì)的。具體來說,在集群中,跨節(jié)點(diǎn)GPU與IB完全互連,節(jié)點(diǎn)內(nèi)(單臺(tái)服務(wù)器內(nèi))通信通過NVLink完成。NVLink提供160GB/s的帶寬,約是IB的3.2倍(50GB/s)。為了有效利用IB和NVLink的不同帶寬,DeepSeek將每個(gè)Token(詞元)的分發(fā)限制為最多4個(gè)節(jié)點(diǎn),從而減少IB流量限制的影響。對(duì)于每個(gè)Token,在做節(jié)點(diǎn)間路由決策時(shí),先通過IB傳輸?shù)侥繕?biāo)節(jié)點(diǎn)上具有相同節(jié)點(diǎn)內(nèi)索引的GPU;到達(dá)目標(biāo)節(jié)點(diǎn)后,再通過NVLink轉(zhuǎn)發(fā)到托管目標(biāo)專家的特定GPU。通過這種方式,通過IB和NVLink的通信重疊,平均每個(gè)Token可以在每個(gè)節(jié)點(diǎn)選擇3.2名專家,而不會(huì)產(chǎn)生額外的NVLink開銷。實(shí)際算法中,V3/R1只通過路由選擇了8個(gè)專家,但在保持相同通信成本的情況下,該架構(gòu)可以擴(kuò)展到最多13個(gè)專家(4個(gè)節(jié)點(diǎn)x3.2個(gè)專家/節(jié)點(diǎn))。DeepSeek還采用了warp(線程束)專用化技術(shù),將20個(gè)SM劃分為10個(gè)通信信道。1)在調(diào)度過程中,(a)IB發(fā)送、(b)IB到NVLink轉(zhuǎn)發(fā)、(c)NVLink接收由相應(yīng)的warp處理。分配給每個(gè)通信任務(wù)的warp數(shù)量會(huì)根據(jù)所有SM的實(shí)際工作負(fù)載動(dòng)態(tài)調(diào)整。2)在合并過程中,(a)NVLink發(fā)送、(b)NVLink到IB的轉(zhuǎn)發(fā)和累積、(c)IB接收和累積也由動(dòng)態(tài)調(diào)整的warp處理。3)dispatching和combiningkernel都與計(jì)算流重疊,采用定制的PTX(ParallelThreadExecution)指令以自動(dòng)調(diào)整通信塊大小,減少了對(duì)L2緩存的使用和對(duì)其他SM的干擾。3.4.2顯存節(jié)省技術(shù)為了減少訓(xùn)練期間的內(nèi)存占用,V3/R1還采用了以下技術(shù)節(jié)省顯存:DeepSeek采用的顯存節(jié)省技術(shù)(來源:中存算)技術(shù)方法說明優(yōu)勢(shì)RMSNorm

和MLAUp-Projection的重新計(jì)算在反向傳播期間重新計(jì)算所有MSNorm操作和MLAUp-Projection,無需持久存儲(chǔ)其輸出激活以算代存,充分利用GPU內(nèi)算力充沛但緩存不足的特點(diǎn)在CPU內(nèi)存中保存指數(shù)平均數(shù)指標(biāo)(EMA)在CPU內(nèi)存中保存EMA,并在每個(gè)訓(xùn)練步驟后異步更新把EMA從GPU顯存占用改為CPU內(nèi)存占用,釋放動(dòng)態(tài)存儲(chǔ)空間在多標(biāo)記預(yù)測(cè)(MTP)中共享嵌入和輸出頭使用DualPipe策略,將模型最淺的層(包括嵌入層)和最深的層(包括輸出頭)部署在相同的PP等級(jí)上允許MTP模塊和主模型之間物理共享參數(shù)、梯度、嵌入和輸出頭,提升顯存效率3.4.3打破了CUDA生態(tài)壁壘?網(wǎng)上很多人,看到DeepSeek使用了PTX指令,而沒有直接使用CUDA進(jìn)行SM編程,就認(rèn)為DeepSeek打破了CUDA生態(tài)的壟斷。但實(shí)際上,1)PTX指令集也是CUDA生態(tài)的一環(huán),是CUDA生態(tài)的基礎(chǔ)。2)PTX指令比CUDA更底層,與英偉達(dá)的綁定比CUDA更深。3)CUDA是以PTX指令集為基礎(chǔ)構(gòu)建的,是PTX的外殼和泛化。4)PTX的移植比CUDA移植挑戰(zhàn)更大,難以在國產(chǎn)GPU上直接移植。CUDA與PTX、SASS的層次關(guān)系(來源:互聯(lián)網(wǎng))如果把CUDA理解為C語言的話,PTX相當(dāng)于CUDA的高級(jí)匯編語言,可以在不同的GPU上運(yùn)行。另一種更加底層的指令集是StreamingAssembly(SASS),與GPU的型號(hào)深度幫綁定。無論P(yáng)TX還是SASS都是英偉達(dá)的根基,其他GPU廠家很難插手。DeepSeek在訓(xùn)練過程中使用PTX,感覺就是量化碼農(nóng)用C語言寫交易代碼,發(fā)現(xiàn)優(yōu)化效率不夠,那么就嘗試在C語言中嵌入?yún)R編語言來提高硬件調(diào)度效率。難道這就等于打破了C語言的江湖地位?3.4.4挖了NVLink的墻角?有傳言說DeepSeek主要使用Infiniband,以EP(專家并行)代替TP(張量并行),挖了NVLink的墻角,從而堅(jiān)定的認(rèn)為以PCIe(節(jié)點(diǎn)內(nèi)互連)+IB(節(jié)點(diǎn)間互連)就足以進(jìn)行大模型的訓(xùn)練。在這里面,NVLink主要負(fù)責(zé)芯片間(C2C)的通信,而Infiniband負(fù)責(zé)節(jié)點(diǎn)間(服務(wù)器間)通信。如果使用PCIe進(jìn)行C2C通信,帶寬遠(yuǎn)不如NVLink。NVLink+Infinband互連(來源:英偉達(dá))規(guī)避NVLink的想法很美好,但現(xiàn)實(shí)很骨感。按照DeepSeek發(fā)表的論文描述,只是在早期沒有加入NVSwitch的時(shí)候用過PCIe+InfiniBand實(shí)現(xiàn)HFReduce,當(dāng)具備NVSwitch后就立刻增加了HFReducewithNVLink。特別是在V3的論文中,明確寫了針對(duì)NVLink信道加入了定制PTX優(yōu)化,好讓更多的有效SM參與計(jì)算。這就好比學(xué)校的教學(xué)高樓里沒有大電梯,怕樓梯上孩子太多出危險(xiǎn),就先用“算法+樓梯”代替,拿到“算法許可”的小孩才能到不同樓層去報(bào)道。但不能說這樣就挖了“電梯”的墻角,卡住了“電梯”的脖子。一個(gè)高效的訓(xùn)練系統(tǒng),依然需要大量的C2C或D2D互連實(shí)現(xiàn)更優(yōu)的拓?fù)浣Y(jié)構(gòu)。咱不能因?yàn)樾史◣熌芸朔D難險(xiǎn)阻走到古印度取到真經(jīng),就認(rèn)為需要反思火車飛機(jī)的重要性?!按蚱艭UDA壟斷”?“挖了NVLink的墻角”?“引發(fā)英偉達(dá)市值大跌”?“證明大模型算力建設(shè)浪費(fèi)”?“算力霸權(quán)轉(zhuǎn)移”?“國運(yùn)級(jí)的創(chuàng)新”?這些說法是否屬實(shí)?本文是從V3到R1的架構(gòu)創(chuàng)新與誤傳的萬字長文分析的下篇。下面我們繼續(xù)分析V3與R1的訓(xùn)練和蒸餾,分層解讀DeepSeek的創(chuàng)新。中場(chǎng)休息4V3的訓(xùn)練流程DeepSeek的R1是以V3為基礎(chǔ)構(gòu)建的(冷啟動(dòng))。如果想深入理解R1的訓(xùn)練,就要先看V3的訓(xùn)練流程。V3的訓(xùn)練包括預(yù)訓(xùn)練(含基礎(chǔ)預(yù)訓(xùn)練和上下文長度擴(kuò)展)、后訓(xùn)練三個(gè)階段。在預(yù)訓(xùn)練階段后,對(duì)DeepSeek-V3

進(jìn)行了兩次上下文長度擴(kuò)展,第一階段將最大上下文長度擴(kuò)展到32K,第二階段進(jìn)一步擴(kuò)展到128K。然后在DeepSeek-V3的基礎(chǔ)模型上進(jìn)行包括有監(jiān)督精調(diào)(SFT)和強(qiáng)化學(xué)習(xí)(RL)在內(nèi)的后訓(xùn)練,使其更貼近人類的偏好。DeepSeek-V3訓(xùn)練流程(來源:中存算)4.1V3的基礎(chǔ)預(yù)訓(xùn)練DeepSeek-V3總共包含671B參數(shù),其中每個(gè)Token激活了37B。在路由專家中,每個(gè)Token激活8個(gè)專家,并確保每個(gè)Token最多發(fā)送到4個(gè)節(jié)點(diǎn),以減小通信資源的浪費(fèi)。多Token預(yù)測(cè)(MTP)深度設(shè)置為1,即除了下一個(gè)Token之外,每個(gè)Token還將預(yù)測(cè)一個(gè)額外的Token。在14.8T預(yù)訓(xùn)練數(shù)據(jù)集結(jié)構(gòu)上,V3采用了以下策略:1)提高數(shù)學(xué)和編程樣本的比例來優(yōu)化預(yù)訓(xùn)練語料庫,以提升推理能力。2)基于中國互聯(lián)網(wǎng)可用的語料庫整合了更多的中文數(shù)據(jù)。(這也是V3能玩中文梗的關(guān)鍵)3)將多語言覆蓋范圍擴(kuò)展到英文和中文之外。4)優(yōu)化數(shù)據(jù)處理/過濾算法,在保持語料庫多樣性的同時(shí)最大限度減少信息冗余。過濾掉有爭(zhēng)議的內(nèi)容,減少特定區(qū)域文化引入的數(shù)據(jù)偏差5)通過文檔打包,減少在短文本塊的訓(xùn)練浪費(fèi),同時(shí)在訓(xùn)練過程中沒有使用交叉樣本注意力屏蔽。高質(zhì)量的數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)投喂順序,其實(shí)是大模型性能提升的關(guān)鍵??上eepSeek并沒有給出預(yù)訓(xùn)練數(shù)據(jù)更具體的構(gòu)建方法。Fill-in-Middle方法(來源:互聯(lián)網(wǎng))V3的訓(xùn)練采用前綴-后綴-中間(PSM)框架來構(gòu)建FIM訓(xùn)練數(shù)據(jù)。Fill-in-Middle(FIM,中間補(bǔ)全)是一種針對(duì)代碼補(bǔ)全能力的預(yù)訓(xùn)練方式,模型在訓(xùn)練過程中學(xué)習(xí)使用上下文的語境來預(yù)測(cè)文段中間缺失的部分。FIM策略不會(huì)損害下一Token預(yù)測(cè)(NTP)能力,同時(shí)可使模型能夠根據(jù)上下文線索準(zhǔn)確預(yù)測(cè)中間文本。V3使用

AdamW優(yōu)化器來預(yù)訓(xùn)練,同時(shí)避免過度擬合。4.2V3長文擴(kuò)展訓(xùn)練在基礎(chǔ)預(yù)訓(xùn)練后,V3使用YARN技術(shù)將上下文長度,按照兩階段訓(xùn)練擴(kuò)展到128K,每個(gè)階段包括1000步。在第一階段,使用32K的序列長度和1920的批量來執(zhí)行1000步訓(xùn)練。在第二階段,采用128K的序列長度和480個(gè)序列的批量大小執(zhí)行1000步訓(xùn)練。4.3V3的后訓(xùn)練/精調(diào)4.3.1V3的有監(jiān)督精調(diào)(SFT)V3的有監(jiān)督精調(diào)做了以下這些事:1)梳理指令精調(diào)(instruction-tuning)數(shù)據(jù)集。該數(shù)據(jù)集包括1.5M個(gè)實(shí)例,跨多個(gè)域,每個(gè)域都量身定制的不同的數(shù)據(jù)合成方法。2)利用DeepSeek-R1模型合成與推理(Reasoning)相關(guān)的SFT數(shù)據(jù)集。這里很有意思,基于R1來SFTV3,再基于V3冷啟動(dòng)R1。感覺上這里有關(guān)鍵的訓(xùn)練信息沒有透露,DeepSeek應(yīng)該還是留了一手。3)為特定領(lǐng)域(例如代碼、數(shù)學(xué)或一般推理)構(gòu)建量身定制的專家模型數(shù)據(jù)合成器。使用復(fù)合有監(jiān)督精調(diào)和強(qiáng)化學(xué)習(xí)訓(xùn)練該專家模型。訓(xùn)練過程中為每個(gè)實(shí)例生成兩種不同類型的SFT樣本:第一種將問題與其原始響應(yīng)耦合,格式為<problem,originalresponse>,而第二種將系統(tǒng)提示與問題和R1響應(yīng)合并,格式為<systemprompt,problem,R1response>。4)建立高質(zhì)量提示(Prompt)體系,引導(dǎo)模型形成自身的反饋與驗(yàn)證機(jī)制。同時(shí)整合了來自R1合成的數(shù)據(jù),通過強(qiáng)化學(xué)習(xí)加強(qiáng)這一能力。5)對(duì)于非推理數(shù)據(jù)(例如創(chuàng)意寫作、角色扮演和簡單的問答),利用DeepSeek-V2.5生成數(shù)據(jù),并通過人工注釋驗(yàn)證數(shù)據(jù)的準(zhǔn)確性。4.3.2V3的強(qiáng)化學(xué)習(xí)V3的強(qiáng)化學(xué)習(xí)包括獎(jiǎng)勵(lì)模型與組相對(duì)策略優(yōu)化(GRPO)。與GPT-4類似,V3中獎(jiǎng)勵(lì)模型包括:1)基于規(guī)則的獎(jiǎng)勵(lì)模型對(duì)于可以使用特定規(guī)則驗(yàn)證的問題,采用基于規(guī)則的獎(jiǎng)勵(lì)模型來提供訓(xùn)練反饋。例如,對(duì)于

LeetCode

問題,可以利用編譯器根據(jù)測(cè)試用例生成反饋。基于規(guī)則的模型驗(yàn)證,可以確保更高的生成可靠性。2)基于模型的獎(jiǎng)勵(lì)模型對(duì)于不具有收斂性的問題,依靠模型判斷來確進(jìn)行強(qiáng)化學(xué)習(xí)。V3訓(xùn)練中構(gòu)建了特殊的偏好數(shù)據(jù),該數(shù)據(jù)同時(shí)包括提供最終獎(jiǎng)勵(lì)結(jié)果和形成獎(jiǎng)勵(lì)的思維鏈,以降低特定任務(wù)中的獎(jiǎng)勵(lì)破解攻擊風(fēng)險(xiǎn)。大模型的訓(xùn)練通常用無監(jiān)督或有監(jiān)督進(jìn)行預(yù)訓(xùn)練,然后通過有監(jiān)督精調(diào)(SFT)進(jìn)一步學(xué)習(xí)。然而SFT有時(shí)難以將人類的偏好顯式地整合進(jìn)去,這時(shí)就需要強(qiáng)化學(xué)習(xí)來進(jìn)行精調(diào)。在以往的大模型訓(xùn)練中一般使用PPO(ProximalPolicyOptimization)來形成梯度策略。PPO的代價(jià)在于需要維護(hù)較大的價(jià)值網(wǎng)絡(luò)(也是一個(gè)神經(jīng)網(wǎng)絡(luò)),需要占用較大的顯存與計(jì)算資源。GRPO與PPO對(duì)比(來源:DeepSeek)V3中則采用了DeepSeek提出的GRPO(GroupRelativePolicyOptimization)策略,只需要在一個(gè)分組內(nèi)進(jìn)行多個(gè)采樣輸出的比較,再根據(jù)比較結(jié)果選擇較優(yōu)的策略。GRPO中不再需要一個(gè)顯式的價(jià)值網(wǎng)絡(luò),從而降低了顯存占用并提高了訓(xùn)練速度。GRPO的計(jì)算流程包括:1)采樣一組輸出并計(jì)算每個(gè)輸出的獎(jiǎng)勵(lì)。2)對(duì)組內(nèi)獎(jiǎng)勵(lì)進(jìn)行歸一化處理。3)使用歸一化后的獎(jiǎng)勵(lì)計(jì)算優(yōu)勢(shì)函數(shù)。4)通過最大化目標(biāo)函數(shù)更新策略模型。5)迭代訓(xùn)練,逐步優(yōu)化策略模型。5R1的訓(xùn)練流程5.1無SFT的R1-Zero訓(xùn)練DeepSeek-R1建立在其基礎(chǔ)模型DeepSeek-V3的混合專家(MoE)架構(gòu)之上,采用專家并行方式,對(duì)于任意輸入,只有部分參數(shù)處于活躍狀態(tài)。作為R1的無SFT版本,R1-Zero使用DeepSeek-V3-Base作為基礎(chǔ)模型,直接使用GRPO進(jìn)行強(qiáng)化學(xué)習(xí)來提升模型的推理(Reasoning)性能,根據(jù)準(zhǔn)確度和格式進(jìn)行訓(xùn)練獎(jiǎng)勵(lì)。R1-Zero的訓(xùn)練過程具有重要意義:1)在大模型訓(xùn)練領(lǐng)域,SFT需要高質(zhì)量的人工標(biāo)注數(shù)據(jù)(標(biāo)注過程一般需要很長周期、成本高,且可能因標(biāo)記者的偏好而引入潛在偏差)。2)復(fù)雜的推理任務(wù)可能超出了普通人類的能力。無SFT的純強(qiáng)化學(xué)習(xí)方法也許可以使模型能夠涌現(xiàn)出超越傳統(tǒng)人類思維上限的超級(jí)推理能力。3)無SFT的純強(qiáng)化學(xué)習(xí)不依賴于顯式標(biāo)注,允許模型使用非自然語言表征方法進(jìn)行“思考”,從而具有超越自然語言進(jìn)行邏輯推理的潛力。獎(jiǎng)勵(lì)的計(jì)算方式在很大程度上決定了強(qiáng)化學(xué)習(xí)訓(xùn)練的效果。DeepSeek-R1-Zero的基于規(guī)則的獎(jiǎng)勵(lì)系統(tǒng)包括:1)準(zhǔn)確度獎(jiǎng)勵(lì)(Accuracyrewards)。評(píng)估響應(yīng)是否正確。2)格式獎(jiǎng)勵(lì)(Formatrewards)。獎(jiǎng)勵(lì)模型將其思考過程置于“<think>”和“</think>”標(biāo)簽之間。DeepSeek的準(zhǔn)確度獎(jiǎng)勵(lì)與格式獎(jiǎng)勵(lì)(來源:互聯(lián)網(wǎng))通過強(qiáng)化學(xué)習(xí)訓(xùn)練,R1-Zero形成了復(fù)雜的推理能力,包括反思(模型重新審視并重新評(píng)估其先前的回答)以及探索解決問題的替代方法。這些能力并非通過常規(guī)編程或提示工程實(shí)現(xiàn)的,而是大模型在強(qiáng)化學(xué)習(xí)環(huán)境中自發(fā)產(chǎn)生的能力。根據(jù)R1的論文,強(qiáng)化學(xué)習(xí)訓(xùn)練中R1-Zero形成的另一個(gè)關(guān)鍵特征是頓悟時(shí)刻(AhaMoment)。R1-Zero通過重新評(píng)估其初始方法學(xué)會(huì)為問題分配更多的思考時(shí)間(更長的推理)。無需明確的教模型如何解決問題,只需為其提供適當(dāng)?shù)募?lì),模型就會(huì)自主形成解決問題的策略。這也說明強(qiáng)化學(xué)習(xí)有潛力解鎖新的智能水平,為未來更自主、更具適應(yīng)性的模型鋪平道路,提供了形成超級(jí)智能的可能路線。與OpenAI的GPT-4相比,DeepSeek-R1-Zero在推理任務(wù)上表現(xiàn)出了顯著的改進(jìn)。例如,在AIME

2024基準(zhǔn)(推理能力測(cè)試)上,DeepSeek-R1-Zero的性能從15.6%躍升至71.0%,這表明R1-Zero的無SFT推理訓(xùn)練方法是有效的。5.2DeepSeek-R1的訓(xùn)練流程DeepSeek-R1的訓(xùn)練過程分為4個(gè)階段,包括使用數(shù)千高質(zhì)量CoT示例進(jìn)行SFT的冷啟動(dòng),面向推理的強(qiáng)化學(xué)習(xí),通過拒絕抽樣的SFT,面向全場(chǎng)景任務(wù)的強(qiáng)化學(xué)習(xí)與對(duì)齊。兩個(gè)SFT階段進(jìn)行推理和非推理能力的能力植入,兩個(gè)強(qiáng)化學(xué)習(xí)階段旨在泛化學(xué)習(xí)推理模式并與人類偏好保持一致。DeepSeek-R1訓(xùn)練流程(來源:中存算)5.2.1

冷啟動(dòng)(ColdStart):CoTSFT與R1-Zero不同,R1首先基于DeepSeek-V3-Base進(jìn)行有監(jiān)督精調(diào)(SFT),以克服強(qiáng)化學(xué)習(xí)的早期不穩(wěn)定。DeekSeek認(rèn)為這種基于人類先驗(yàn)知識(shí)冷啟動(dòng)并進(jìn)行迭代訓(xùn)練的方式更適合推理模型。由于這一訓(xùn)練階段主要采用CoT數(shù)據(jù),我們更喜歡將其稱為CoTSFT。為構(gòu)建少量的長CoT數(shù)據(jù),DeepSeek探索了幾種合成方法:使用長CoT的few-shot提示作為示例,直接提示模型通過反思和驗(yàn)證生成詳細(xì)回答,以可讀格式收集DeepSeek-R1-Zero輸出,并通過人工標(biāo)注員的后處理來完善結(jié)果。在此步驟中收集了數(shù)千個(gè)冷啟動(dòng)樣本以進(jìn)行精調(diào)。其中可讀模式指為每個(gè)回答在末尾包含一個(gè)摘要,并過濾掉不易閱讀的部分。其輸出格式為|special_token|<reasoning_process>|special_token|<summary>。5.2.2面向推理的強(qiáng)化學(xué)習(xí)在基于冷啟動(dòng)數(shù)據(jù)對(duì)V3-Base精調(diào)后,采用與R1-Zero相當(dāng)?shù)膹?qiáng)化學(xué)習(xí)訓(xùn)練流程,基于GRPO進(jìn)行強(qiáng)化學(xué)習(xí),根據(jù)準(zhǔn)確度和格式進(jìn)行訓(xùn)練獎(jiǎng)勵(lì)。為了解決語言混雜問題,還在強(qiáng)化學(xué)習(xí)訓(xùn)練中引入了語言一致性獎(jiǎng)勵(lì),該獎(jiǎng)勵(lì)以CoT中目標(biāo)語言單詞的比例計(jì)算。此階段主要提升模型的推理(Reasoning)性能,特別是在編碼、數(shù)學(xué)、科學(xué)和邏輯推理等推理密集型任務(wù),這些任務(wù)涉及定義明確且解決方案明確的問題。5.2.3拒絕采樣與SFT這是另一個(gè)使用標(biāo)記數(shù)據(jù)的有監(jiān)督精調(diào)(SFT)訓(xùn)練階段,分批進(jìn)行了兩個(gè)epoch的精調(diào),樣本量為800k。800k中包括600k推理數(shù)據(jù)和200k非推理數(shù)據(jù)。與主要側(cè)重于推理的冷啟動(dòng)數(shù)據(jù)不同,此階段結(jié)合了來自其他領(lǐng)域的數(shù)據(jù),以增強(qiáng)模型在寫作、角色扮演和其他通用任務(wù)中的能力。拒絕采樣(RejectionSampling)提供了一種橋梁,使用易于采樣的分布來近似訓(xùn)練真正感興趣的復(fù)雜分布。目標(biāo)響應(yīng)(ground-truth)從一組生成的回答經(jīng)過拒絕采樣生成,其分?jǐn)?shù)由獎(jiǎng)勵(lì)系統(tǒng)確定。拒絕采樣(RejectionSampling)是一種蒙特卡洛方法,和重要性采樣一樣,都是在原始分布難以采樣時(shí),用一個(gè)易于采樣的建議分布進(jìn)行采樣,通過拒絕原始分布之外的采樣數(shù)據(jù)來獲得采樣結(jié)果。拒絕采樣只是為了解決目標(biāo)分布采樣困難問題,該方法需要原始分布是已知的。拒絕采樣示意(來源:互聯(lián)網(wǎng))600k推理數(shù)據(jù)的生成:1)通過從上一輪強(qiáng)化學(xué)習(xí)訓(xùn)練的檢查點(diǎn)進(jìn)行拒絕抽樣,整理推理提示并生成推理軌跡(ReasoningTrajectories)。2)除基于規(guī)則獎(jiǎng)勵(lì)進(jìn)行評(píng)估的數(shù)據(jù)外,還包括了基于獎(jiǎng)勵(lì)模型的V3判斷生成數(shù)據(jù)。3)過濾掉了混合語言、長段落和代碼塊的思路鏈數(shù)據(jù)。4)對(duì)于每個(gè)提示(Prompt),會(huì)生成多個(gè)回答,然后并僅保留正確的響應(yīng)。200k非推理數(shù)據(jù)的生成(如寫作、事實(shí)問答、自我認(rèn)知和翻譯等):1)采用DeepSeek-V3流程并復(fù)用V3的部分SFT數(shù)據(jù)集。2)可調(diào)用V3生成潛在的思路鏈,再通過提示回答。3)對(duì)于更簡單的查詢(例如“你好”),不提供CoT回答。5.2.4面向全場(chǎng)景的強(qiáng)化學(xué)習(xí)與對(duì)齊最后,再次進(jìn)行面向全場(chǎng)景的強(qiáng)化學(xué)習(xí)和人類偏好對(duì)齊,以提高模型的有用性和無害性,并完善推理能力。此階段還整合了來自不同管道的數(shù)據(jù),將獎(jiǎng)勵(lì)信號(hào)與不同的提示分布相結(jié)合。1)使用獎(jiǎng)勵(lì)信號(hào)和多種提示分布(DiversePromptDistributions)的組合來訓(xùn)練模型。2)對(duì)于推理數(shù)據(jù),利用基于規(guī)則的獎(jiǎng)勵(lì)來指導(dǎo)數(shù)學(xué)、代碼和邏輯推理領(lǐng)域的訓(xùn)練過程。3)對(duì)于一般數(shù)據(jù),采用獎(jiǎng)勵(lì)模型來捕捉復(fù)雜微妙場(chǎng)景中的人類偏好。即參考DeepSeek-V3管訓(xùn)練流程,采用類似的偏好對(duì)和訓(xùn)練提示分布。4)對(duì)于有用性,只關(guān)注最終摘要,以確保重點(diǎn)響應(yīng)對(duì)用戶的實(shí)用性和相關(guān)性,最大限度減少對(duì)底層推理過程的干擾。5)對(duì)于無害性,評(píng)估模型的整個(gè)響應(yīng),包括推理過程和摘要,以識(shí)別和減輕生成過程中可能出現(xiàn)的潛在風(fēng)險(xiǎn)、偏見或有害內(nèi)容。至此已完成R1的完整訓(xùn)練過程,獲得了具備全場(chǎng)景推理能力的通用MoE模型,上下文長度均為128K。Model#TotalParams#ActivatedParamsContextLengthDeepSeek-R1-Zero671B37B128KDeepSeek-R1671B37B128K5.3從MoE回歸Dense(蒸餾SFT)盡管MoE架構(gòu)有各種優(yōu)點(diǎn),特別是在通用的toC領(lǐng)域具備低成本的優(yōu)勢(shì)。但是MoE的架構(gòu)特點(diǎn)使得其可能不太適用于專業(yè)應(yīng)用場(chǎng)景(例如單一專家場(chǎng)景)和資源限制場(chǎng)景(例如端側(cè)推理)。蒸餾是將復(fù)雜的大型神經(jīng)網(wǎng)絡(luò)壓縮為更小、更簡單的神經(jīng)網(wǎng)絡(luò),同時(shí)盡可能多的保留結(jié)果模型的性能的過程。此過程涉及訓(xùn)練較小的“學(xué)生“神經(jīng)網(wǎng)絡(luò),通過其預(yù)測(cè)或內(nèi)部表示的精調(diào)來學(xué)習(xí)模擬更大、更復(fù)雜的“教師”網(wǎng)絡(luò)的行為。模型蒸餾方法(來源:互聯(lián)網(wǎng))為了能夠?qū)⑼评砟芰w移到MoE架構(gòu)不適合的場(chǎng)景,DeepSeek選擇Llama和Qwen系列開源大模型進(jìn)行蒸餾,使相應(yīng)的Dense模型也能獲得推理能力。與使用強(qiáng)化學(xué)習(xí)相比,直接SFT更適合較小的大模型,蒸餾完成的Dense模型推理能力明顯好于原開源模型。DeepSeek-R1-Distill模型(來源:DeepSeek)ModelBaseModelDeepSeek-R1-Distill-Qwen-1.5BQwen2.5-Math-1.5BDeepSeek-R1-Distill-Qwen-7BQwen2.5-Math-7BDeepSeek-R1-Distill-Llama-8BLlama-3.1-8BDeepSeek-R1-Distill-Qwen-14BQwen2.5-14BDeepSeek-R1-Distill-Qwen-32BQwen2.5-32BDeepSeek-R1-Distill-Llama-70BLlama-3.3-70B-Instruct5.4更大顯存容量顯得尤為重要?隨著MoE架構(gòu)大模型的快速推廣,產(chǎn)業(yè)界也有看法認(rèn)為在單塊GPU上集成更大的超過對(duì)等算力的顯存或擴(kuò)展存儲(chǔ)顯得尤為重要。我們對(duì)此持不同看法,首先要看產(chǎn)品應(yīng)用場(chǎng)景占有率,其次要看實(shí)際的部署方案,最后要看成本比較:1)根據(jù)前面分析,目前主力的專業(yè)行業(yè)應(yīng)用仍是使用Dense模型,能部署MoE模型的通用AI巨頭早已下場(chǎng)完成部署,從目前的應(yīng)用比例來看,使用Dense模型的依然占據(jù)應(yīng)用主體。對(duì)于Dense模型(實(shí)際上是單專家的特例),超過對(duì)等算力的單卡大顯存或擴(kuò)展存儲(chǔ)容易形成浪費(fèi)。同樣模型性能下MoE模型需要更大的顯存(來源:Meta)2)根據(jù)從廠商和V3論文獲得的實(shí)際部署方案,為保證MoE部分不同專家之間的負(fù)載均衡,會(huì)將共享專家和高負(fù)載的細(xì)粒度專家在集群的不同GPU做多個(gè)復(fù)制,讓GPU把更多的熱數(shù)據(jù)(發(fā)給共享專家的)跑起來,V3部署中每個(gè)GPU大概托管9個(gè)專家。如果考慮這9個(gè)專家中有一個(gè)是參數(shù)最多的共享專家,那么事實(shí)上每塊GPU上的空閑細(xì)粒度專家占據(jù)的參數(shù)總和可能不超過單塊GPU上總參數(shù)量的1/3。MoE的跨GPU部署模式(來源:微軟)3)從成本上看,可能把一部分專家放到CPU上更劃算。我們認(rèn)為MoE上的專家可以分為高頻專家、中頻專家,低頻專家。高頻專家和中頻專家搭配部署在GPU上比較合適,低頻專家調(diào)度很少,更適合放在服務(wù)器上已有的閑置CPU的內(nèi)存上(CPU上的標(biāo)準(zhǔn)內(nèi)存比GPU的HBM便宜很多,擴(kuò)展性更好),以充分利用全服務(wù)器的算力降低綜合成本。MoE模型的GPU+CPU混合部署(來源:Meta)另外,R1自己都做Dense模型的蒸餾版本了,我們?yōu)楹芜€要糾結(jié)于高于對(duì)等算力帶寬的超大顯存?6結(jié)語6.1DeepSeek的關(guān)鍵貢獻(xiàn)DeepSeek由梁文鋒于2023年5月創(chuàng)立,公司獨(dú)立運(yùn)營,并由幻方支持研發(fā)資金。這

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論