DeepSeek-V3 是怎么訓(xùn)練的|深度拆解
相信很多大家對(duì)DeepSeek-V3 是怎么訓(xùn)練的|深度拆解還不知道吧,今天菲菲就帶你們一起去了解一下~.~!
這兩天,DeepSeek-V3低調(diào)發(fā)布,在國(guó)際上狠狠秀了一波肌肉:只用了500多萬(wàn)美金的成本,帶來(lái)了不輸 Claude3.5的成績(jī),并開(kāi)源!
下面,讓我們以更加系統(tǒng)的方式,來(lái)看看這次的 DeepSeek-V3,是這么煉成的。本文將從性能、架構(gòu)、工程、預(yù)訓(xùn)練和后訓(xùn)練五個(gè)緯度來(lái)拆解 V3,所用到的圖表、數(shù)據(jù)源于技術(shù)報(bào)告:《DeepSeek-V3Technical Report》。
公眾號(hào)后臺(tái)回復(fù):DSV3,獲得詳細(xì)報(bào)告。
性能
DeepSeek-V3的性能優(yōu)勢(shì),在各項(xiàng)基準(zhǔn)測(cè)試中得到了充分驗(yàn)證。
如圖,DeepSeek-V3在 MMLU-Pro、GPQA-Diamond、MATH500、AIME2024、Codeforces (Percentile) 和 SWE-bench Verified 等涵蓋知識(shí)理解、邏輯推理、數(shù)學(xué)能力、代碼生成以及軟件工程能力等多個(gè)維度的權(quán)威測(cè)試集上,均展現(xiàn)出了領(lǐng)先或極具競(jìng)爭(zhēng)力的性能。特別是在MATH500和AIME2024這類考察高級(jí)數(shù)學(xué)推理能力的測(cè)試中,DeepSeek-V3的表現(xiàn)尤為突出,大幅超越其他模型。
在與 DeepSeek-V2-Base、Qwen2.572B Base 和 LLaMA-3.1405B Base 等開(kāi)源基礎(chǔ)模型的對(duì)比中,DeepSeek-V3-Base 在 BBH、MMLU 系列、DROP、HumanEval、MBPP、LiveCodeBench-Base、GSM8K、MATH、MGSM、CMath 等幾乎所有任務(wù)上均取得最佳成績(jī)。
經(jīng)過(guò)指令微調(diào)后,DeepSeek-V3的性能進(jìn)一步提升。在與包括 GPT-4o、Claude-3.5-Sonnet 在內(nèi)的多個(gè)頂尖模型的對(duì)比中,DeepSeek-V3在 MMLU、MMLU-Redux、DROP、GPQA-Diamond、HumanEval-Mul、LiveCodeBench、Codeforces、AIME2024、MATH-500、CNMO2024、CLUEWSC 等任務(wù)上,均展現(xiàn)出與其相當(dāng)甚至更優(yōu)的性能。
并且,這么棒的數(shù)據(jù),總成本只需要約550萬(wàn)美金:如果是租 H800來(lái)搞這個(gè)(但我們都知道,DeepSeek 背后的幻方,最不缺的就是卡)
架構(gòu)
DeepSeek-V3的這次發(fā)布,伴隨三項(xiàng)創(chuàng)新:Multi-head Latent Attention (MLA)、DeepSeekMoE 架構(gòu)以及無(wú)額外損耗的負(fù)載均衡策略。
Multi-head Latent Attention (MLA):高效處理長(zhǎng)文本MLA 通過(guò)將 Key (K) 和 Value (V) 聯(lián)合映射至低維潛空間向量 (cKV),顯著降低了 KV Cache 的大小,從而提升了長(zhǎng)文本推理的效率。DeepSeek-V3中 MLA 的 KV 壓縮維度 (dc) 設(shè)置為512,Query 壓縮維度 (d') 設(shè)置為1536,解耦 Key 的頭維度 (dr) 設(shè)置為64。這種設(shè)計(jì)在保證模型性能的同時(shí),大幅減少了顯存占用和計(jì)算開(kāi)銷。
DeepSeekMoE 架構(gòu):稀疏激活,高效擴(kuò)展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ì)算成本的情況下,擁有龐大的模型容量。
無(wú)額外損耗的負(fù)載均衡:MoE 的關(guān)鍵優(yōu)化DeepSeek-V3提出了一種創(chuàng)新的無(wú)額外損耗負(fù)載均衡策略,通過(guò)引入并動(dòng)態(tài)調(diào)整可學(xué)習(xí)的偏置項(xiàng) (Bias Term) 來(lái)影響路由決策,避免了傳統(tǒng)輔助損失對(duì)模型性能的負(fù)面影響。該策略的偏置項(xiàng)更新速度 (γ) 在預(yù)訓(xùn)練的前14.3T 個(gè) Token 中設(shè)置為0.001,剩余500B 個(gè) Token 中設(shè)置為0.0;序列級(jí)平衡損失因子 (α) 設(shè)置為0.0001。
以上圖(報(bào)告第28頁(yè),圖9)中的數(shù)據(jù)為例,使用了該策略的訓(xùn)練模型在不同領(lǐng)域的專家負(fù)載情況,相比于添加了額外負(fù)載損失(Aux-Loss-Based)的模型,分工更為明確,這表明該策略能更好地釋放MoE的潛力。
工程
DeepSeek-V3的這次發(fā)布,伴隨多項(xiàng)工程優(yōu)化貫穿了流水線并行、通信優(yōu)化、內(nèi)存管理和低精度訓(xùn)練等多個(gè)方面。
DualPipe 流水線并行:雙向奔赴,消弭氣泡DeepSeek-V3采用了一種名為DualPipe的創(chuàng)新流水線并行策略。與傳統(tǒng)的單向流水線 (如1F1B) 不同,DualPipe 采用雙向流水線設(shè)計(jì),即同時(shí)從流水線的兩端饋送 micro-batch。這種設(shè)計(jì)可以顯著減少流水線氣泡 (Pipeline Bubble),提高 GPU 利用率。
此外,DualPipe 還將每個(gè) micro-batch 進(jìn)一步劃分為更小的 chunk,并對(duì)每個(gè) chunk 的計(jì)算和通信進(jìn)行精細(xì)的調(diào)度。通過(guò)巧妙地編排計(jì)算和通信的順序,實(shí)現(xiàn)了兩者的高度重疊。
單個(gè) forward 和 backward chunk 的重疊策略(原報(bào)告第12頁(yè))。如圖,如何將一個(gè) chunk 劃分為 attention、all-to-all dispatch、MLP 和 all-to-all combine 等四個(gè)組成部分,并通過(guò)精細(xì)的調(diào)度策略,使得計(jì)算和通信可以高度重疊。其中,橙色表示 forward,綠色表示 "backward for input",藍(lán)色表示 "backward for weights",紫色表示 PP communication,紅色表示 barriers。
8個(gè) PP rank 和20個(gè) micro-batch 的 DualPipe 調(diào)度示例(原報(bào)告第13頁(yè))。通過(guò)在8個(gè) PP rank 上,20個(gè) micro-batch 的 DualPipe 調(diào)度情況,可以看到,通過(guò)雙向流水線的設(shè)計(jì),以及計(jì)算和通信的重疊,流水線氣泡被顯著減少,GPU 利用率得到了極大提升。
DualPipe 在流水線氣泡數(shù)量和激活內(nèi)存開(kāi)銷方面均優(yōu)于1F1B 和 ZeroBubble 等現(xiàn)有方法。(原報(bào)告第13頁(yè))
通信優(yōu)化:多管齊下,突破瓶頸跨節(jié)點(diǎn) MoE 訓(xùn)練的一大挑戰(zhàn)是巨大的通信開(kāi)銷。DeepSeek-V3通過(guò)一系列精細(xì)的優(yōu)化策略,有效地緩解了這一瓶頸。
節(jié)點(diǎn)限制路由 (Node-Limited Routing):將每個(gè) Token 最多路由到4個(gè)節(jié)點(diǎn),有效限制了跨節(jié)點(diǎn)通信的范圍和規(guī)模。
定制化 All-to-All 通信內(nèi)核:DeepSeek 團(tuán)隊(duì)針對(duì) MoE 架構(gòu)的特點(diǎn),定制了高效的跨節(jié)點(diǎn) All-to-All 通信內(nèi)核。這些內(nèi)核充分利用了 IB 和 NVLink 的帶寬,并最大程度地減少了用于通信的 SM 數(shù)量。
Warp 專業(yè)化 (Warp Specialization):將不同的通信任務(wù) (例如 IB 發(fā)送、IB-to-NVLink 轉(zhuǎn)發(fā)、NVLink 接收等) 分配給不同的 Warp,并根據(jù)實(shí)際負(fù)載情況動(dòng)態(tài)調(diào)整每個(gè)任務(wù)的 Warp 數(shù)量,實(shí)現(xiàn)了通信任務(wù)的精細(xì)化管理和優(yōu)化。
自動(dòng)調(diào)整通信塊大小:通過(guò)自動(dòng)調(diào)整通信塊的大小,減少了對(duì) L2緩存的依賴,降低了對(duì)其他計(jì)算內(nèi)核的干擾,進(jìn)一步提升了通信效率。
內(nèi)存管理:精打細(xì)算,極致利用DeepSeek-V3在內(nèi)存管理方面也做到了極致,通過(guò)多種策略最大程度地減少了內(nèi)存占用。
RMSNorm 和 MLA 上投影的重計(jì)算 (Recomputation):在反向傳播過(guò)程中,DeepSeek-V3會(huì)重新計(jì)算 RMSNorm 和 MLA 上投影的輸出,而不是將這些中間結(jié)果存儲(chǔ)在顯存中。這種策略雖然會(huì)略微增加計(jì)算量,但可以顯著降低顯存占用。
CPU 上的 EMA (Exponential Moving Average):DeepSeek-V3將模型參數(shù)的 EMA 存儲(chǔ)在 CPU 內(nèi)存中,并異步更新。這種策略避免了在 GPU 上存儲(chǔ) EMA 參數(shù)帶來(lái)的額外顯存開(kāi)銷。
共享 Embedding 和 Output Head:在 MTP 模塊中,DeepSeek-V3將 Embedding 層和 Output Head 與主模型共享。這種設(shè)計(jì)減少了模型的參數(shù)量和內(nèi)存占用。
FP8低精度訓(xùn)練:精度與效率的平衡DeepSeek-V3通過(guò) FP8混合精度訓(xùn)練,在保證模型精度的同時(shí),大幅降低顯存占用并提升訓(xùn)練速度。
選擇性高精度:對(duì)于模型中對(duì)精度較為敏感的組件(例如 Embedding、Output Head、MoE Gating、Normalization、Attention 等),DeepSeek-V3仍然采用 BF16或 FP32進(jìn)行計(jì)算,以保證模型的性能。(圖7,來(lái)自原報(bào)告第15頁(yè))
細(xì)粒度量化 (Fine-Grained Quantization):DeepSeek-V3沒(méi)有采用傳統(tǒng)的 per-tensor 量化,而是采用了更細(xì)粒度的量化策略:對(duì)激活值采用1x128tile-wise 量化,對(duì)權(quán)重采用128x128block-wise 量化。這種策略可以更好地適應(yīng)數(shù)據(jù)的分布,減少量化誤差。(圖7a,來(lái)自原報(bào)告第16頁(yè))
提高累加精度:為了減少 FP8計(jì)算過(guò)程中的精度損失,DeepSeek-V3將 MMA (Matrix Multiply-Accumulate) 操作的中間結(jié)果累加到 FP32寄存器中。(圖7b,來(lái)自原報(bào)告第16頁(yè))
低精度存儲(chǔ)和通信:為了進(jìn)一步降低顯存占用和通信開(kāi)銷,DeepSeek-V3將激活值和優(yōu)化器狀態(tài)以FP8或 BF16格式進(jìn)行存儲(chǔ),并在通信過(guò)程中也使用這些低精度格式。(圖10,來(lái)自原報(bào)告第47頁(yè))
預(yù)訓(xùn)練
DeepSeek-V3的訓(xùn)練策略涵蓋了數(shù)據(jù)構(gòu)建、分詞其、超參數(shù)設(shè)置、長(zhǎng)上下文擴(kuò)展和多 Token 預(yù)測(cè)等多個(gè)方面。
數(shù)據(jù)構(gòu)建DeepSeek-V3的預(yù)訓(xùn)練語(yǔ)料庫(kù)規(guī)模達(dá)到了14.8萬(wàn)億 Token,這些數(shù)據(jù)經(jīng)過(guò)了嚴(yán)格的篩選和清洗,以確保其高質(zhì)量和多樣性。相比于前代模型 DeepSeek-V2,新模型的數(shù)據(jù)構(gòu)建策略更加精細(xì)。首先,大幅提升了數(shù)學(xué)和編程相關(guān)數(shù)據(jù)在整體數(shù)據(jù)中的占比,這直接增強(qiáng)了模型在相關(guān)領(lǐng)域的推理能力,使其在 MATH500、AIME2024等數(shù)學(xué)基準(zhǔn)測(cè)試和 HumanEval、LiveCodeBench 等代碼基準(zhǔn)測(cè)試中表現(xiàn)突出。其次,進(jìn)一步擴(kuò)展了多語(yǔ)言數(shù)據(jù)的覆蓋范圍,超越了傳統(tǒng)的英語(yǔ)和中文,提升了模型的多語(yǔ)言處理能力。
為了保證數(shù)據(jù)質(zhì)量,DeepSeek 開(kāi)發(fā)了一套完善的數(shù)據(jù)處理流程,著重于最小化數(shù)據(jù)冗余,同時(shí)保留數(shù)據(jù)的多樣性。此外,他們還借鑒了近期研究 (https://arxiv.org/abs/2404.10830,Ding et al.,2024) 中提出的文檔級(jí)打包 (Document Packing)方法,將多個(gè)文檔拼接成一個(gè)訓(xùn)練樣本,避免了傳統(tǒng)方法中由于截?cái)鄬?dǎo)致的上下文信息丟失,確保模型能夠?qū)W習(xí)到更完整的語(yǔ)義信息。
針對(duì)代碼數(shù)據(jù),DeepSeek-V3借鑒了 DeepSeekCoder-V2中采用的Fill-in-Middle (FIM)策略,以0.1的比例將代碼數(shù)據(jù)構(gòu)造成<|fim_begin|> pre<|fim_hole|> suf<|fim_end|> middle<|eos_token|>的形式。這種策略通過(guò)“填空”的方式,迫使模型學(xué)習(xí)代碼的上下文關(guān)系,從而提升代碼生成和補(bǔ)全的準(zhǔn)確性。
分詞器與詞表:兼顧效率與準(zhǔn)確性DeepSeek-V3采用了基于字節(jié)級(jí) BPE (Byte-level BPE) 的分詞器,并構(gòu)建了一個(gè)包含128K 個(gè) token 的詞表。為了優(yōu)化多語(yǔ)言的壓縮效率,DeepSeek 對(duì)預(yù)分詞器 (Pretokenizer) 和訓(xùn)練數(shù)據(jù)進(jìn)行了專門(mén)的調(diào)整。
與 DeepSeek-V2相比,新的預(yù)分詞器引入了將標(biāo)點(diǎn)符號(hào)和換行符組合成新 token的機(jī)制。這種方法可以提高壓縮率,但也可能在處理不帶換行符的多行輸入 (例如 few-shot 學(xué)習(xí)的 prompt) 時(shí)引入 token 邊界偏差 (Token Boundary Bias) (Lundberg,2023)。為了減輕這種偏差,DeepSeek-V3在訓(xùn)練過(guò)程中以一定概率隨機(jī)地將這些組合 token 拆分開(kāi)來(lái),從而讓模型能夠適應(yīng)更多樣化的輸入形式,提升了模型的魯棒性。 (下圖來(lái)自 Token Boundary Bias 的原文)
模型配置與超參數(shù)DeepSeek-V3的模型配置和訓(xùn)練超參數(shù)都經(jīng)過(guò)了精心的設(shè)計(jì)和調(diào)優(yōu),以最大化模型的性能和訓(xùn)練效率。
模型配置:
DeepSeek-V3的Transformer 層數(shù)設(shè)置為61層,隱藏層維度為7168。所有可學(xué)習(xí)參數(shù)均采用標(biāo)準(zhǔn)差為0.006的隨機(jī)初始化。在MLA 結(jié)構(gòu)中,注意力頭的數(shù)量(nh) 設(shè)置為128,每個(gè)注意力頭的維度(dh) 為128,KV 壓縮維度(dc) 為512,Query 壓縮維度(d') 為1536,解耦的 Key 頭的維度(dr) 為64。除了前三層之外,其余的 FFN 層均替換為MoE 層。每個(gè)MoE 層包含1個(gè)共享專家和256個(gè)路由專家,每個(gè)專家的中間隱藏層維度為2048。每個(gè) Token 會(huì)被路由到8個(gè)專家,并且最多會(huì)被路由到4個(gè)節(jié)點(diǎn)。多 Token 預(yù)測(cè)的深度(D) 設(shè)置為1,即除了預(yù)測(cè)當(dāng)前 Token 之外,還會(huì)額外預(yù)測(cè)下一個(gè) Token。此外,DeepSeek-V3還在壓縮的潛變量之后添加了額外的 RMSNorm 層,并在寬度瓶頸處乘以了額外的縮放因子。
訓(xùn)練超參數(shù):
DeepSeek-V3采用了 AdamW 優(yōu)化器,β1設(shè)置為0.9,β2設(shè)置為0.95,權(quán)重衰減系數(shù) (weight_decay) 設(shè)置為0.1。最大序列長(zhǎng)度設(shè)置為4K。學(xué)習(xí)率方面,采用了組合式的調(diào)度策略:在前2K 步,學(xué)習(xí)率從0線性增加到2.2×10^-4;然后保持2.2×10^-4的學(xué)習(xí)率直到模型處理完10T 個(gè) Token;接下來(lái),在4.3T 個(gè) Token 的過(guò)程中,學(xué)習(xí)率按照余弦曲線 (Cosine Decay) 逐漸衰減至2.2×10^-5;在最后的500B 個(gè) Token 中,學(xué)習(xí)率先保持2.2×10^-5不變 (333B 個(gè) Token),然后切換到一個(gè)更小的常數(shù)學(xué)習(xí)率7.3×10^-6(167B 個(gè) Token)。梯度裁剪的范數(shù)設(shè)置為1.0。Batch Size 方面,采用了動(dòng)態(tài)調(diào)整的策略,在前469B 個(gè) Token 的訓(xùn)練過(guò)程中,Batch Size 從3072逐漸增加到15360,并在之后的訓(xùn)練中保持15360不變。
為了實(shí)現(xiàn) MoE 架構(gòu)中的負(fù)載均衡,DeepSeek-V3采用了無(wú)額外損耗的負(fù)載均衡策略,并將偏置項(xiàng)的更新速度 (γ) 在預(yù)訓(xùn)練的前14.3T 個(gè) Token 中設(shè)置為0.001,在剩余的500B 個(gè) Token 中設(shè)置為0.0。序列級(jí)平衡損失因子 (α) 設(shè)置為0.0001,以避免單個(gè)序列內(nèi)的極端不平衡。多 Token 預(yù)測(cè) (MTP)損失的權(quán)重 (λ) 在前10T 個(gè) Token 中設(shè)置為0.3,在剩余的4.8T 個(gè) Token 中設(shè)置為0.1。
長(zhǎng)上下文擴(kuò)展與多 Token 預(yù)測(cè):錦上添花為了使 DeepSeek-V3具備處理長(zhǎng)文本的能力,DeepSeek采用了兩階段的訓(xùn)練策略,將模型的上下文窗口從4K 逐步擴(kuò)展到128K。他們采用了YaRN(Peng et al.,2023a) 技術(shù),并將其應(yīng)用于解耦的共享 Key (k)。在長(zhǎng)上下文擴(kuò)展階段,DeepSeek-V3的超參數(shù)保持不變:scale 設(shè)置為40,β 設(shè)置為1,ρ 設(shè)置為32,縮放因子設(shè)置為0.1ln n +1。
第一階段 (4K ->32K):序列長(zhǎng)度設(shè)置為32K,Batch Size 設(shè)置為1920,學(xué)習(xí)率設(shè)置為7.3×10^-6。
第二階段 (32K ->128K):序列長(zhǎng)度設(shè)置為128K,Batch Size 設(shè)置為480,學(xué)習(xí)率設(shè)置為7.3×10^-6。
上圖(報(bào)告第23頁(yè)) 的 "Needle In A Haystack" (NIAH) 測(cè)試結(jié)果清晰地展示了 DeepSeek-V3在處理長(zhǎng)文本方面的卓越能力。
此外,DeepSeek-V3還采用了多 Token 預(yù)測(cè) (MTP) 策略(2.2節(jié),第10頁(yè)),要求模型在每個(gè)位置預(yù)測(cè)未來(lái)的多個(gè) Token,而不僅僅是下一個(gè) Token。圖3(第10頁(yè)) 詳細(xì)展示了 MTP 的實(shí)現(xiàn)方式。
這種策略增強(qiáng)了模型的預(yù)見(jiàn)能力,并提供了更豐富的訓(xùn)練信號(hào),從而提升了訓(xùn)練效率。表4(第26頁(yè)) 的消融實(shí)驗(yàn)結(jié)果證明了 MTP 策略的有效性。
后訓(xùn)練
DeepSeek-V3的后訓(xùn)練 (Post-Training) 階段,包括有監(jiān)督微調(diào) (Supervised Fine-Tuning, SFT)和強(qiáng)化學(xué)習(xí) (Reinforcement Learning, RL)兩個(gè)步驟。
有監(jiān)督微調(diào) (SFT)SFT 階段,DeepSeek-V3在一個(gè)包含1.5M 指令-響應(yīng)對(duì)的高質(zhì)量數(shù)據(jù)集上進(jìn)行了微調(diào)。該數(shù)據(jù)集涵蓋了多種任務(wù)類型和領(lǐng)域,并采用了不同的數(shù)據(jù)構(gòu)建策略,以最大程度地激發(fā)模型的潛能。
數(shù)據(jù)構(gòu)建策略
推理數(shù)據(jù) (Reasoning Data):對(duì)于數(shù)學(xué)、代碼、邏輯推理等需要復(fù)雜推理過(guò)程的任務(wù),DeepSeek 采用了基于 DeepSeek-R1模型生成的高質(zhì)量推理數(shù)據(jù)。DeepSeek-R1模型在推理任務(wù)上表現(xiàn)出色,但其生成的響應(yīng)往往存在過(guò)度推理、格式不規(guī)范、長(zhǎng)度過(guò)長(zhǎng)等問(wèn)題。為了兼顧 R1模型生成數(shù)據(jù)的高準(zhǔn)確性與標(biāo)準(zhǔn)答案的簡(jiǎn)潔性,SFT 階段的數(shù)據(jù)構(gòu)建采用了以下策略:
對(duì)于每個(gè)問(wèn)題,生成兩種類型的 SFT 樣本:
在后續(xù)的 RL 階段,模型會(huì)利用高溫采樣 (High-Temperature Sampling) 生成多樣化的響應(yīng),這些響應(yīng)會(huì)融合 R1生成數(shù)據(jù)和原始數(shù)據(jù)中的模式,即使在沒(méi)有明確系統(tǒng)提示的情況下,也能生成高質(zhì)量的響應(yīng)。
經(jīng)過(guò)數(shù)百步的 RL 訓(xùn)練后,中間的 RL 模型會(huì)逐漸學(xué)會(huì)融入 R1模型的推理模式,從而提升整體性能。
最后,利用訓(xùn)練完成的 RL 模型進(jìn)行拒絕采樣 (Rejection Sampling),生成高質(zhì)量的 SFT 數(shù)據(jù),用于最終模型的訓(xùn)練。
<問(wèn)題, 原始響應(yīng)>:將問(wèn)題與 R1模型生成的原始響應(yīng)直接配對(duì)。
<系統(tǒng)提示, 問(wèn)題, R1響應(yīng)>:將問(wèn)題與 R1模型的響應(yīng)配對(duì),并在問(wèn)題前添加一個(gè)精心設(shè)計(jì)的系統(tǒng)提示 (System Prompt)。該系統(tǒng)提示旨在引導(dǎo)模型生成更符合人類偏好的響應(yīng),例如更簡(jiǎn)潔、更易懂的格式。
表9(第34頁(yè)) 展示了從 DeepSeek-R1蒸餾知識(shí)對(duì)性能的提升??梢钥吹剑?LiveCodeBench-CoT 和 MATH-500任務(wù)上,經(jīng)過(guò) R1蒸餾后,模型的 Pass@1指標(biāo)分別提升了6.3和8.6個(gè)百分點(diǎn),證明了該策略的有效性。
非推理數(shù)據(jù) (Non-Reasoning Data):對(duì)于創(chuàng)意寫(xiě)作、角色扮演、簡(jiǎn)單問(wèn)答等非推理類任務(wù),則利用 DeepSeek-V2.5生成響應(yīng),并由人工進(jìn)行標(biāo)注和校驗(yàn),以確保數(shù)據(jù)的準(zhǔn)確性和可靠性。
訓(xùn)練細(xì)節(jié)
訓(xùn)練輪數(shù) (Epochs):2
學(xué)習(xí)率調(diào)度 (Learning Rate Schedule):Cosine 衰減,從5×10^-6逐步降低至1×10^-6。
樣本掩碼 (Sample Masking):為了避免不同樣本之間的相互干擾,SFT 階段采用了樣本掩碼策略,確保每個(gè)樣本的訓(xùn)練都是獨(dú)立的。
強(qiáng)化學(xué)習(xí) (RL)為了使 DeepSeek-V3更好地對(duì)齊人類偏好,DeepSeek 采用了強(qiáng)化學(xué)習(xí) (RL) 技術(shù),并構(gòu)建了基于規(guī)則的獎(jiǎng)勵(lì)模型 (Rule-Based RM) 和基于模型的獎(jiǎng)勵(lì)模型 (Model-Based RM) 相結(jié)合的獎(jiǎng)勵(lì)機(jī)制。
基于規(guī)則的獎(jiǎng)勵(lì)模型 (Rule-Based RM):對(duì)于可以通過(guò)明確規(guī)則進(jìn)行判別的任務(wù) (例如數(shù)學(xué)題、編程題),采用基于規(guī)則的獎(jiǎng)勵(lì)模型。例如,對(duì)于數(shù)學(xué)題,可以設(shè)定規(guī)則檢查最終答案是否正確;對(duì)于編程題,可以利用編譯器進(jìn)行測(cè)試用例驗(yàn)證。這種方式可以提供準(zhǔn)確且穩(wěn)定的獎(jiǎng)勵(lì)信號(hào)。
基于模型的獎(jiǎng)勵(lì)模型 (Model-Based RM):對(duì)于難以通過(guò)規(guī)則進(jìn)行判別的任務(wù) (例如開(kāi)放式問(wèn)答、創(chuàng)意寫(xiě)作),則采用基于模型的獎(jiǎng)勵(lì)模型。該模型基于 DeepSeek-V3SFT 階段的檢查點(diǎn)進(jìn)行訓(xùn)練,并采用了一種特殊的訓(xùn)練數(shù)據(jù)構(gòu)建方式:
偏好數(shù)據(jù)構(gòu)建:構(gòu)建的偏好數(shù)據(jù)不僅包含最終的獎(jiǎng)勵(lì)值,還包括了得出該獎(jiǎng)勵(lì)值的思維鏈 (Chain-of-Thought),這有助于提升獎(jiǎng)勵(lì)模型的可靠性,并減少特定任務(wù)上的獎(jiǎng)勵(lì)“hack”現(xiàn)象。
模型輸入:對(duì)于有明確答案的任務(wù),模型輸入為問(wèn)題和生成的響應(yīng);對(duì)于沒(méi)有明確答案的任務(wù),模型僅輸入問(wèn)題和對(duì)應(yīng)的響應(yīng)。
模型判斷:對(duì)于有明確答案的任務(wù),模型判斷響應(yīng)是否與正確答案匹配;對(duì)于沒(méi)有明確答案的任務(wù),模型根據(jù)問(wèn)題和響應(yīng)給出綜合評(píng)價(jià)。
作為獎(jiǎng)勵(lì)模型,在 RewardBench 上的表現(xiàn)上,DeepSeek 多個(gè)方面超越或持平 GPT-4o 和 Claude-3.5-sonnet。
RL 過(guò)程中,DeepSeek-V3采用了 Group Relative Policy Optimization (GRPO) 算法(原報(bào)告第30頁(yè)) 。與傳統(tǒng)的 PPO 算法不同,GRPO 不需要一個(gè)單獨(dú)的 Critic 模型來(lái)估計(jì) Value 函數(shù),而是通過(guò)比較一組樣本的獎(jiǎng)勵(lì)來(lái)估計(jì) Advantage。具體流程如下:
對(duì)于每個(gè)問(wèn)題q,從當(dāng)前的策略模型 π_old 中采樣一組K個(gè)響應(yīng) {y_1, y_2, ..., y_K}。
利用獎(jiǎng)勵(lì)模型對(duì)每個(gè)響應(yīng)進(jìn)行評(píng)分,得到對(duì)應(yīng)的獎(jiǎng)勵(lì) {r_1, r_2, ..., r_K}。
計(jì)算每個(gè)響應(yīng)的 Advantage 值:A_i = (r_i - mean(r)) / std(r),其中 mean(r) 和 std(r) 分別表示該組獎(jiǎng)勵(lì)的均值和標(biāo)準(zhǔn)差。
根據(jù)以下目標(biāo)函數(shù)更新策略模型 π_θ:
[公式26和27(第30頁(yè))]
其中,π_ref 是參考模型 (通常是 SFT 階段的模型),β 和 ε 是超參數(shù)。
數(shù)據(jù)配比在后訓(xùn)練過(guò)程中,DeepSeek-V3整合了多種類型的數(shù)據(jù),數(shù)據(jù)來(lái)源和配比如下:
數(shù)學(xué)推理類數(shù)據(jù):主要來(lái)自 DeepSeek-R1模型生成的數(shù)學(xué)題解題步驟和邏輯推理過(guò)程。這類數(shù)據(jù)在后訓(xùn)練階段占比約為25%。
代碼生成類數(shù)據(jù):包括了從開(kāi)源代碼庫(kù)中精選的代碼片段,以及利用 DeepSeek-R1模型生成的代碼補(bǔ)全和代碼解釋數(shù)據(jù)。這類數(shù)據(jù)占比約為20%。
通用領(lǐng)域?qū)υ挃?shù)據(jù):涵蓋了開(kāi)放域問(wèn)答、創(chuàng)意寫(xiě)作、角色扮演等多種任務(wù)類型,主要利用 DeepSeek-V2.5生成,并經(jīng)過(guò)人工校驗(yàn)。這類數(shù)據(jù)占比約為45%。
安全和倫理類數(shù)據(jù):包含了用于提升模型安全性和符合倫理規(guī)范的指令和響應(yīng)數(shù)據(jù),占比約為10%。
以上就是關(guān)于【DeepSeek-V3 是怎么訓(xùn)練的|深度拆解】的相關(guān)內(nèi)容,希望對(duì)大家有幫助!
免責(zé)聲明:本文為轉(zhuǎn)載,非本網(wǎng)原創(chuàng)內(nèi)容,不代表本網(wǎng)觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
- DeepSeek-V3 是怎么訓(xùn)練的|深度拆解
- 從初音未來(lái)到蠟筆小新,快手有IP
- 生態(tài)、用戶、AI,理解廣告營(yíng)銷未
- 女子喂雞吃車?yán)遄右W(wǎng)友羨慕 回
- 你還說(shuō)這是AI?我們體驗(yàn)了一波生
- REDMI Turbo 4 官宣 2025 年 1 月 2 日發(fā)布
- 妻子去世他把婚戒融在一起戴了20
- 男子打工回家過(guò)年給家人都買(mǎi)了新
- “刀學(xué)”興起,中老年人闖飯圈
- 最強(qiáng)小屏機(jī)預(yù)定!曝小米16評(píng)估潛
- 小米MK 71 Pro機(jī)械鍵盤(pán)1月1日開(kāi)
- 雷軍:小米SU7不只扛住了百萬(wàn)網(wǎng)友