久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

DeepSeek-V3高效訓練關鍵技術

2025-02-25 171
DeepSeek

類型:人工智能

簡介:一款基于深度學習和自然語言處理技術的產(chǎn)品,人氣趕超ChatGPT。

本文從模型架構、并行策略、通信優(yōu)化和顯存優(yōu)化四個方面展開,深入分析了DeepSeek-V3高效訓練的關鍵技術,探討其如何以僅5%的算力實現(xiàn)對標GPT-4o的性能。

一、前言

今年春節(jié) DeepSeek-V3&R1 對國內外 AI 圈產(chǎn)生了巨大的影響,其本質在于開拓了一條不同于 OpenAI 訓練方法的道路,證明了通過模型架構和訓練方法的極致優(yōu)化,能夠基于更少的算力資源訓練出同等能力水平的大模型,這不僅讓人們對 OpenAI 等廠商的高算力投入產(chǎn)生質疑,更通過將先進模型開源的策略對 OpenAI 等閉源模型的商業(yè)模式形成了巨大沖擊。

本文試圖探究 DeepSeek 為什么能夠利用5%的算力訓練出對標 GPT-4o 的先進模型,由于 DeepSeek-R1 源于 DeepSeek-V3 架構,且 DeepSeek-V3 論文中講述了更多高效訓練方法相關的內容,所以本文將以 DeepSeek-V3 為研究對象,分析其在高效訓練方面都采用了哪些關鍵技術,未來再單獨針對 DeepSeek-R1 進行分析總結。

DeepSeek-V3高效訓練關鍵技術

二、模型架構

1、高效的模型架構設計:多頭潛在注意力 MLA 和 DeepSeekMoE 架構

(1)多頭潛在注意力 MLA:MLA(Multi – head Latent Attention)架構與標準的MHA(Multi – head Attention)架構相比,核心是對注意力鍵和值進行低秩聯(lián)合壓縮,減少了推理時的 Key – Value(KV)緩存,減少了推理內存占用,提升了推理效率,該架構對訓練過程無直接幫助,不是本文分析的重點。

(2)DeepSeekMoE 架構:核心是采用了更細粒度的專家分配策略,每個MoE層有1個共享專家和256個路由專家(共有58個MoE層14906個專家),每個輸入Token可以激活8個路由專家,該架構可以有效利用計算資源,實現(xiàn)高效訓練,其與標準MoE架構存在以下不同點:

a)專家構成:標準MoE架構的類型和分工較為寬泛,一般不會特別強調共享專家的設置,各個專家相對獨立的處理不同輸入數(shù)據(jù),在處理不同類型數(shù)據(jù)特征時,專家間一般缺少專門設計的協(xié)作和共享機制;而 DeepSeekMoE 架構中的共享專家可對不同輸入數(shù)據(jù)中的共性特征進行處理,在不同類型的輸入數(shù)據(jù)間實現(xiàn)共性特征的知識共享,以便減少模型參數(shù)冗余,而路由專家則負責處理具有特定模式或特征的數(shù)據(jù),提高模型對不同數(shù)據(jù)的適應性和處理能力。

b)專家分配:標準MoE架構的專家分配策略相對比較粗放,門控網(wǎng)絡根據(jù)輸入數(shù)據(jù)進行專家選擇時,對于一些復雜數(shù)據(jù)特征的區(qū)分不夠精準,不能很好地將數(shù)據(jù)分配到最能處理該特征的專家;而 DeepSeekMoE 架構采用了更細粒度的專家分配策略,門控網(wǎng)絡能夠更精準地分析輸入數(shù)據(jù)的特征,將其分配到最合適的專家,提升模型對于復雜數(shù)據(jù)的處理能力。

c)專家激活:標準MoE架構對于輸入數(shù)據(jù)激活的專家數(shù)量沒有固定標準,在某些情況下輸入數(shù)據(jù)可能會激活過多非必要的專家,導致計算資源的浪費;而 DeepSeekMoE 架構明確了每個輸入 Token 激活8個路由專家,在保證模型處理效果的同時,避免了過度激活專家?guī)淼挠嬎阗Y源浪費,提高了計算效率、降低了計算成本;在具體實現(xiàn)方式上,共享專家會對每個輸入 Token 進行處理,以便提取通用的基本特征,而路由專家會根據(jù)輸入 Token 的特征而決定是否被激活參與計算。

