自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

DeepSeek開源三箭齊發(fā),梁文峰親自上陣!雙向并行LLM訓(xùn)練飆升

人工智能 新聞
DeepSeek開源第四天,連更三個(gè)項(xiàng)目。DualPipe、EPLB、以及計(jì)算與通信重疊機(jī)制的優(yōu)化并行策略,讓大模型訓(xùn)練更快,成本更低,還能保持頂尖性能。

開源周第4天,DeepSeek放出的是——優(yōu)化并行策略,一共三個(gè)項(xiàng)目。

  • DualPipe:一種用于V3/R1模型訓(xùn)練中實(shí)現(xiàn)計(jì)算與通信重疊的雙向流水線并行算法
  • EPLB:一個(gè)針對V3/R1的專家并行負(fù)載均衡工具
  • 深入分析V3/R1模型中的計(jì)算與通信重疊機(jī)制

圖片

值得一提的是,DualPipe是由三個(gè)人——Jiashi Li、Chengqi Deng和梁文峰共同研發(fā)。

圖片

有網(wǎng)友對此表示,這是一個(gè)顛覆性的突破。

「DualPipe和EPLB讓大模型的訓(xùn)練更快、更便宜、更可持續(xù),同時(shí)保持頂尖性能」。

圖片

開源僅剩最后一天,評論區(qū)網(wǎng)友紛紛許愿:明天一定要來個(gè)大的。

圖片

DualPipe

DualPipe是DeepSeek-V3技術(shù)報(bào)告中提出的一種創(chuàng)新雙向流水線并行算法。

它能夠?qū)崿F(xiàn)前向與后向計(jì)算和通信階段的完全重疊,同時(shí)有效減少流水線氣泡(空閑時(shí)間)。

調(diào)度方案

圖片

上圖展示了在8個(gè)流水線并行階段和20個(gè)micro-batches情況下,DualPipe在兩個(gè)方向上的調(diào)度示例。

由于反向方向的微批次與前向方向?qū)ΨQ,為了簡化圖示,這里省略了反向方向的batch ID。圖中由同一個(gè)黑色邊框包圍的兩個(gè)單元格表示同時(shí)進(jìn)行的計(jì)算和通信操作,它們實(shí)現(xiàn)了相互重疊。

流水線氣泡與內(nèi)存使用比較

圖片

圖中,??代表前向塊(forward chunk)的執(zhí)行時(shí)間,??代表完整后向塊(full backward chunk)的執(zhí)行時(shí)間,??代表「權(quán)重后向」(backward for weights)塊的執(zhí)行時(shí)間,而??&??則表示同時(shí)執(zhí)行且相互重疊的前向和后向塊的執(zhí)行時(shí)間。

快速入門

使用示例如下:

python example.py

注意:在實(shí)際生產(chǎn)環(huán)境中,需要根據(jù)模塊特點(diǎn)來實(shí)現(xiàn)一個(gè)定制化的overlapped_forward_backward方法。

專家并行負(fù)載均衡器(EPLB)

在使用專家并行(EP)時(shí),不同的專家模塊會(huì)被分配到不同的GPU上。由于各個(gè)專家的計(jì)算負(fù)載會(huì)隨當(dāng)前任務(wù)而變化,因此保持各GPU間負(fù)載均衡至關(guān)重要。

如DeepSeek-V3論文所述,研究人員采用了冗余專家(redundant experts)策略,對高負(fù)載專家進(jìn)行復(fù)制。

隨后,通過啟發(fā)式算法將這些復(fù)制的專家合理分配到各GPU上,確保計(jì)算資源的平衡利用。

此外,由于DeepSeek-V3采用了組內(nèi)限制專家路由(group-limited expert routing)機(jī)制,研究團(tuán)隊(duì)盡可能將同一組的專家放置在同一節(jié)點(diǎn)上,以減少節(jié)點(diǎn)間的數(shù)據(jù)傳輸開銷。

為了便于復(fù)現(xiàn)和部署,DeepSeek在eplb.py文件中開源了EP負(fù)載均衡算法。該算法能夠根據(jù)估計(jì)的專家負(fù)載,計(jì)算出均衡的專家復(fù)制和放置方案。

需要說明的是,專家負(fù)載的具體預(yù)測方法不在此代碼庫的討論范圍內(nèi),一種常用的方法是采用歷史統(tǒng)計(jì)數(shù)據(jù)的滑動(dòng)平均值。

算法原理

負(fù)載均衡算法提供了兩種策略,適用于不同場景:

· 層次負(fù)載均衡(Hierarchical Load Balancing)

當(dāng)服務(wù)器節(jié)點(diǎn)數(shù)量能夠整除專家組數(shù)量時(shí),研究人員采用層次負(fù)載均衡策略,來充分利用組內(nèi)限制專家路由機(jī)制。

首先,他們將專家組均勻分配到各節(jié)點(diǎn),確保節(jié)點(diǎn)間負(fù)載平衡;然后,在每個(gè)節(jié)點(diǎn)內(nèi)部復(fù)制專家模型;最后,將復(fù)制后的專家打包分配到各個(gè)GPU上,實(shí)現(xiàn)GPU間的負(fù)載均衡。

這種層次化策略特別適用于預(yù)填充階段(prefilling stage),此時(shí)專家并行規(guī)模較小。

