欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種加速大模型訓(xùn)練的異步多向流水線并行方法

文檔序號(hào):40601452發(fā)布日期:2025-01-07 20:42閱讀:9來源:國(guó)知局
一種加速大模型訓(xùn)練的異步多向流水線并行方法

本發(fā)明屬于分布式并行訓(xùn)練,具體涉及一種加速大模型訓(xùn)練的異步多向流水線并行方法。


背景技術(shù):

1、近年來,通過擴(kuò)大模型規(guī)模,大模型在各個(gè)領(lǐng)域上取得了廣泛的成功。然而訓(xùn)練一個(gè)大模型是具有挑戰(zhàn)性的。以訓(xùn)練一個(gè)具有1750億參數(shù)的gpt3模型為例,在16位精度下,僅存儲(chǔ)其模型參數(shù)就需要300gib的空間,使用單張v100顯卡需要大概288年才能訓(xùn)練完畢。因此,在分布式集群上進(jìn)行并行訓(xùn)練是十分有必要的。

2、通過將模型進(jìn)行層間切分并分配到不同的設(shè)備上,層間模型并行現(xiàn)在已經(jīng)被廣泛用來訓(xùn)練單設(shè)備無法裝載的模型。然而,由于在深度學(xué)習(xí)中前向計(jì)算與后向計(jì)算的順序執(zhí)行特性,樸素的層間模型并行會(huì)導(dǎo)致集群的設(shè)備在訓(xùn)練過程中有大量的時(shí)間處于空閑狀態(tài)。為了解決上述問題,流水線并行將單個(gè)數(shù)據(jù)批切分為多個(gè)微數(shù)據(jù)批,并將這些微數(shù)據(jù)批一次性注入流水線中,這種做法能確保流水線中同時(shí)有多個(gè)設(shè)備處于活躍狀態(tài),從而減少甚至消除設(shè)備處于空閑狀態(tài)的時(shí)間。

3、根據(jù)參數(shù)更新策略,流水線并行可以分為同步流水線并行與異步流水線并行。在同步流水線中,同屬于一個(gè)數(shù)據(jù)批中所有微數(shù)據(jù)批的梯度會(huì)被累計(jì)起來,在當(dāng)前數(shù)據(jù)批中所有微數(shù)據(jù)批的后向計(jì)算完成后才會(huì)使用累計(jì)的梯度進(jìn)行參數(shù)更新,然后讀入下一個(gè)數(shù)據(jù)批并重復(fù)上述過程。同步流水線并行能夠保證訓(xùn)練的收斂性,但不能完全去除層間模型并行中的設(shè)備空閑時(shí)間,這些時(shí)間在流水線并行中被稱作流水線空泡。異步流水線持續(xù)的向流水線中注入微數(shù)據(jù)批,并在每個(gè)微數(shù)據(jù)的后向計(jì)算完成后就進(jìn)行一次參數(shù)更新。在穩(wěn)定運(yùn)行階段,異步流水線中沒有流水線空泡,然而異步更新的策略會(huì)導(dǎo)致延遲梯度與參數(shù)不匹配的問題,從而破壞了訓(xùn)練的收斂性。此外,在異步流水線并行中常用調(diào)度策略是1f1b策略,該調(diào)度策略是指在流水線穩(wěn)定階段,各個(gè)設(shè)備交替進(jìn)行前后向計(jì)算。在該策略下,流水線中靠前的設(shè)備同一微數(shù)據(jù)批的前后向計(jì)算之間還有許多其它微數(shù)據(jù)批的計(jì)算,導(dǎo)致該設(shè)備需要存儲(chǔ)多個(gè)微數(shù)據(jù)批的激活值,而靠后的設(shè)備同一微數(shù)據(jù)批前后向計(jì)算間其它微數(shù)據(jù)批的計(jì)算較少甚至沒有,因此存儲(chǔ)的激活值較少,從而導(dǎo)致設(shè)備間存儲(chǔ)開銷不一致。