DeepSeek-V3高效訓練關鍵技術

2、創(chuàng)新的負載均衡策略:無輔助損失負載均衡和序列級負載均衡

(1)基本概念:在MoE大模型訓練過程中,輸入數(shù)據(jù)會根據(jù)一定的路由規(guī)則分配到不同的專家模型進行處理,這個過程中可能會出現(xiàn)負載不均衡的情況,即某些專家被頻繁調用,而另一些專家則很少被使用,這會導致訓練效率和模型性能下降;

業(yè)界通常采用的負載均衡策略為引入專門的輔助損失函數(shù)來強制平衡專家之間的負載,例如通過懲罰專家之間的負載差異來促使模型均勻地使用各個專家,額外引入的損失函數(shù)往往會導致模型復雜度增加、訓練不穩(wěn)定、發(fā)生與原本訓練目標不一致等問題;

除了上述基于單 Token 的負載不均問題外,一個輸入序列中的 Token 在專家間的分配情況也容易出現(xiàn)負載不均,即同一序列中的多個 Token 可能會集中分配給某些專家。

(2)優(yōu)化方法:DeepSeek-V3 采用無輔助損失負載均衡技術,通過直接在路由機制中融入負載均衡邏輯,避免了引入輔助損失函數(shù),實現(xiàn)了僅通過對路由決策動態(tài)調整就實現(xiàn)專家負載均衡的效果;同時訓練過程輔以序列級負載均衡策略,確保了每個序列內的專家負載均衡。

a)無輔助損失負載均衡:DeepSeek-V3 為每個專家引入了一個可學習的偏置項,在訓練過程中它會隨著專家負載情況進行動態(tài)更新,當門控網(wǎng)絡計算輸入 Token 與各專家的匹配得分時,該偏置項會動態(tài)調整每個專家的匹配得分,基于得分和對各專家利用率的實時監(jiān)測(例如在一定時間窗口內專家處理的 Token 數(shù)量、計算資源占用時長等),動態(tài)調整路由策略,將輸入 Token 實時分配給負載較低的專家,這種方法不僅負載均衡效果好,而且避免了引入輔助損失函數(shù)帶來的衍生問題。

b)序列級負載均衡:DeepSeek-V3 額外增加了一個序列級負載均衡損失函數(shù),對序列中的每個 Token 進行精細化的分析和處理,根據(jù) Token 在序列中的位置、上下文信息等更合理地分配到各個專家(而不是僅僅基于單個 Token 的特征進行獨立分配),通過這種負載均衡方案,兼顧了 Token 之間的關聯(lián)性和序列的整體結構。

3、多令牌預測(MTP) 訓練目標:提高訓練效率和推理速度

(1)基本概念:MTP 的全稱是 Multi – Token Prediction(多令牌預測),與之對應的是 DeepSeek-V3 發(fā)布之前業(yè)界普遍使用的單令牌預測(Single – Token Prediction,STP),STP 一次僅預測一個Token,而 MTP 可同時預測多個 Token,這一方案在訓練階段可以提升數(shù)據(jù)訓練效率,在推理階段可以實現(xiàn)顯著加速。

(2)實現(xiàn)方案:如 DeepSeek 論文中所展示的 MTP 架構所示,MTP 由一個主模型(Main Model)以及多個 MTP 模塊(MTP Module 1、MTP Module 2 等)構成,主模型負責基礎的下一個 Token 預測任務,MTP 模塊則用于預測多個未來 Token,它們共同協(xié)作完成多Token 預測訓練。

a)輸入 Token 與輸出 Token:如圖左下方的t1、t2、t3、t4等,是模型的輸入序列;如圖上方的t2、t3、t4、t5是模型預測需要匹配的真實 Token 序列,不同部分對應不同的預測任務。

b)主模型(Main Model)與 MTP 模塊:輸入 Token 先經(jīng)過嵌入層轉換為向量表示,然后分別在 Main Model 和 MTP 內部進行計算,基于與目標 Token 計算得到的 Loss,指導模型更新訓練參數(shù)。