· 全局負(fù)載均衡(Global Load Balancing)

在其他情況下,研究人員采用全局負(fù)載均衡策略,不考慮專家組的限制,直接在全局范圍內(nèi)復(fù)制專家并分配到各個(gè)GPU上。這種策略更適合解碼階段使用,此時(shí)專家并行規(guī)模較大。

接口示例

負(fù)載均衡器的核心函數(shù)是eplb.rebalance_experts。

下面的代碼展示了一個(gè)雙層混合專家模型(MoE)的示例,每層包含12個(gè)專家。

DeepSeek為每層引入了4個(gè)冗余專家,總計(jì)16個(gè)專家副本被分配到2個(gè)計(jì)算節(jié)點(diǎn)上,每個(gè)節(jié)點(diǎn)配有4個(gè)GPU。

import torch
import eplb


weight = torch.tensor([[ 90, 132,  40,  61, 104, 165,  39,   4,  73,  56, 183,  86],
                       [ 20, 107, 104,  64,  19, 197, 187, 157, 172,  86,  16,  27]])


num_replicas = 16
num_groups = 4
num_nodes = 2
num_gpus = 8


phy2log, log2phy, logcnt = eplb.rebalance_experts(weight, num_replicas, num_groups, num_nodes, num_gpus)
print(phy2log)


# Output:
# tensor([[ 5,  6,  5,  7,  8,  4,  3,  4, 10,  9, 10,  2,  0,  1, 11,  1],
#         [ 7, 10,  6,  8,  6, 11,  8,  9,  2,  4,  5,  1,  5,  0,  3,  1]])

該層次負(fù)載均衡策略產(chǎn)生的結(jié)果,展示了如下專家復(fù)制與分配方案。

圖片

DeepSeek基礎(chǔ)設(shè)施中的性能剖析數(shù)據(jù)

在這里,DeepSeek公開分享來自訓(xùn)練和推理框架的性能剖析數(shù)據(jù),旨在幫助社區(qū)更深入地理解通信與計(jì)算重疊策略以及相關(guān)底層實(shí)現(xiàn)細(xì)節(jié)。

這些剖析數(shù)據(jù)是通過PyTorch Profiler工具獲取的。

你可以下載后在Chrome瀏覽器中訪問chrome://tracing(或在Edge瀏覽器中訪問edge://tracing)直接進(jìn)行可視化查看。

需要說明的是,為了便于剖析,研究人員模擬了一個(gè)完全均衡的MoE路由策略。

訓(xùn)練過程

訓(xùn)練剖析數(shù)據(jù)展示了,研究人員在DualPipe中如何實(shí)現(xiàn)單對前向和后向計(jì)算塊的重疊策略。每個(gè)計(jì)算塊包含4個(gè)MoE層。

并行配置與DeepSeek-V3預(yù)訓(xùn)練設(shè)置保持一致:采用EP64、TP1,序列長度為4K。

為簡化剖析過程,未包含流水線并行(PP)通信部分。

圖片

推理過程

· 預(yù)填充

在預(yù)填充階段,剖析配置采用EP32和TP1的配置(與DeepSeek V3/R1實(shí)際在線部署一致),提示長度設(shè)為4K,每GPU批處理量為16K個(gè)token。

研究人員在預(yù)填充階段使用兩個(gè)micro-batches來實(shí)現(xiàn)計(jì)算與all-to-all通信的重疊,同時(shí)確保注意力機(jī)制的計(jì)算負(fù)載在兩個(gè)micro-batches間保持平衡——這意味著同一條提示信息可能會(huì)被分割到不同micro-batches中處理。

圖片

· 解碼

解碼階段的剖析配置采用EP128、TP1,提示長度4K(與實(shí)際在線部署配置非常接近),每GPU批處理量為128個(gè)請求。

與預(yù)填充類似,解碼階段也利用兩個(gè)micro-batches來重疊計(jì)算和all-to-all通信。

然而不同的是,解碼過程中的全聯(lián)通通信不占用GPU流處理器(SM):RDMA消息發(fā)出后,所有GPU流處理器立即被釋放,系統(tǒng)在完成計(jì)算后等待全聯(lián)通通信完成。

關(guān)于all-to-all通信實(shí)現(xiàn)的更多技術(shù)細(xì)節(jié),請參考DeepEP文檔。

圖片

責(zé)任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2025-03-12 10:36:32

2009-07-09 19:13:16

運(yùn)維管理DCM游龍科技

2009-04-20 12:54:09

2025-02-19 09:18:04

2011-05-04 10:52:58

2012-12-14 23:14:13

2025-02-27 13:10:00

2015-08-04 15:32:45

O2O到家服務(wù)市場hao到家

2025-02-19 15:01:09

2025-02-13 11:00:30

2017-01-09 17:08:45

電商

2015-05-21 17:45:10

WLANAP華為

2017-03-29 09:44:07

網(wǎng)絡(luò)能源渠道

2025-02-27 09:06:34

2009-06-05 09:04:14

硅谷教父投資新興公司

2011-05-03 10:07:12

iPhone5喬布斯蘋果

2023-06-30 09:00:00

Falcon LLM開源

2025-01-26 08:00:00

模型AI數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)