本技術(shù)涉及計(jì)算機(jī),尤其涉及一種數(shù)據(jù)處理方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著人工智能技術(shù)的快速發(fā)展,大型語(yǔ)言模型的參數(shù)規(guī)模日益增長(zhǎng),參數(shù)規(guī)模從數(shù)百萬(wàn)到數(shù)萬(wàn)億不等,在現(xiàn)有的模型訓(xùn)練中,由于模型的參數(shù)量規(guī)模龐大,對(duì)計(jì)算資源以及計(jì)算時(shí)間需求龐大,通常需要芯片集群進(jìn)行模型訓(xùn)練,現(xiàn)有技術(shù)一般采用同質(zhì)的芯片的進(jìn)行數(shù)據(jù)并行或者流水線(xiàn)并行進(jìn)行分布式訓(xùn)練,數(shù)據(jù)并行是指將相同的初始模型配置到多個(gè)數(shù)據(jù)并行組上,然后每個(gè)數(shù)據(jù)并行組獨(dú)立處理各自的輸入樣本,并最終聚合起來(lái)整合所有模型參數(shù)。流水線(xiàn)并行是指將模型的網(wǎng)絡(luò)層分發(fā)到到多個(gè)流水線(xiàn)并行組分別完成,每個(gè)流水線(xiàn)并行組負(fù)責(zé)處理模型的一部分網(wǎng)絡(luò)層。
2、由于很難獲得足夠數(shù)量的同質(zhì)的芯片,使用單一類(lèi)型的芯片來(lái)構(gòu)建萬(wàn)卡的大規(guī)模集群面臨巨大的挑戰(zhàn)。在使用混合部署不同類(lèi)型芯片時(shí),采用與同質(zhì)的芯片相同的并行策略,由于不同的芯片的算力(計(jì)算能力、存儲(chǔ)資源以及通信資源等綜合算力)存在較大差異,會(huì)導(dǎo)致芯片的負(fù)載不均勻,算力較強(qiáng)的芯片的未能得到有效利用,算力較差的芯片會(huì)嚴(yán)重耽誤芯片集群的訓(xùn)練性能,導(dǎo)致芯片集群的算力利用率較低,訓(xùn)練效率低。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供了一種數(shù)據(jù)處理方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì),可以提高混合部署的芯片集群的計(jì)算資源的利用率,以及提高模型的訓(xùn)練效率。
2、本技術(shù)實(shí)施例一方面提供了一種數(shù)據(jù)處理方法,包括:
3、獲取m個(gè)初始芯片組;m為正整數(shù),一個(gè)初始芯片組內(nèi)的芯片型號(hào)均相同,每個(gè)初始芯片組之間的芯片型號(hào)互不相同;
4、基于初始模型中單個(gè)網(wǎng)絡(luò)層對(duì)應(yīng)的學(xué)習(xí)參數(shù)量以及m個(gè)初始芯片組的芯片型號(hào),對(duì)每個(gè)初始芯片組內(nèi)的芯片分別進(jìn)行分組,得到p個(gè)流水線(xiàn)并行組;p為正整數(shù),一個(gè)流水線(xiàn)并行組內(nèi)的芯片型號(hào)均相同,每個(gè)流水線(xiàn)并行組對(duì)應(yīng)的計(jì)算內(nèi)存均大于或等于學(xué)習(xí)參數(shù)量;
5、基于負(fù)載均衡條件、p個(gè)流水線(xiàn)并行組的平均算力系數(shù)、初始模型的網(wǎng)絡(luò)層數(shù)和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),對(duì)p個(gè)流水線(xiàn)并行組進(jìn)行分組組合,得到d個(gè)數(shù)據(jù)并行組以及d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量;d為小于p的正整數(shù),每個(gè)數(shù)據(jù)并行組對(duì)應(yīng)的計(jì)算內(nèi)存大于或等于初始模型的總學(xué)習(xí)參數(shù)量;d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量所指示的輸入樣本,用于對(duì)在對(duì)應(yīng)的數(shù)據(jù)并行組上所配置的初始模型并行進(jìn)行模型訓(xùn)練。
6、其中,p個(gè)流水線(xiàn)并行組包括流水線(xiàn)并行組,流水線(xiàn)并行組包括s個(gè)芯片,s為正整數(shù);流水線(xiàn)并行組中的每個(gè)芯片均用于通過(guò)張量并行對(duì)初始模型的網(wǎng)絡(luò)層進(jìn)行模型訓(xùn)練,s個(gè)芯片所分配的網(wǎng)絡(luò)層的參數(shù)量均相等。
7、其中,基于初始模型中單個(gè)網(wǎng)絡(luò)層對(duì)應(yīng)的學(xué)習(xí)參數(shù)量以及m個(gè)初始芯片組的芯片型號(hào),對(duì)每個(gè)初始芯片組內(nèi)的芯片分別進(jìn)行分組,得到p個(gè)流水線(xiàn)并行組,包括:
8、基于初始模型中單個(gè)網(wǎng)絡(luò)層對(duì)應(yīng)的學(xué)習(xí)參數(shù)量以及m個(gè)初始芯片組的芯片型號(hào),生成m個(gè)初始芯片組分別對(duì)應(yīng)的初始分組參數(shù);m個(gè)初始分組參數(shù)均大于或等于2;
9、基于m個(gè)初始分組參數(shù),對(duì)每個(gè)初始芯片組內(nèi)的芯片分別進(jìn)行分組,得到n個(gè)初始并行組,基于n個(gè)初始并行組的平均算力系數(shù)和n個(gè)初始并行組分別對(duì)應(yīng)的組算力系數(shù),對(duì)每個(gè)初始并行組內(nèi)的芯片分別進(jìn)行分組,得到p個(gè)流水線(xiàn)并行組;n為正整數(shù),n大于m,且n小于或等于p。
10、其中,m個(gè)初始芯片組包括初始芯片組,初始芯片組包括s個(gè)目標(biāo)型號(hào)的芯片,初始芯片組對(duì)應(yīng)的分組參數(shù)為g,g、s和i均為正整數(shù);基于m個(gè)初始分組參數(shù),對(duì)每個(gè)初始芯片組內(nèi)的芯片分別進(jìn)行分組,得到n個(gè)初始并行組,包括:
11、基于初始芯片組的分組參數(shù)g,對(duì)初始芯片組內(nèi)的芯片進(jìn)行分組,得到初始芯片組對(duì)應(yīng)的t個(gè)目標(biāo)并行組;初始芯片組對(duì)應(yīng)的每個(gè)目標(biāo)并行組均包括g個(gè)目標(biāo)型號(hào)的芯片,t與g的乘積為s;
12、當(dāng)獲取到m個(gè)初始芯片組分別對(duì)應(yīng)的目標(biāo)并行組時(shí),將m個(gè)初始芯片組分別對(duì)應(yīng)的目標(biāo)并行組確定為n個(gè)初始并行組;n個(gè)初始并行組包括t個(gè)目標(biāo)并行組。
13、其中,基于n個(gè)初始并行組的平均算力系數(shù)和n個(gè)初始并行組分別對(duì)應(yīng)的組算力系數(shù),對(duì)每個(gè)初始并行組內(nèi)的芯片分別進(jìn)行分組,得到p個(gè)流水線(xiàn)并行組,包括:
14、獲取n個(gè)初始并行組的平均算力系數(shù),將組算力系數(shù)大于n個(gè)初始并行組的平均算力系數(shù)的初始并行組確定為q個(gè)待拆分組,基于學(xué)習(xí)參數(shù)量,對(duì)q個(gè)待拆分組內(nèi)的芯片分別進(jìn)行拆分,得到每個(gè)待拆分組分別對(duì)應(yīng)的已拆分組集合;q為正整數(shù),每個(gè)已拆分組集合中的已拆分組對(duì)應(yīng)的計(jì)算內(nèi)存均大于或等于學(xué)習(xí)參數(shù)量;
15、基于已拆分組集合和除q個(gè)待拆分組之外的n-q個(gè)初始并行組生成a個(gè)待定并行組集合,獲取a個(gè)待定并行組集合分別對(duì)應(yīng)的通信評(píng)估分值,將具有最大通信評(píng)估分值的待定并行組集合確定為p個(gè)流水線(xiàn)并行組;a為正整數(shù)。
16、其中,a個(gè)待定并行組集合包括待定并行組集合,待定并行組集合包括由已拆分組和初始并行組組成的l個(gè)待定并行組,i和l為正整數(shù);獲取a個(gè)待定并行組集合分別對(duì)應(yīng)的通信評(píng)估分值,包括:
17、獲取待定并行組集合中l(wèi)個(gè)待定并行組中芯片分別對(duì)應(yīng)的通信參數(shù)以及l(fā)個(gè)待定并行組分別對(duì)應(yīng)的組算力系數(shù);
18、將l個(gè)待定并行組中芯片的通信參數(shù)大于通信參數(shù)均值的芯片確定為第一芯片,將l個(gè)待定并行組中芯片的通信參數(shù)小于或者等于通信參數(shù)均值的芯片確定為第二芯片;通信參數(shù)均值是基于m個(gè)初始芯片組的芯片型號(hào)的通信參數(shù)所確定的;
19、獲取第一評(píng)估參數(shù)和第二評(píng)估參數(shù),基于第一評(píng)估參數(shù)和包括第一芯片的待定并行組的組算力系數(shù)生成流水線(xiàn)并行評(píng)估分值,基于第二評(píng)估參數(shù)和包括第二芯片的待定并行組的組算力系數(shù)生成數(shù)據(jù)并行評(píng)估分值,將流水線(xiàn)并行評(píng)估分值和數(shù)據(jù)并行評(píng)估分值之和確定為待定并行組集合的通信評(píng)估分值。
20、其中,p個(gè)流水線(xiàn)并行組包括流水線(xiàn)并行組,流水線(xiàn)并行組包括s個(gè)目標(biāo)型號(hào)的芯片,s為正整數(shù);方法還包括:
21、獲取目標(biāo)型號(hào)的芯片的業(yè)務(wù)算力參數(shù)、存儲(chǔ)參數(shù)、帶寬參數(shù)和通信參數(shù);
22、基于流水線(xiàn)并行組的卡數(shù)s和通信參數(shù)生成組內(nèi)通信系數(shù),基于目標(biāo)型號(hào)的芯片的業(yè)務(wù)算力參數(shù)、存儲(chǔ)參數(shù)、帶寬參數(shù)和流水線(xiàn)并行組的卡數(shù)s生成業(yè)務(wù)算力系數(shù),將組內(nèi)通信系數(shù)與業(yè)務(wù)算力系數(shù)之和確定為流水線(xiàn)并行組的組算力系數(shù)。
23、其中,基于p個(gè)流水線(xiàn)并行組的平均算力系數(shù)、初始模型的網(wǎng)絡(luò)層數(shù)和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),對(duì)p個(gè)流水線(xiàn)并行組進(jìn)行分組組合,得到d個(gè)數(shù)據(jù)并行組以及d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量,包括:
24、獲取初始模型的初始微批次數(shù)值,基于初始微批次數(shù)值生成針對(duì)p個(gè)流水線(xiàn)并行組的平均算力系數(shù)的目標(biāo)任務(wù)時(shí)長(zhǎng);初始微批次數(shù)值是基于初始模型的任務(wù)領(lǐng)域所確定的;
25、基于初始微批次數(shù)值和樣本總量,生成數(shù)據(jù)并行分組參數(shù),基于目標(biāo)任務(wù)時(shí)長(zhǎng)和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),生成d個(gè)選擇系數(shù)列表以及d個(gè)分配并行組分別對(duì)應(yīng)的初始樣本輸入量;每個(gè)選擇系數(shù)列表均包括p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的選擇系數(shù),流水線(xiàn)并行組的選擇系數(shù)用于指示流水線(xiàn)并行組與分配并行組的選擇映射關(guān)系;d為數(shù)據(jù)并行分組參數(shù);
26、根據(jù)選擇系數(shù)列表中的選擇系數(shù),將p個(gè)流水線(xiàn)并行組分配至對(duì)應(yīng)的分配并行組,得到包含流水線(xiàn)并行組的d個(gè)過(guò)渡并行組;
27、基于負(fù)載均衡條件、目標(biāo)任務(wù)時(shí)長(zhǎng)、d個(gè)過(guò)渡并行組、d個(gè)初始樣本輸入量和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),生成d個(gè)過(guò)渡并行組中每個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的層數(shù)參數(shù),以及d個(gè)過(guò)渡并行組分別對(duì)應(yīng)的過(guò)渡樣本輸入量,將包含層數(shù)參數(shù)的d個(gè)過(guò)渡并行組確定為d個(gè)數(shù)據(jù)并行組,將d個(gè)過(guò)渡并行組分別對(duì)應(yīng)的過(guò)渡樣本輸入量確定為d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量。
28、其中,d個(gè)分配并行組包括分配并行組,i為正整數(shù);基于目標(biāo)任務(wù)時(shí)長(zhǎng)和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),生成選擇系數(shù)列表以及d個(gè)分配并行組分別對(duì)應(yīng)的初始樣本輸入量,包括:
29、獲取分配并行組對(duì)應(yīng)的p個(gè)待定選擇參數(shù),將p個(gè)待定選擇參數(shù)與p個(gè)待定選擇參數(shù)對(duì)應(yīng)的組算力系數(shù)之間的乘積,確定為p個(gè)第一負(fù)載參數(shù),基于p個(gè)第一負(fù)載參數(shù)生成第二負(fù)載參數(shù);p個(gè)待定選擇參數(shù)分別與p個(gè)流水線(xiàn)并行組一一對(duì)應(yīng);
30、獲取分配并行組對(duì)應(yīng)的待定樣本參數(shù),將第二負(fù)載參數(shù)與待定樣本參數(shù)之間的比值確定為待定任務(wù)時(shí)長(zhǎng),調(diào)整p個(gè)待定選擇參數(shù)和待定樣本參數(shù),得到h個(gè)第一參數(shù)集合;h為正整數(shù),每個(gè)第一參數(shù)集合均包括p個(gè)待定選擇參數(shù)的參數(shù)值和待定樣本參數(shù)的參數(shù)值;
31、將滿(mǎn)足比值最大條件的一個(gè)或多個(gè)第一參數(shù)集合確定為第二參數(shù)集合,將包含最小的待定樣本參數(shù)的第二參數(shù)集合確定為目標(biāo)分配參數(shù)集合,將目標(biāo)分配參數(shù)集合中的待定樣本參數(shù)的參數(shù)值確定為分配并行組對(duì)應(yīng)的初始樣本輸入量,將目標(biāo)分配參數(shù)集合中的p個(gè)待定選擇參數(shù)的參數(shù)值確定為分配并行組對(duì)應(yīng)的選擇系數(shù)列表;比值最大條件是指目標(biāo)任務(wù)時(shí)長(zhǎng)與待定任務(wù)時(shí)長(zhǎng)之間的比值達(dá)到最大值的條件。
32、其中,d個(gè)過(guò)渡并行組包括過(guò)渡并行組,過(guò)渡并行組包括c個(gè)流水線(xiàn)并行組,i和c均為正整數(shù);基于負(fù)載均衡條件、目標(biāo)任務(wù)時(shí)長(zhǎng)、d個(gè)過(guò)渡并行組、d個(gè)初始樣本輸入量和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),生成d個(gè)過(guò)渡并行組中每個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的層數(shù)參數(shù),以及d個(gè)過(guò)渡并行組分別對(duì)應(yīng)的過(guò)渡樣本輸入量,包括:
33、基于c個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù)生成針對(duì)過(guò)渡并行組的c個(gè)待定層數(shù)參數(shù),將每個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的待定層數(shù)參數(shù)與對(duì)應(yīng)的組算力系數(shù)之間的乘積,確定為第三負(fù)載參數(shù);
34、基于過(guò)渡并行組對(duì)應(yīng)的初始樣本輸入量確定目標(biāo)樣本參數(shù),將第三負(fù)載參數(shù)與目標(biāo)樣本參數(shù)的乘積確定為第四負(fù)載參數(shù);
35、基于負(fù)載均衡條件,調(diào)整c個(gè)待定層數(shù)參數(shù)和目標(biāo)樣本參數(shù),得到r個(gè)第三參數(shù)集合;r為正整數(shù),每個(gè)第三參數(shù)集合均包括c個(gè)待定層數(shù)參數(shù)的參數(shù)值和目標(biāo)樣本參數(shù)的參數(shù)值;
36、將滿(mǎn)足乘積最大條件的一個(gè)或多個(gè)的第三參數(shù)集合確定為第四參數(shù)集合,將包含最小的目標(biāo)樣本參數(shù)的第四參數(shù)集合確定為目標(biāo)過(guò)渡參數(shù)集合,將目標(biāo)過(guò)渡參數(shù)集合中的目標(biāo)樣本參數(shù)的參數(shù)值確定為過(guò)渡并行組對(duì)應(yīng)的過(guò)渡樣本輸入量,將目標(biāo)過(guò)渡參數(shù)集合中的c個(gè)待定層數(shù)參數(shù)的參數(shù)值確定為過(guò)渡并行組中每個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的層數(shù)參數(shù);乘積最大條件是指第四負(fù)載參數(shù)與目標(biāo)任務(wù)時(shí)長(zhǎng)的乘積達(dá)到最大值的條件。
37、其中,還包括:
38、基于d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量,對(duì)訓(xùn)練樣本集合進(jìn)行劃分,得到每個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的訓(xùn)練樣本組;
39、基于訓(xùn)練樣本組對(duì)每個(gè)數(shù)據(jù)并行組所配置的初始模型并行進(jìn)行模型訓(xùn)練,得到每個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的子模型參數(shù),基于每個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的子模型參數(shù),生成目標(biāo)模型。
40、本技術(shù)實(shí)施例一方面提供了一種數(shù)據(jù)處理裝置,包括:
41、芯片獲取模塊,用于獲取m個(gè)初始芯片組;m為正整數(shù),一個(gè)初始芯片組內(nèi)的芯片型號(hào)均相同,每個(gè)初始芯片組之間的芯片型號(hào)互不相同;
42、流水線(xiàn)并行分組模塊,用于基于初始模型中單個(gè)網(wǎng)絡(luò)層對(duì)應(yīng)的學(xué)習(xí)參數(shù)量以及m個(gè)初始芯片組的芯片型號(hào),對(duì)每個(gè)初始芯片組內(nèi)的芯片分別進(jìn)行分組,得到p個(gè)流水線(xiàn)并行組;p為正整數(shù),一個(gè)流水線(xiàn)并行組內(nèi)的芯片型號(hào)均相同,每個(gè)流水線(xiàn)并行組對(duì)應(yīng)的計(jì)算內(nèi)存均大于或等于學(xué)習(xí)參數(shù)量;
43、數(shù)據(jù)并行分組模塊,用于基于負(fù)載均衡條件、p個(gè)流水線(xiàn)并行組的平均算力系數(shù)、初始模型的網(wǎng)絡(luò)層數(shù)和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),對(duì)p個(gè)流水線(xiàn)并行組進(jìn)行分組組合,得到d個(gè)數(shù)據(jù)并行組以及d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量;d為小于p的正整數(shù),每個(gè)數(shù)據(jù)并行組對(duì)應(yīng)的計(jì)算內(nèi)存大于或等于初始模型的總學(xué)習(xí)參數(shù)量;d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量所指示的輸入樣本,用于對(duì)在對(duì)應(yīng)的數(shù)據(jù)并行組上所配置的初始模型并行進(jìn)行模型訓(xùn)練。
44、在一種可能的實(shí)現(xiàn)方式中,p個(gè)流水線(xiàn)并行組包括流水線(xiàn)并行組,流水線(xiàn)并行組包括s個(gè)芯片,s為正整數(shù);流水線(xiàn)并行組中的每個(gè)芯片均用于通過(guò)張量并行對(duì)初始模型的網(wǎng)絡(luò)層進(jìn)行模型訓(xùn)練,s個(gè)芯片所分配的網(wǎng)絡(luò)層的參數(shù)量均相等。
45、在一種可能的實(shí)現(xiàn)方式中,流水線(xiàn)并行分組模塊用于基于初始模型中單個(gè)網(wǎng)絡(luò)層對(duì)應(yīng)的學(xué)習(xí)參數(shù)量以及m個(gè)初始芯片組的芯片型號(hào),對(duì)每個(gè)初始芯片組內(nèi)的芯片分別進(jìn)行分組,得到p個(gè)流水線(xiàn)并行組時(shí),具體用于執(zhí)行以下操作:
46、基于初始模型中單個(gè)網(wǎng)絡(luò)層對(duì)應(yīng)的學(xué)習(xí)參數(shù)量以及m個(gè)初始芯片組的芯片型號(hào),生成m個(gè)初始芯片組分別對(duì)應(yīng)的初始分組參數(shù);m個(gè)初始分組參數(shù)均大于或等于2;
47、基于m個(gè)初始分組參數(shù),對(duì)每個(gè)初始芯片組內(nèi)的芯片分別進(jìn)行分組,得到n個(gè)初始并行組,基于n個(gè)初始并行組的平均算力系數(shù)和n個(gè)初始并行組分別對(duì)應(yīng)的組算力系數(shù),對(duì)每個(gè)初始并行組內(nèi)的芯片分別進(jìn)行分組,得到p個(gè)流水線(xiàn)并行組;n為正整數(shù),n大于m,且n小于或等于p。
48、在一種可能的實(shí)現(xiàn)方式中,m個(gè)初始芯片組包括初始芯片組,初始芯片組包括s個(gè)目標(biāo)型號(hào)的芯片,初始芯片組對(duì)應(yīng)的分組參數(shù)為g,g、s和i均為正整數(shù);流水線(xiàn)并行分組用于基于m個(gè)初始分組參數(shù),對(duì)每個(gè)初始芯片組內(nèi)的芯片分別進(jìn)行分組,得到n個(gè)初始并行組,時(shí),具體用于執(zhí)行以下操作:
49、基于初始芯片組的分組參數(shù)g,對(duì)初始芯片組內(nèi)的芯片進(jìn)行分組,得到初始芯片組對(duì)應(yīng)的t個(gè)目標(biāo)并行組;初始芯片組對(duì)應(yīng)的每個(gè)目標(biāo)并行組均包括g個(gè)目標(biāo)型號(hào)的芯片,t與g的乘積為s;
50、當(dāng)獲取到m個(gè)初始芯片組分別對(duì)應(yīng)的目標(biāo)并行組時(shí),將m個(gè)初始芯片組分別對(duì)應(yīng)的目標(biāo)并行組確定為n個(gè)初始并行組;n個(gè)初始并行組包括t個(gè)目標(biāo)并行組。
51、在一種可能的實(shí)現(xiàn)方式中,流水線(xiàn)并行分組模塊用于基于n個(gè)初始并行組的平均算力系數(shù)和n個(gè)初始并行組分別對(duì)應(yīng)的組算力系數(shù),對(duì)每個(gè)初始并行組內(nèi)的芯片分別進(jìn)行分組,得到p個(gè)流水線(xiàn)并行組時(shí),具體用于執(zhí)行以下操作:
52、獲取n個(gè)初始并行組的平均算力系數(shù),將組算力系數(shù)大于n個(gè)初始并行組的平均算力系數(shù)的初始并行組確定為q個(gè)待拆分組,基于學(xué)習(xí)參數(shù)量,對(duì)q個(gè)待拆分組內(nèi)的芯片分別進(jìn)行拆分,得到每個(gè)待拆分組分別對(duì)應(yīng)的已拆分組集合;q為正整數(shù),每個(gè)已拆分組集合中的已拆分組對(duì)應(yīng)的計(jì)算內(nèi)存均大于或等于學(xué)習(xí)參數(shù)量;
53、基于已拆分組集合和除q個(gè)待拆分組之外的n-q個(gè)初始并行組生成a個(gè)待定并行組集合,獲取a個(gè)待定并行組集合分別對(duì)應(yīng)的通信評(píng)估分值,將具有最大通信評(píng)估分值的待定并行組集合確定為p個(gè)流水線(xiàn)并行組;a為正整數(shù)。
54、在一種可能的實(shí)現(xiàn)方式中,a個(gè)待定并行組集合包括待定并行組集合,待定并行組集合包括由已拆分組和初始并行組組成的l個(gè)待定并行組,i和l為正整數(shù);流水線(xiàn)并行分組模塊用于獲取a個(gè)待定并行組集合分別對(duì)應(yīng)的通信評(píng)估分值時(shí),具體用于執(zhí)行以下操作:
55、獲取待定并行組集合中l(wèi)個(gè)待定并行組中芯片分別對(duì)應(yīng)的通信參數(shù)以及l(fā)個(gè)待定并行組分別對(duì)應(yīng)的組算力系數(shù);
56、將l個(gè)待定并行組中芯片的通信參數(shù)大于通信參數(shù)均值的芯片確定為第一芯片,將l個(gè)待定并行組中芯片的通信參數(shù)小于或者等于通信參數(shù)均值的芯片確定為第二芯片;通信參數(shù)均值是基于m個(gè)初始芯片組的芯片型號(hào)的通信參數(shù)所確定的;
57、獲取第一評(píng)估參數(shù)和第二評(píng)估參數(shù),基于第一評(píng)估參數(shù)和包括第一芯片的待定并行組的組算力系數(shù)生成流水線(xiàn)并行評(píng)估分值,基于第二評(píng)估參數(shù)和包括第二芯片的待定并行組的組算力系數(shù)生成數(shù)據(jù)并行評(píng)估分值,將流水線(xiàn)并行評(píng)估分值和數(shù)據(jù)并行評(píng)估分值之和確定為待定并行組集合的通信評(píng)估分值。
58、在一種可能的實(shí)現(xiàn)方式中,p個(gè)流水線(xiàn)并行組包括流水線(xiàn)并行組,流水線(xiàn)并行組包括s個(gè)目標(biāo)型號(hào)的芯片,s為正整數(shù);流水線(xiàn)并行分組模塊還用于執(zhí)行以下操作:
59、獲取目標(biāo)型號(hào)的芯片的業(yè)務(wù)算力參數(shù)、存儲(chǔ)參數(shù)、帶寬參數(shù)和通信參數(shù);
60、基于流水線(xiàn)并行組的卡數(shù)s和通信參數(shù)生成組內(nèi)通信系數(shù),基于目標(biāo)型號(hào)的芯片的業(yè)務(wù)算力參數(shù)、存儲(chǔ)參數(shù)、帶寬參數(shù)和流水線(xiàn)并行組的卡數(shù)s生成業(yè)務(wù)算力系數(shù),將組內(nèi)通信系數(shù)與業(yè)務(wù)算力系數(shù)之和確定為流水線(xiàn)并行組的組算力系數(shù)。
61、在一種可能的實(shí)現(xiàn)方式中,數(shù)據(jù)并行分組模塊用于基于p個(gè)流水線(xiàn)并行組的平均算力系數(shù)、初始模型的網(wǎng)絡(luò)層數(shù)和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),對(duì)p個(gè)流水線(xiàn)并行組進(jìn)行分組組合,得到d個(gè)數(shù)據(jù)并行組以及d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量時(shí),具體用于執(zhí)行以下操作:
62、獲取初始模型的初始微批次數(shù)值,基于初始微批次數(shù)值生成針對(duì)p個(gè)流水線(xiàn)并行組的平均算力系數(shù)的目標(biāo)任務(wù)時(shí)長(zhǎng);初始微批次數(shù)值是基于初始模型的任務(wù)領(lǐng)域所確定的;
63、基于初始微批次數(shù)值和樣本總量,生成數(shù)據(jù)并行分組參數(shù),基于目標(biāo)任務(wù)時(shí)長(zhǎng)和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),生成d個(gè)選擇系數(shù)列表以及d個(gè)分配并行組分別對(duì)應(yīng)的初始樣本輸入量;每個(gè)選擇系數(shù)列表均包括p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的選擇系數(shù),流水線(xiàn)并行組的選擇系數(shù)用于指示流水線(xiàn)并行組與分配并行組的選擇映射關(guān)系;d為數(shù)據(jù)并行分組參數(shù);
64、根據(jù)選擇系數(shù)列表中的選擇系數(shù),將p個(gè)流水線(xiàn)并行組分配至對(duì)應(yīng)的分配并行組,得到包含流水線(xiàn)并行組的d個(gè)過(guò)渡并行組;
65、基于目標(biāo)任務(wù)時(shí)長(zhǎng)、d個(gè)過(guò)渡并行組、d個(gè)初始樣本輸入量和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),生成d個(gè)過(guò)渡并行組中每個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的層數(shù)參數(shù),以及d個(gè)過(guò)渡并行組分別對(duì)應(yīng)的過(guò)渡樣本輸入量將包含層數(shù)參數(shù)的d個(gè)過(guò)渡并行組確定為d個(gè)數(shù)據(jù)并行組,將d個(gè)過(guò)渡并行組分別對(duì)應(yīng)的過(guò)渡樣本輸入量確定為d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量。
66、在一種可能的實(shí)現(xiàn)方式中,d個(gè)分配并行組包括分配并行組,i為正整數(shù);數(shù)據(jù)并行分組模塊用于基于目標(biāo)任務(wù)時(shí)長(zhǎng)和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),生成選擇系數(shù)列表以及d個(gè)分配并行組分別對(duì)應(yīng)的初始樣本輸入量時(shí),具體用于執(zhí)行以下操作:
67、獲取分配并行組對(duì)應(yīng)的p個(gè)待定選擇參數(shù),將p個(gè)待定選擇參數(shù)與p個(gè)待定選擇參數(shù)對(duì)應(yīng)的組算力系數(shù)之間的乘積,確定為p個(gè)第一負(fù)載參數(shù),基于p個(gè)第一負(fù)載參數(shù)生成第二負(fù)載參數(shù);p個(gè)待定選擇參數(shù)分別與p個(gè)流水線(xiàn)并行組一一對(duì)應(yīng);
68、獲取分配并行組對(duì)應(yīng)的待定樣本參數(shù),將第二負(fù)載參數(shù)與待定樣本參數(shù)之間的比值確定為待定任務(wù)時(shí)長(zhǎng),調(diào)整p個(gè)待定選擇參數(shù)和待定樣本參數(shù),得到h個(gè)第一參數(shù)集合;h為正整數(shù),每個(gè)第一參數(shù)集合均包括p個(gè)待定選擇參數(shù)的參數(shù)值和待定樣本參數(shù)的參數(shù)值;
69、將滿(mǎn)足比值最大條件的一個(gè)或多個(gè)第一參數(shù)集合確定為第二參數(shù)集合,將包含最小的待定樣本參數(shù)的第二參數(shù)集合確定為目標(biāo)分配參數(shù)集合,將目標(biāo)分配參數(shù)集合中的待定樣本參數(shù)的參數(shù)值確定為分配并行組對(duì)應(yīng)的初始樣本輸入量,將目標(biāo)分配參數(shù)集合中的p個(gè)待定選擇參數(shù)的參數(shù)值確定為分配并行組對(duì)應(yīng)的選擇系數(shù)列表;比值最大條件是指目標(biāo)任務(wù)時(shí)長(zhǎng)與待定任務(wù)時(shí)長(zhǎng)之間的比值達(dá)到最大值的條件。
70、在一種可能的實(shí)現(xiàn)方式中,d個(gè)過(guò)渡并行組包括過(guò)渡并行組,過(guò)渡并行組包括c個(gè)流水線(xiàn)并行組,i和c均為正整數(shù);數(shù)據(jù)并行分組模塊用于基于負(fù)載均衡條件、目標(biāo)任務(wù)時(shí)長(zhǎng)、d個(gè)過(guò)渡并行組、d個(gè)初始樣本輸入量和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),生成d個(gè)過(guò)渡并行組中每個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的層數(shù)參數(shù),以及d個(gè)過(guò)渡并行組分別對(duì)應(yīng)的過(guò)渡樣本輸入量時(shí),具體用于執(zhí)行以下操作:
71、基于c個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù)生成針對(duì)過(guò)渡并行組的c個(gè)待定層數(shù)參數(shù),將每個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的待定層數(shù)參數(shù)與對(duì)應(yīng)的組算力系數(shù)之間的乘積,確定為第三負(fù)載參數(shù);
72、基于過(guò)渡并行組對(duì)應(yīng)的初始樣本輸入量確定目標(biāo)樣本參數(shù),將第三負(fù)載參數(shù)與目標(biāo)樣本參數(shù)的乘積確定為第四負(fù)載參數(shù);
73、基于負(fù)載均衡條件,調(diào)整c個(gè)待定層數(shù)參數(shù)和目標(biāo)樣本參數(shù),得到r個(gè)第三參數(shù)集合;r為正整數(shù),每個(gè)第三參數(shù)集合均包括c個(gè)待定層數(shù)參數(shù)的參數(shù)值和目標(biāo)樣本參數(shù)的參數(shù)值;
74、將滿(mǎn)足乘積最大條件的一個(gè)或多個(gè)的第三參數(shù)集合確定為第四參數(shù)集合,將包含最小的目標(biāo)樣本參數(shù)的第四參數(shù)集合確定為目標(biāo)過(guò)渡參數(shù)集合,將目標(biāo)過(guò)渡參數(shù)集合中的目標(biāo)樣本參數(shù)確定為過(guò)渡并行組對(duì)應(yīng)的過(guò)渡樣本輸入量,將目標(biāo)過(guò)渡參數(shù)集合中的c個(gè)待定層數(shù)參數(shù)確定為過(guò)渡并行組中每個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的層數(shù)參數(shù);乘積最大條件是指第四負(fù)載參數(shù)與目標(biāo)任務(wù)時(shí)長(zhǎng)的乘積達(dá)到最大值的條件。
75、在一種可能的實(shí)現(xiàn)方式中,數(shù)據(jù)并行分組模塊還用于執(zhí)行以下操作:
76、基于d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量,對(duì)訓(xùn)練樣本集合進(jìn)行劃分,得到每個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的訓(xùn)練樣本組;
77、基于訓(xùn)練樣本組對(duì)每個(gè)數(shù)據(jù)并行組所配置的初始模型并行進(jìn)行模型訓(xùn)練,得到每個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的子模型參數(shù),基于每個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的子模型參數(shù),生成目標(biāo)模型。
78、本技術(shù)實(shí)施例一方面提供了一種計(jì)算機(jī)設(shè)備,包括:處理器、存儲(chǔ)器以及網(wǎng)絡(luò)接口;
79、處理器與存儲(chǔ)器、網(wǎng)絡(luò)接口相連,其中,網(wǎng)絡(luò)接口用于提供數(shù)據(jù)通信功能,存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí),使得該計(jì)算機(jī)設(shè)備執(zhí)行本技術(shù)實(shí)施例提供的方法。
80、本技術(shù)實(shí)施例一方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序適于由處理器加載并執(zhí)行,以使得具有該處理器的計(jì)算機(jī)設(shè)備執(zhí)行本技術(shù)實(shí)施例提供的方法。
81、本技術(shù)實(shí)施例一方面提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。計(jì)算機(jī)設(shè)備的處理器從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)讀取該計(jì)算機(jī)程序,處理器執(zhí)行該計(jì)算機(jī)程序,使得該計(jì)算機(jī)設(shè)備執(zhí)行本技術(shù)實(shí)施例提供的方法。
82、本技術(shù)實(shí)施例通過(guò)芯片型號(hào)對(duì)所有芯片進(jìn)行分組,得到組內(nèi)均為同種芯片型號(hào)的初始芯片組,每個(gè)初始芯片組之間的芯片型號(hào)互不相同,基于初始模型中單個(gè)網(wǎng)絡(luò)層對(duì)應(yīng)的學(xué)習(xí)參數(shù)量以及m個(gè)初始芯片組的芯片型號(hào),對(duì)每個(gè)初始芯片組內(nèi)的芯片分別進(jìn)行分組,得到p個(gè)流水線(xiàn)并行組。一個(gè)流水線(xiàn)并行組內(nèi)的芯片型號(hào)均相同,每個(gè)流水線(xiàn)并行組對(duì)應(yīng)的計(jì)算內(nèi)存均大于或等于學(xué)習(xí)參數(shù)量,通過(guò)相同芯片型號(hào)的芯片進(jìn)行張量并行訓(xùn)練初始模型的網(wǎng)絡(luò)層,基于負(fù)載均衡條件、p個(gè)流水線(xiàn)并行組的平均算力系數(shù)、初始模型的網(wǎng)絡(luò)層數(shù)和p個(gè)流水線(xiàn)并行組分別對(duì)應(yīng)的組算力系數(shù),對(duì)p個(gè)流水線(xiàn)并行組進(jìn)行分組組合,得到d個(gè)數(shù)據(jù)并行組以及d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量。其中,d個(gè)數(shù)據(jù)并行組分別對(duì)應(yīng)的樣本輸入量所指示的輸入樣本,用于對(duì)在對(duì)應(yīng)的數(shù)據(jù)并行組上所配置的初始模型并行進(jìn)行模型訓(xùn)練,d個(gè)數(shù)據(jù)并行組之間滿(mǎn)足負(fù)載均衡條件。其中,數(shù)據(jù)并行是指將相同的初始模型配置到多個(gè)數(shù)據(jù)并行組上,然后每個(gè)數(shù)據(jù)并行組獨(dú)立處理各自的輸入樣本,并最終聚合起來(lái)整合所有模型參數(shù)。本技術(shù)實(shí)施例通過(guò)由相同芯片型號(hào)的芯片組成的流水線(xiàn)并行組,確定每個(gè)流水線(xiàn)并行組的平均算力系數(shù)和組算力系數(shù),基于算力等價(jià)的思想,對(duì)流水線(xiàn)并行組進(jìn)行分組組合,得到數(shù)據(jù)并行組,并為每個(gè)數(shù)據(jù)并行組分配算力等價(jià)的任務(wù)負(fù)載,在保證每個(gè)數(shù)據(jù)并行組對(duì)應(yīng)的計(jì)算內(nèi)存大于或等于初始模型的總學(xué)習(xí)參數(shù)量的同時(shí),通過(guò)數(shù)據(jù)并行組在樣本輸入大小的維度對(duì)初始模型的任務(wù)負(fù)載進(jìn)行拆分,確定數(shù)據(jù)并行組對(duì)應(yīng)的樣本輸入量,使得每個(gè)數(shù)據(jù)并行組的負(fù)載均衡,從而提高混合部署的芯片的計(jì)算資源的利用率,以及提高模型的訓(xùn)練效率。