c)共享機制:嵌入層(Embedding Layer)和輸出頭(Output Head)在主模型和 MTP 模塊之間共享,這種共享機制確保了模型在不同預測任務中的參數(shù)一致性,同時減少了參數(shù)數(shù)量,提高了訓練效率。

DeepSeek-V3高效訓練關鍵技術

(3)核心價值:MTP 不僅在推理時能夠顯著加速生成速度(據(jù)稱生成速度可提升 1.8 倍),對于高效訓練同樣很有價值。

a)實現(xiàn)高效訓練:由于一次可預測多個 Token,在相同數(shù)據(jù)量的情況下,相比 STP 架構,模型可以學習到更多的信息,從而提升了數(shù)據(jù)的利用效率,使得訓練更加高效。

b)提升訓練效果:模型可以基于對多個 Token 的預測,更合理地調整自身參數(shù),學習到更豐富的語言模式和語義信息,有助于模型在訓練中更好地收斂,提升訓練效果。

三、并行策略

1、高效的并行策略設計:大量使用 EP、不再使用 TP

(1)并行策略總結:DeepSeek-V3 的訓練由 HAI-LLM 框架(DeepSeek 自研訓練框架)支持,采用了16路流水線并行(PP),跨越8個節(jié)點的64路專家并行(EP),以及 ZeRO-1 數(shù)據(jù)并行(DP),實現(xiàn)了充分利用計算資源,提高訓練效率,減少訓練時間和成本。其中 PP 和 DP 將在本節(jié)后邊兩個要點進行分析,此處重點分析其為何沒有使用 TP。

(2)使用 EP 而不是 TP:在 DeepSeek-V3 訓練中,優(yōu)先使用 EP 而沒有使用 TP 的原因核心有以下幾個方面:

a)模型結構適配性:MoE 模型由多個專家網(wǎng)絡和一個門控網(wǎng)絡組成,EP 正好與這種結構相匹配,它可以將不同的專家分配到不同的計算單元上并行計算,讓模型同時處理多個不同的任務或數(shù)據(jù)特征,提高模型的處理能力和訓練效率;TP 通常用于處理大型張量的計算,不能很好地對應 MoE 模型的結構特點。

b)通信成本考慮:在 EP 中不同專家之間的通信相對較少,主要的通信開銷在于門控網(wǎng)絡與專家網(wǎng)絡之間的信息交互,以及在進行模型參數(shù)更新等操作時的一些全局通信;TP 需要在多個設備之間頻繁地進行張量的切分、合并等操作,通信量會隨著模型規(guī)模和數(shù)據(jù)量的增加而顯著增加,降低訓練效率。

c)計算資源利用率:MoE 模型中的不同專家可能具有不同的計算復雜度和數(shù)據(jù)需求,EP 可以根據(jù)各個專家的特點靈活地分配計算資源,使不同性能的計算單元都能得到充分利用;TP 的資源分配方式相對單一,對于不同專家的多樣性計算需求支持不佳。

2、Dualpipe 流水線并行策略:雙流并行計算優(yōu)化與雙向流水線調度優(yōu)化

(1)雙流并行計算優(yōu)化:

a)基本概念:如 DeepSeek 在論文中所述,在訓練過程中包含前向傳遞、反向傳遞兩個階段,具體包括計算流和通信流兩個流。

前向傳遞:通常按順序執(zhí)行ATTN(計算流)、DISPATCH(通信流)、MLP(計算流)、COMBINE(通信流)操作:

  • ATTN(計算流):指注意力機制計算,使大模型能夠捕捉文本等數(shù)據(jù)中的依賴關系,提升模型的性能和泛化能力;
  • DISPATCH(通信流):指數(shù)據(jù)或任務在不同GPU節(jié)點之間的傳遞,提高整個訓練系統(tǒng)的并行度和效率;
  • MLP(計算流):即多層感知機計算,由輸入層、輸出層和一個或多個隱藏層構成,利用梯度下降法更新權重參數(shù);
  • COMBINE(通信流):指將不同GPU節(jié)點上將計算結果進行合并的通信操作。