4、綜上所述,目前的流水線并行方法通常無法兼顧高吞吐與正常收斂,且常用的流水線調(diào)度策略存在著設(shè)備開銷不平衡的問題,因此需要開發(fā)新的流水線并行方法,滿足大規(guī)模模型訓(xùn)練的需求。


技術(shù)實(shí)現(xiàn)思路

1、鑒于上述,本發(fā)明的目的是提供一種加速大模型訓(xùn)練的異步多向流水線并行方法,在異步更新的策略上使用了多向流水線調(diào)度,解決了傳統(tǒng)異步流水線并行中顯存開銷不平衡,以及對(duì)模型均勻度較為敏感的問題,在提高模型訓(xùn)練吞吐率的同時(shí)還能保證訓(xùn)練的收斂性。此外,本發(fā)明還引入了零冗余優(yōu)化器技術(shù),通過選取一個(gè)并行組并為其中各設(shè)備分得的模型切片注冊(cè)優(yōu)化器,減少了優(yōu)化器狀態(tài)占用的顯存開銷,在分布式并行訓(xùn)練與大模型訓(xùn)練等領(lǐng)域具有廣闊的應(yīng)用前景。

2、為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供的技術(shù)方案如下:

3、本發(fā)明實(shí)施例提供的一種加速大模型訓(xùn)練的異步多向流水線并行方法,包括以下步驟:

4、創(chuàng)建多個(gè)流水線并行組,每個(gè)組均包含服務(wù)器中的所有設(shè)備,組間設(shè)備排序不同,組的數(shù)量與設(shè)定的流水線方向數(shù)相同;

5、將待訓(xùn)練大模型進(jìn)行層間均勻切分得到模型切片,將模型切片按順序分配給每組中的各個(gè)設(shè)備,使每個(gè)組均包含完整的待訓(xùn)練大模型;

6、選取任一組作為優(yōu)化器注冊(cè)并行組,為優(yōu)化器注冊(cè)并行組中的各個(gè)設(shè)備分得的模型切片注冊(cè)優(yōu)化器;

7、按照異步多向流水線調(diào)度方式對(duì)待訓(xùn)練大模型進(jìn)行訓(xùn)練,每個(gè)設(shè)備將其中同一模型切片在各個(gè)微數(shù)據(jù)批上的梯度進(jìn)行累加,當(dāng)累積的微數(shù)據(jù)批能構(gòu)成一個(gè)數(shù)據(jù)批時(shí),若流水線中沒有流水線空泡則立刻進(jìn)入下一步驟,否則在下個(gè)出現(xiàn)流水線空泡的位置進(jìn)入下一步驟;

8、各個(gè)設(shè)備將累加的模型切片在一個(gè)數(shù)據(jù)批上的梯度聚合到優(yōu)化器注冊(cè)并行組的設(shè)備上并利用聚合后的梯度進(jìn)行參數(shù)更新。

9、優(yōu)選地,所述創(chuàng)建多個(gè)流水線并行組,每個(gè)組均包含服務(wù)器中的所有設(shè)備,組間設(shè)備排序不同,組的數(shù)量與設(shè)定的流水線方向數(shù)相同,包括:

10、創(chuàng)建個(gè)流水線并行組,為設(shè)定的流水線方向數(shù),將服務(wù)器中參與訓(xùn)練的所有設(shè)備按每個(gè)組中流水線運(yùn)行的方向順序并入各個(gè)并行組,每個(gè)組均包含所有的設(shè)備,組間設(shè)備的排列順序不同。

11、優(yōu)選地,設(shè)定的流水線方向數(shù)為不高于服務(wù)器中的所有設(shè)備數(shù)量的一半。

12、優(yōu)選地,所述將待訓(xùn)練大模型進(jìn)行層間均勻切分得到模型切片,將模型切片按順序分配給每組中的各個(gè)設(shè)備,使每個(gè)組均包含完整的待訓(xùn)練大模型,包括:

13、將待訓(xùn)練大模型按照各個(gè)網(wǎng)絡(luò)層的計(jì)算時(shí)間均勻切分成份,為服務(wù)器中的所有設(shè)備的數(shù)量,將個(gè)模型切片按各個(gè)并行組中設(shè)備的排列順序分配給組中的設(shè)備,每個(gè)設(shè)備分得的模型切片的序號(hào)與該設(shè)備在各個(gè)并行組中的序號(hào)相同,最終使得每個(gè)組中均包含完整的待訓(xùn)練大模型的復(fù)制。

14、優(yōu)選地,所述選取任一組作為優(yōu)化器注冊(cè)并行組,為優(yōu)化器注冊(cè)并行組中的各個(gè)設(shè)備分得的模型切片注冊(cè)優(yōu)化器,包括:

15、任意選取一個(gè)并行組作為優(yōu)化器注冊(cè)并行組,為優(yōu)化器注冊(cè)并行組中的各個(gè)設(shè)備分得的模型切片注冊(cè)優(yōu)化器,其余組均不注冊(cè)優(yōu)化器。

16、優(yōu)選地,在對(duì)待訓(xùn)練大模型進(jìn)行訓(xùn)練前,首先準(zhǔn)備訓(xùn)練數(shù)據(jù)集,將訓(xùn)練數(shù)據(jù)集切分為份子數(shù)據(jù)集,為流水線并行組的數(shù)量,每個(gè)并行組取一個(gè)子數(shù)據(jù)集并按照微數(shù)據(jù)批的大小將子數(shù)據(jù)集進(jìn)行批量化,作為訓(xùn)練過程中的輸入。

17、優(yōu)選地,每個(gè)數(shù)據(jù)批中微數(shù)據(jù)批的數(shù)量不少于每組中設(shè)備的數(shù)量。

18、優(yōu)選地,所述按照異步多向流水線調(diào)度方式對(duì)待訓(xùn)練大模型進(jìn)行訓(xùn)練,包括:

19、每個(gè)并行組將獲取的微數(shù)據(jù)批全部注入流水線后,各組按照設(shè)備排序執(zhí)行不同的流水線方向,在每個(gè)并行組中,流水線上的第一個(gè)設(shè)備對(duì)一個(gè)微數(shù)據(jù)批的前向計(jì)算完成后將所得激活值傳給所在并行組中的下一個(gè)設(shè)備,收到激活值的設(shè)備利用該激活值進(jìn)行前向計(jì)算并將計(jì)算結(jié)果再傳遞給下個(gè)設(shè)備,以此類推直至流水線上最后一個(gè)設(shè)備完成一個(gè)微數(shù)據(jù)批的前向計(jì)算,然后執(zhí)行后向計(jì)算,后向計(jì)算則按照相反的方向傳遞梯度直至流水線上的第一個(gè)設(shè)備完成后向計(jì)算,對(duì)所有獲取的微數(shù)據(jù)批按照以上述方法循環(huán)往復(fù)執(zhí)行前向計(jì)算和后向計(jì)算。

20、優(yōu)選地,所述每個(gè)設(shè)備將其中同一模型切片在各個(gè)微數(shù)據(jù)批上的梯度進(jìn)行累加,當(dāng)累積的微數(shù)據(jù)批能構(gòu)成一個(gè)數(shù)據(jù)批時(shí),若流水線中沒有流水線空泡則立刻進(jìn)入下一步驟,否則在下個(gè)出現(xiàn)流水線空泡的位置進(jìn)入下一步驟,包括:

21、在每個(gè)設(shè)備上將其所分配的同一模型切片在不同微數(shù)據(jù)批上的梯度進(jìn)行累加,如果流水線中沒有流水線空泡則當(dāng)一個(gè)數(shù)據(jù)批中所有微數(shù)據(jù)批的后向計(jì)算完成后立即進(jìn)入下一步驟進(jìn)行梯度聚合和參數(shù)更新,如果流水線中有流水線空泡則當(dāng)一個(gè)數(shù)據(jù)批中所有微數(shù)據(jù)批的后向計(jì)算完成后在遇到第一個(gè)流水線空泡時(shí)進(jìn)入下一步驟進(jìn)行梯度聚合和參數(shù)更新。

22、優(yōu)選地,所述各個(gè)設(shè)備將累加的模型切片在一個(gè)數(shù)據(jù)批上的梯度聚合到優(yōu)化器注冊(cè)并行組的設(shè)備上并利用聚合后的梯度進(jìn)行參數(shù)更新,包括:

23、所有并行組中各個(gè)設(shè)備將其所分得的模型切片的在一個(gè)數(shù)據(jù)批上的梯度聚合到優(yōu)化器注冊(cè)并行組中分得相同模型切片的設(shè)備上;

24、進(jìn)行參數(shù)更新時(shí),優(yōu)化器注冊(cè)并行組的各個(gè)設(shè)備將每個(gè)模型切片的聚合梯度輸入到對(duì)應(yīng)的每個(gè)模型切片注冊(cè)的優(yōu)化器中對(duì)大模型的參數(shù)進(jìn)行更新,將更新后的參數(shù)廣播給其余組中的設(shè)備,至此一輪迭代完成,重復(fù)迭代直至大模型訓(xùn)練完成。

25、本發(fā)明使用異步多向流水線調(diào)度對(duì)模型進(jìn)行訓(xùn)練,同時(shí)在參數(shù)更新步驟上引入部分同步機(jī)制,可提升訓(xùn)練吞吐率與訓(xùn)練收斂性,與現(xiàn)有技術(shù)相比,本發(fā)明具有的有益效果至少包括:

26、(1)本發(fā)明通過在異步流水線并行方法的基礎(chǔ)上,引入多向流水線調(diào)度策略,能夠避免單個(gè)設(shè)備存儲(chǔ)負(fù)載明顯高于其余設(shè)備的情況,同時(shí)還能減少模型切分不均勻帶來的影響,提高了大模型訓(xùn)練性能;

27、(2)本發(fā)明通過將同一模型切片在各個(gè)微數(shù)據(jù)批的梯度進(jìn)行累加,利用多向調(diào)度中多個(gè)微數(shù)據(jù)批前向與后向計(jì)算間分界明顯的特點(diǎn),在多個(gè)微數(shù)據(jù)批前后向計(jì)算間的分界處統(tǒng)一進(jìn)行參數(shù)更新,既能覆蓋分界處的流水線空泡,還能實(shí)現(xiàn)計(jì)算與通信的重疊,提高資源利用率,減少通信開銷,在保證高吞吐的同時(shí)還兼顧了訓(xùn)練的收斂性;

28、(3)本發(fā)明引入零冗余優(yōu)化器技術(shù),通過選取一個(gè)并行組作為優(yōu)化器注冊(cè)并行組并為其中各設(shè)備分得的模型切片注冊(cè)優(yōu)化器,使每個(gè)設(shè)備只保留一份模型切片的優(yōu)化器狀態(tài),能在不增加額外通信開銷的前提下減少存儲(chǔ)開銷。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
望谟县| 彭州市| 阿尔山市| 三门县| 凤山市| 锡林郭勒盟| 珠海市| 高邮市| 宿松县| 临桂县| 荔波县| 永嘉县| 华宁县| 吉木萨尔县| 大渡口区| 都昌县| 大名县| 东乌珠穆沁旗| 沧州市| 嘉义县| 延庆县| 盘山县| 腾冲县| 金坛市| 沙雅县| 历史| 华坪县| 吴桥县| 凤山市| 观塘区| 漯河市| 楚雄市| 吉林省| 龙口市| 施秉县| 精河县| 信宜市| 盐源县| 佛冈县| 吐鲁番市| 九龙城区|