反向傳遞:需要執(zhí)行COMBINE(通信流)、MLP_B(計算流)、MLP_W(計算流)、DISPATCH(通信流)、ATTN_B(計算流)、ATTN_W(計算流)操作:

  • COMBINE(通信流):定義與前向傳遞相同,此處特指反向傳遞時的數(shù)據(jù)匯總,以便進行全局參數(shù)更新;
  • MLP_B(計算流):此處的B指的是Bias,指的是反向傳播中對于偏執(zhí)項的計算,以便更新大模型的偏執(zhí)參數(shù);
  • MLP_W(計算流):此處的W指的是Weight,指的是反向傳播中對于權重參數(shù)的計算,用于更新權重參數(shù);
  • DISPATCH(通信流):在反向計算中,DISPATCH 的作用仍然是負責數(shù)據(jù)或任務的分發(fā);
  • ATTN_B(計算流):偏置項也會影響注意力權重的計算和最終的輸出,通過計算調整注意力機制中的偏置參數(shù);
  • ATTN_W(計算流):計算損失函數(shù)對注意力權重的梯度,通過更新注意力權重捕捉數(shù)據(jù)中的依賴關系和重要信息。

DeepSeek-V3高效訓練關鍵技術

b)優(yōu)化方法:此處的雙流并行,指的是計算流和通信流,雙流并行即在大模型訓練的反向傳遞階段,將原本存在先后順序的更新當前層權重(即MLP_B)和將梯度繼續(xù)傳遞到前一層(即MLP_W)這兩個操作,拆分成兩個獨立且并行的流,同時通過細致的設計,讓訓練的 barrier 剛好停在兩個流任務完成的時候,而不需要通信流或者是計算流進行等待,提高計算效率。

DeepSeek-V3高效訓練關鍵技術
(2)雙向流水線調度優(yōu)化

a)基本概念:PP并行方法中,訓練過程經(jīng)常容易出現(xiàn)氣泡(即GPU閑置),核心原因是在PP并行中不同的計算階段可能具有不同的計算復雜度和執(zhí)行時間,導致計算快的階段需要等待計算慢的階段完成后才能繼續(xù)進行下一輪計算,同時不同階段之間需要進行數(shù)據(jù)通信來傳遞中間結果,可能會受到網(wǎng)絡帶寬等影響導致數(shù)據(jù)傳輸延遲,如下圖所示,其中有以下一些關鍵信息。

i.顏色:藍色代表前向傳播,綠色代表反向傳播,灰色代表空閑狀態(tài)(即氣泡)。

ii.數(shù)字:表示不同的微批次(Micro – batch),圖中不同GPU上的數(shù)字序列,反映了各個微批次在不同GPU上的計算順序和時間分布。

DeepSeek-V3高效訓練關鍵技術

b)優(yōu)化方法:傳統(tǒng)的單向流水線通常是按照固定順序,從流水線起始端依次進行微批次(micro – batch)處理;而DeepSeek-V3在訓練過程中采用了雙向流水線調度設計,即同時從兩端進行微批次(micro – batch)處理,減少流水線氣泡,另外DeepSeek將每個 micro – batch 進一步劃分為更小的塊(chunk),并對計算和通信進行精細調度,實現(xiàn)兩者的高度重疊,提高 GPU 利用率。

iii.起始端:在PP并行中,通常將設備編號較小的一端視為起始端,即圖中的 Device 0。

iv.末端:設備編號較大的一端為末端,也就是圖中的 Device 7,在雙向流水線中,Device 7 等設備也會在合適的時機啟動計算任務,且與起始端的計算任務相互配合,并非只是被動等待起始端計算完成后才開始工作。

DeepSeek-V3高效訓練關鍵技術

3、ZeRO-1(DP) 數(shù)據(jù)并行策略:降低內存占用,加速模型訓練

(1)基本概念:ZeRO(Zero Redundancy Optimizer)即零冗余優(yōu)化器,是由微軟提出的一種旨在減少分布式訓練中內存使用的技術框架;ZeRO-1(DP)結合了零冗余優(yōu)化器的思想和數(shù)據(jù)并行策略。

(2)工作原理:在傳統(tǒng)的數(shù)據(jù)并行中,每個設備都保存完整的優(yōu)化器狀態(tài)(如梯度、參數(shù)等),這會導致內存冗余;而 ZeRO-1 會將優(yōu)化器狀態(tài)劃分到不同的設備上,每個設備只保存一部分優(yōu)化器狀態(tài),在反向傳播計算完成后,各個設備會交換自己所負責的參數(shù)的梯度信息,然后根據(jù)這些梯度更新各自保存的部分優(yōu)化器狀態(tài)和模型參數(shù);通過這種方式,雖然每個設備只保存了部分信息,但最終所有設備上的模型參數(shù)會保持一致。

(3) 核心價值:

a)降低內存占用:ZeRO-1(DP) 數(shù)據(jù)并行策略顯著降低了單個 GPU 的內存占用,讓模型能夠在有限的顯存中進行訓練。

b)加速模型訓練:首先由于內存占用降低,模型可以處理更大的批量數(shù)據(jù),提高了計算資源的利用率,從而加快訓練速度;另外ZeRO-1 通過在不同GPU之間共享一部分狀態(tài)變量,減少了 GPU 之間的通信開銷,進一步提升了整體訓練效率。

四、通信優(yōu)化

1、Moe 路由的All2All優(yōu)化設計:網(wǎng)絡拓撲優(yōu)化與資源分配優(yōu)化

(1)基本概念:在MoE大模型訓練中,需要將訓練數(shù)據(jù)按照數(shù)據(jù)類型或特征分配給最合適的專家模型進行處理,此時常用到兩種數(shù)據(jù)路由方案,一種是All to All通信方案,另一種是基于 Magetron 實現(xiàn)的All Reduce和Reduce Scatter通信方案,其優(yōu)缺點大致如下:

a)All to All通信:在數(shù)據(jù)傳輸時,根據(jù)實際傳輸?shù)臄?shù)據(jù)量來開辟相應大小的顯存空間;這種方案的優(yōu)勢是顯存開銷小,劣勢是由于是點對點通信、通信效率相對較低。

b)All Reduce和Reduce Scatter通信:這種方案首先是將所有數(shù)據(jù)路由至每一張GPU,然后通過掩碼篩選出每個專家模型真正需要的數(shù)據(jù),再進行求和、求最大值等規(guī)約操作,并將數(shù)據(jù)重新合理分配至每一張GPU;這種方案的優(yōu)勢是通信效率較高,劣勢是顯存開銷比較大。

(2)實現(xiàn)方案:在 DeepSeek-V3 的實際訓練中,選擇了All to All的通信方案,為了解決All to All在通信效率方面存在的劣勢,采用了眾多通信優(yōu)化手段,比較核心的有以下幾個方面。

a)限制路由范圍:限制每個訓練 token 最多只能被調度到 4 臺GPU服務器,減少跨節(jié)點間的 IB 流量,規(guī)避了節(jié)點過多時訓練 Token 隨意路由導致的通信擁塞問題。

b)網(wǎng)絡拓撲優(yōu)化:DeepSeek-V3 的訓練集群應該采用了多軌組網(wǎng)方案(其并未正式公布,從其他渠道了解信息猜測得到),確保服務器收發(fā)數(shù)據(jù)時,可以在不同節(jié)點的同號卡之間實現(xiàn)最少跳數(shù)的互聯(lián),所以在數(shù)據(jù)路由策略上,DeepSeek-V3 會通過IB網(wǎng)絡將數(shù)據(jù)從源端服務器傳輸至目標服務器相同卡號的GPU上,然后基于 NVLink 轉發(fā)至托管目標專家的特定GPU,實現(xiàn)高效機內和機間通信,最大化利用高速互聯(lián)網(wǎng)絡帶寬。

c)資源分配優(yōu)化:當期望訓練流與通信流同時工作并達到重疊狀態(tài)時(如二.2所述),就容易出現(xiàn)GPU SM資源(SM即流多處理器,H800有132個SM)的爭搶,DeepSeek-V3 通過使用定制化的 PTX(即網(wǎng)絡上宣稱繞過CUDA的語言),對GPU的132個SM進行了改造,專門劃分出20個SM用于處理服務器間通信任務,并根據(jù)訓練流和通信流的具體特點和需求,對指令執(zhí)行進行優(yōu)化,例如分配指令優(yōu)先級、調整指令執(zhí)行順序等,減少 SM 資源分配和 L2 緩存搶占現(xiàn)象的發(fā)生。

d)動態(tài)資源調整:DeepSeek-V3 采用了自動調整的資源分配策略,能夠根據(jù)訓練流和通信流在不同時刻的資源需求動態(tài)地分配 SM 和 L2 緩存資源,系統(tǒng)能夠通過為每個專家引入的偏置項,根據(jù)每個專家的歷史利用率情況,動態(tài)地調整其接收新任務的概率,即無輔助損失負載均衡策略。

五、顯存優(yōu)化

1、FP8 低精度訓練:混合訓練框架和精細量化策略

(1)混合精度訓練框架:在 DeepSeek-V3 的訓練中,對于占據(jù)大量計算量的 GEMM(通用矩陣乘法)操作,采用 FP8 精度執(zhí)行,F(xiàn)P8 數(shù)據(jù)類型具有較低的內存占用和更快的計算速度,所以可以顯著提升計算效率、降低顯存開銷;同時為了確保訓練的穩(wěn)定性,對于少數(shù)對精度要求比較高的關鍵操作,如嵌入模塊(將輸入 Token 轉換為向量表示)、注意力操作等,仍保持高精度(BF16/FP32)計算。

(2)精細量化策略:FP8 雖然在訓練速度和顯存占用方面優(yōu)勢明顯,但是由于需要采取措施對訓練數(shù)據(jù)、模型參數(shù)、中間激活值進行量化操作,容易在訓練過程中出現(xiàn)因量化誤差導致的模型發(fā)散等問題,影響訓練穩(wěn)定性和模型性能,DeepSeek-V3 在訓練過程中采用了分塊量化、塊級量化、高精度累加三種精細量化策略解決這個問題。

a)分塊量化:數(shù)據(jù)劃分粒度相對較細,將數(shù)據(jù)劃分為多個小塊,然后對每個小塊分別進行量化操作,這種方式能更精細地適應數(shù)據(jù)的局部特征,減少量化誤差。

b)塊級量化:數(shù)據(jù)劃分粒度相對較粗,對更大的塊進行統(tǒng)一量化處理,這種方式更關注數(shù)據(jù)的整體特征和分布情況,通過對較大塊的數(shù)據(jù)采用相同的量化參數(shù)進行量化,可以簡化量化計算過程,降低計算復雜度。

c)高精度累加:在一些關鍵計算步驟中,雖然中間計算過程使用了 FP8 精度以提高計算效率,但在進行累加等操作時,會將 FP8 數(shù)據(jù)轉換為更高精度的數(shù)據(jù)類型(BF16/FP32)進行累加,然后再根據(jù)需要轉換回 FP8 精度進行后續(xù)計算,這種機制可以有效控制量化誤差的積累。

DeepSeek-V3高效訓練關鍵技術

2、選擇重計算:間隔重計算和選擇性重計算優(yōu)化

(1)基本概念:在訓練過程中,需要占用大量的顯存來存儲模型參數(shù)、中間結果等數(shù)據(jù),當模型參數(shù)規(guī)模較大或者訓練數(shù)據(jù)量較多時,可能會出現(xiàn)顯存不夠用的情況;所以業(yè)界會采用重計算優(yōu)化方法,即在前向傳播時不保存上述的中間結果數(shù)據(jù),而是在反向傳播需要的時候重新計算它們,大大減少中間結果所占用的顯存空間。

(2)實現(xiàn)方案:比較粗暴的實現(xiàn)方案是完全重計算,這種方案因為計算量較大,會大幅增加訓練全過程時間,所以業(yè)界一直在探索更為高效的選擇重計算方案,DeepSeek-V3 在訓練過程中主要應用了間隔重計算和選擇性重計算兩種優(yōu)化手段。

a)間隔重計算:即“隔一層重計算一次” ,在反向傳播中對一半層的輸入輸出進行重計算,另一半層按照傳統(tǒng)方式保存中間結果數(shù)據(jù)。

b)選擇性重計算:大模型每一層的計算,通常由類似 RMSkernel 的計算強度較弱的部分(包含平方、求和、開方等計算操作,用于穩(wěn)定訓練過程、加速模型收斂)和計算強度較強的 GEMM 矩陣乘法部分組成,他們雖然都會產(chǎn)生中間結果,但是計算成本差異較大;通常 RMSkernel 的計算時間占比小、但單位計算的顯存占用大,而GEMM的計算時間占比大、但單位計算的顯存占用??;所以選擇性重計算方法重點是針對 RMSkernel 相關的部分算子進行重計算,獲得最大的性價比。

3、EMA顯存優(yōu)化:異步處理與顯存卸載優(yōu)化

(1)基本概念:EMA是指數(shù)移動平均(Exponential Moving Average),它對于模型訓練過程中每一步更新得到的參數(shù),計算指數(shù)加權平均值,得到一組新的參數(shù),用于監(jiān)測訓練方向,避免噪聲對于模型參數(shù)更新的影響,以得到更加穩(wěn)定、泛化能力更強的參數(shù);由于EMA需要額外維護一組參數(shù),所以會占用一定的顯存空間。

(2)實現(xiàn)方案:DeepSeek-V3 在訓練過程中采用了異步處理和顯存卸載方法,優(yōu)化了EMA的顯存占用。

a)異步處理:由于EMA的計算過程并不需要訓練過程中實時產(chǎn)生的數(shù)據(jù),所以可以獨立于前向傳播和反向傳播而開展,DeepSeek采用異步處理方式,讓EMA計算過程與訓練過程并行開展。

b)顯存卸載:基于上述異步處理的基礎,可以將EMA計算從GPU顯存卸載至CPU,即在每一輪訓練結束后,將模型參數(shù)傳遞給CPU,在 CPU 上計算 EMA 參數(shù),然后將更新后的 EMA 參數(shù)存儲在 CPU 內存中,減少GPU的顯存占用。

4、頭尾參數(shù)共享:embedding 層和 lm_head 層共享參數(shù)的優(yōu)化策略

(1)基本概念:embedding層位于模型首端,核心作用是把離散的 Token 轉換為連續(xù)的向量表示,實現(xiàn)這一轉換依靠的是一個可學習的權重矩陣,其大小為 vocab_size * hidden_size(詞表大小 * 每個 Token 對應的嵌入向量的維度);lm_head 層位于模型的末端,將模型輸出的嵌入向量重新映射回 Token 的概率分布,以便計算損失函數(shù),其實現(xiàn)方式同樣是依賴一個大小為 vocab_size * hidden_size 的權重矩陣。

(2)實現(xiàn)方案:頭尾參數(shù)共享,指的是讓 embedding 層和 lm_head 層使用同一個權重矩陣,這種優(yōu)化方案由于減少了參數(shù)存儲量,與之相關的梯度、優(yōu)化器狀態(tài)和參數(shù)備份等占用的顯存也會相應減少,且共用的權重矩陣有助于模型學習到更穩(wěn)定和通用的 Token 表示,從而提高模型的性能和泛化能力。

六、總結

通過上述對 DeepSeek-V3 高效訓練關鍵技術的分析,我們能夠看出,DeepSeek-V3 之所以能夠利用5%的算力訓練出對標 GPT-4o 的先進模型,與其創(chuàng)新性的模型架構設計、高效的并行策略選擇以及對集群通信和顯存的極致優(yōu)化密不可分。

高效訓練方法的表象是需要更少規(guī)模的算力,但其本質是對算法創(chuàng)新和極致集群性能的更高要求,所以 DeepSeek-V3 的先進經(jīng)驗對于 AI Infra 絕不是利空,反而隨著精細化的高效訓練方法被業(yè)界普遍采用,基于先進芯片選型、先進架構搭建的 AI Infra 的重要性會越發(fā)凸顯,持續(xù)學習。


本文來自阿里云官網(wǎng):點擊訪問

  • 廣告合作

  • QQ群號:4114653

溫馨提示:
1、本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享網(wǎng)絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。郵箱:2942802716#qq.com(#改為@)。 2、本站原創(chuàng)內容未經(jīng)允許不得轉裁,轉載請注明出處“站長百科”和原文地址。
DeepSeek
上一篇: DeepSeek內容分類