本技術(shù)實(shí)施例涉及人工智能領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及相關(guān)設(shè)備。
背景技術(shù):
1、人工智能(artificial?intelligence,ai)是利用數(shù)字計(jì)算機(jī)或者數(shù)字計(jì)算機(jī)控制的機(jī)器模擬、延伸和擴(kuò)展人的智能,感知環(huán)境、獲取知識(shí)并使用知識(shí)獲得最佳結(jié)果的理論、方法、技術(shù)及應(yīng)用系統(tǒng)。換句話說,人工智能是計(jì)算機(jī)科學(xué)的一個(gè)分支,它企圖了解智能的實(shí)質(zhì),并生產(chǎn)出一種新的能以人類智能相似的方式作出反應(yīng)的智能機(jī)器。人工智能也就是研究各種智能機(jī)器的設(shè)計(jì)原理與實(shí)現(xiàn)方法,使機(jī)器具有感知、推理與決策的功能。人工智能領(lǐng)域的研究包括機(jī)器人,自然語(yǔ)言處理,計(jì)算機(jī)視覺,決策與推理,人機(jī)交互,推薦與搜索,ai基礎(chǔ)理論等。
2、目前,模型訓(xùn)練是推薦系統(tǒng)的關(guān)鍵組成部分,模型訓(xùn)練產(chǎn)出優(yōu)質(zhì)模型,應(yīng)用于線上推理排序,支持業(yè)務(wù)應(yīng)用。模型訓(xùn)練產(chǎn)出的模型效果越好收入越高,對(duì)于頭部的互聯(lián)網(wǎng)公司,推薦質(zhì)量每提升百分之一,就可以帶來(lái)數(shù)十億的收入增加。模型越大效果越好,頭部互聯(lián)網(wǎng)公司的推薦模型越來(lái)越大。大推薦模型的巨大參數(shù)量導(dǎo)致訪存和網(wǎng)絡(luò)通信日益成為系統(tǒng)瓶頸。當(dāng)前業(yè)界通過給訓(xùn)練卡增加高速互聯(lián)帶寬并提供集合通信庫(kù)。硬件配合集合通信庫(kù),提高通信能力成為提高訓(xùn)練吞吐的關(guān)鍵。
3、然而,推薦系統(tǒng)中的推薦特征呈冪律分布,且超80%的特征都是高頻熱點(diǎn)特征。當(dāng)前網(wǎng)絡(luò)通信中數(shù)據(jù)有大量冗余,浪費(fèi)大量帶寬。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供了一種一種數(shù)據(jù)處理方法及相關(guān)設(shè)備??梢蕴嵘鄼C(jī)多卡訓(xùn)練場(chǎng)景下模型的訓(xùn)練/推理效率。
2、本技術(shù)實(shí)施例第一方面提供了一種數(shù)據(jù)處理方法,可以應(yīng)用于多機(jī)多卡訓(xùn)練等場(chǎng)景。該方法可以由第一設(shè)備執(zhí)行,也可以由第一設(shè)備的部件(例如處理器、芯片、或芯片系統(tǒng)等)執(zhí)行。該方法應(yīng)用于第一設(shè)備,第一設(shè)備包括多個(gè)第一加速卡,方法包括:獲取來(lái)自多個(gè)第一加速卡的多個(gè)第一數(shù)據(jù),多個(gè)第一數(shù)據(jù)包括模型的樣本特征與特征標(biāo)識(shí),多個(gè)第一數(shù)據(jù)為跨數(shù)據(jù)面?zhèn)鬏數(shù)臄?shù)據(jù);基于特征標(biāo)識(shí)對(duì)多個(gè)第一數(shù)據(jù)進(jìn)行去重處理以得到多個(gè)第二數(shù)據(jù);基于特征標(biāo)識(shí)與映射關(guān)系向交換設(shè)備發(fā)送多個(gè)第二數(shù)據(jù),映射關(guān)系用于表示特征標(biāo)識(shí)與多個(gè)第二設(shè)備中第二加速卡的關(guān)聯(lián)關(guān)系。
3、本技術(shù)實(shí)施例中,在模型對(duì)應(yīng)樣本特征的傳輸過程中,第一設(shè)備通過向交換設(shè)備發(fā)送去重后的第二數(shù)據(jù),可以減少跨平面?zhèn)鬏斨貜?fù)的特征數(shù)據(jù),進(jìn)而提升模型的訓(xùn)練/推理效率。
4、可選地,在第一方面的一種可能的實(shí)現(xiàn)方式中,上述的特征標(biāo)識(shí)包括第一比特位與第二比特位,第一比特位用于多個(gè)第一數(shù)據(jù)的去重,第二比特位用于確定與第二數(shù)據(jù)相關(guān)的第二加速卡。
5、該種可能的實(shí)現(xiàn)方式中,該特征標(biāo)識(shí)可以用于數(shù)據(jù)去重與接收方加速卡的確定,進(jìn)而減少數(shù)據(jù)重復(fù)的傳輸。
6、可選地,在第一方面的一種可能的實(shí)現(xiàn)方式中,上述的多個(gè)第二數(shù)據(jù)中沒有相同第一比特位的兩個(gè)第二數(shù)據(jù)。
7、該種可能的實(shí)現(xiàn)方式中,通過去重處理后的第二數(shù)據(jù)中沒有相同第一別特為的兩個(gè)第二數(shù)據(jù),即減少相同第一數(shù)據(jù)的傳輸,節(jié)省帶寬。
8、可選地,在第一方面的一種可能的實(shí)現(xiàn)方式中,上述方法還包括:接收來(lái)自交換設(shè)備的第五數(shù)據(jù),第五數(shù)據(jù)包括第二設(shè)備獲取的模型對(duì)應(yīng)損失函數(shù)的梯度與梯度標(biāo)識(shí);基于第五數(shù)據(jù)更新模型。
9、該種可能的實(shí)現(xiàn)方式中,第一設(shè)備還可以通過交換設(shè)備接收梯度數(shù)據(jù),進(jìn)而實(shí)現(xiàn)聯(lián)合訓(xùn)練模型的過程。
10、本技術(shù)實(shí)施例第二方面提供了一種數(shù)據(jù)處理方法,可以應(yīng)用于多機(jī)多卡訓(xùn)練等場(chǎng)景。該方法可以由交換設(shè)備執(zhí)行,也可以由交換設(shè)備的部件(例如處理器、芯片、或芯片系統(tǒng)等)執(zhí)行。該方法包括:接收來(lái)自第一設(shè)備去重后的多個(gè)第二數(shù)據(jù),多個(gè)第二數(shù)據(jù)包括模型的樣本特征與特征標(biāo)識(shí),多個(gè)第二數(shù)據(jù)為跨數(shù)據(jù)面?zhèn)鬏數(shù)臄?shù)據(jù);基于特征標(biāo)識(shí)拆分多個(gè)第二數(shù)據(jù)以得到多個(gè)第三數(shù)據(jù);基于特征標(biāo)識(shí)與映射關(guān)系分別向多個(gè)第二設(shè)備發(fā)送多個(gè)第三數(shù)據(jù),映射關(guān)系用于表示特征標(biāo)識(shí)與多個(gè)第二設(shè)備中第二加速卡的關(guān)聯(lián)關(guān)系。
11、本技術(shù)實(shí)施例中,交換機(jī)設(shè)備在轉(zhuǎn)發(fā)模型對(duì)應(yīng)樣本特征的傳輸過程中,通過接收去重后的數(shù)據(jù),并基于特征標(biāo)識(shí)對(duì)數(shù)據(jù)進(jìn)行拆分(即分片分發(fā)),并分別向接收設(shè)備發(fā)送相應(yīng)數(shù)據(jù)。由于交換設(shè)備接收的是去重后的數(shù)據(jù),可以節(jié)省交換設(shè)備的帶寬,且提升傳輸效率。
12、可選地,在第二方面的一種可能的實(shí)現(xiàn)方式中,上述的特征標(biāo)識(shí)包括第一比特位與第二比特位,第一比特位用于多個(gè)第一數(shù)據(jù)的去重,第二比特位用于確定多個(gè)第三數(shù)據(jù)所屬第二設(shè)備的第二加速卡。
13、該種可能的實(shí)現(xiàn)方式中,該特征標(biāo)識(shí)可以用于數(shù)據(jù)去重與接收方加速卡的確定,進(jìn)而減少數(shù)據(jù)重復(fù)的傳輸。
14、可選地,在第二方面的一種可能的實(shí)現(xiàn)方式中,上述的多個(gè)第二數(shù)據(jù)中沒有相同第一比特位的兩個(gè)第二數(shù)據(jù)。
15、該種可能的實(shí)現(xiàn)方式中,通過去重處理后的第二數(shù)據(jù)中沒有相同第一別特為的兩個(gè)第二數(shù)據(jù),即減少相同第一數(shù)據(jù)的傳輸,節(jié)省帶寬。
16、可選地,在第二方面的一種可能的實(shí)現(xiàn)方式中,上述方法還包括:接收來(lái)自多個(gè)第二設(shè)備的多個(gè)第四數(shù)據(jù),多個(gè)第四數(shù)據(jù)包括損失函數(shù)的梯度與梯度標(biāo)識(shí),梯度用于更新模型的參數(shù),梯度標(biāo)識(shí)用于交換設(shè)備進(jìn)行梯度聚合;基于梯度標(biāo)識(shí)聚合多個(gè)第四數(shù)據(jù)以得到多個(gè)第五數(shù)據(jù),多個(gè)第五數(shù)據(jù)的數(shù)量少于多個(gè)第四數(shù)據(jù)的數(shù)量;基于梯度標(biāo)識(shí)與映射關(guān)系分別向多個(gè)第二設(shè)備發(fā)送多個(gè)第五數(shù)據(jù),第五數(shù)據(jù)用于更新梯度。
17、該種可能的實(shí)現(xiàn)方式中,交換設(shè)備可以根據(jù)梯度標(biāo)識(shí)對(duì)多個(gè)梯度數(shù)據(jù)進(jìn)行聚合,一方面減少數(shù)據(jù)傳輸,另一方面減少下游設(shè)備接收全量數(shù)據(jù)再聚合的步驟。
18、本技術(shù)實(shí)施例第三方面提供了一種數(shù)據(jù)處理方法,可以應(yīng)用于多機(jī)多卡訓(xùn)練等場(chǎng)景。該方法可以由第二設(shè)備執(zhí)行,也可以由第二設(shè)備的部件(例如處理器、芯片、或芯片系統(tǒng)等)執(zhí)行。該第二設(shè)備包括多個(gè)第二加速卡,方法包括:接收交換設(shè)備發(fā)送的的第三數(shù)據(jù),第三數(shù)據(jù)包括第一設(shè)備獲取的模型的樣本特征與特征標(biāo)識(shí);基于第三數(shù)據(jù)獲取第四數(shù)據(jù),第四數(shù)據(jù)包括損失函數(shù)的梯度與梯度標(biāo)識(shí),梯度用于更新模型的參數(shù),梯度標(biāo)識(shí)用于交換設(shè)備進(jìn)行梯度聚合;向交換設(shè)備發(fā)送第四數(shù)據(jù)。
19、本技術(shù)實(shí)施例中,在模型對(duì)應(yīng)樣本特征的傳輸過程中,第二設(shè)備可以通過接收交換設(shè)備發(fā)送的數(shù)據(jù)進(jìn)行梯度計(jì)算,并通過交換設(shè)備向第一設(shè)備發(fā)送梯度數(shù)據(jù),進(jìn)而第一設(shè)備可以實(shí)現(xiàn)模型的訓(xùn)練。
20、可選地,在第三方面的一種可能的實(shí)現(xiàn)方式中,上述的特征標(biāo)識(shí)還用于確定第三數(shù)據(jù)所屬的第二加速卡。
21、該種可能的實(shí)現(xiàn)方式中,該特征標(biāo)識(shí)可以用于確定接收方加速卡,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)的精準(zhǔn)傳輸。
22、本技術(shù)實(shí)施例第四方面提供了一種第一設(shè)備,該第一設(shè)備包括多個(gè)第一加速卡,第一設(shè)備包括:獲取單元,用于獲取來(lái)自多個(gè)第一加速卡的多個(gè)第一數(shù)據(jù),多個(gè)第一數(shù)據(jù)包括模型的樣本特征與特征標(biāo)識(shí),多個(gè)第一數(shù)據(jù)為跨數(shù)據(jù)面?zhèn)鬏數(shù)臄?shù)據(jù);去重單元,用于基于特征標(biāo)識(shí)對(duì)多個(gè)第一數(shù)據(jù)進(jìn)行去重處理以得到多個(gè)第二數(shù)據(jù);發(fā)送單元,用于基于特征標(biāo)識(shí)與映射關(guān)系向交換設(shè)備發(fā)送多個(gè)第二數(shù)據(jù),映射關(guān)系用于表示特征標(biāo)識(shí)與多個(gè)第二設(shè)備中第二加速卡的關(guān)聯(lián)關(guān)系。
23、可選地,在第四方面的一種可能的實(shí)現(xiàn)方式中,上述的特征標(biāo)識(shí)包括第一比特位與第二比特位,第一比特位用于多個(gè)第一數(shù)據(jù)的去重,第二比特位用于確定與第二數(shù)據(jù)相關(guān)的第二加速卡。
24、可選地,在第四方面的一種可能的實(shí)現(xiàn)方式中,上述的多個(gè)第二數(shù)據(jù)中沒有相同第一比特位的兩個(gè)第二數(shù)據(jù)。
25、可選地,在第四方面的一種可能的實(shí)現(xiàn)方式中,上述的第一設(shè)備還包括:接收單元,用于接收來(lái)自交換設(shè)備的第五數(shù)據(jù),第五數(shù)據(jù)包括第二設(shè)備獲取的模型對(duì)應(yīng)損失函數(shù)的梯度與梯度標(biāo)識(shí);更新單元,用于基于第五數(shù)據(jù)更新模型。
26、本技術(shù)實(shí)施例第五方面提供了一種交換設(shè)備,該交換設(shè)備包括:接收單元,用于接收來(lái)自第一設(shè)備去重后的多個(gè)第二數(shù)據(jù),多個(gè)第二數(shù)據(jù)包括模型的樣本特征與特征標(biāo)識(shí),多個(gè)第二數(shù)據(jù)為跨數(shù)據(jù)面?zhèn)鬏數(shù)臄?shù)據(jù);處理單元,用于基于特征標(biāo)識(shí)拆分多個(gè)第二數(shù)據(jù)以得到多個(gè)第三數(shù)據(jù);發(fā)送單元,用于基于特征標(biāo)識(shí)與映射關(guān)系分別向多個(gè)第二設(shè)備發(fā)送多個(gè)第三數(shù)據(jù),映射關(guān)系用于表示特征標(biāo)識(shí)與多個(gè)第二設(shè)備中第二加速卡的關(guān)聯(lián)關(guān)系。
27、可選地,在第五方面的一種可能的實(shí)現(xiàn)方式中,上述的特征標(biāo)識(shí)包括第一比特位與第二比特位,第一比特位用于多個(gè)第一數(shù)據(jù)的去重,第二比特位用于確定多個(gè)第三數(shù)據(jù)所屬第二設(shè)備的第二加速卡。
28、可選地,在第五方面的一種可能的實(shí)現(xiàn)方式中,上述的多個(gè)第二數(shù)據(jù)中沒有相同第一比特位的兩個(gè)第二數(shù)據(jù)。
29、可選地,在第五方面的一種可能的實(shí)現(xiàn)方式中,上述的接收單元,還用于接收來(lái)自多個(gè)第二設(shè)備的多個(gè)第四數(shù)據(jù),多個(gè)第四數(shù)據(jù)包括損失函數(shù)的梯度與梯度標(biāo)識(shí),梯度用于更新模型的參數(shù),梯度標(biāo)識(shí)用于交換設(shè)備進(jìn)行梯度聚合;處理單元,還用于基于梯度標(biāo)識(shí)聚合多個(gè)第四數(shù)據(jù)以得到多個(gè)第五數(shù)據(jù),多個(gè)第五數(shù)據(jù)的數(shù)量少于多個(gè)第四數(shù)據(jù)的數(shù)量;發(fā)送單元,還用于基于梯度標(biāo)識(shí)與映射關(guān)系分別向多個(gè)第二設(shè)備發(fā)送多個(gè)第五數(shù)據(jù),第五數(shù)據(jù)用于更新梯度。
30、本技術(shù)實(shí)施例第六方面提供了一種第二設(shè)備,該第二設(shè)備包括多個(gè)第二加速卡,第二設(shè)備包括:接收單元,用于接收交換設(shè)備發(fā)送的的第三數(shù)據(jù),第三數(shù)據(jù)包括第一設(shè)備獲取的模型的樣本特征與特征標(biāo)識(shí);獲取單元,用于基于第三數(shù)據(jù)獲取第四數(shù)據(jù),第四數(shù)據(jù)包括損失函數(shù)的梯度與梯度標(biāo)識(shí),梯度用于更新模型的參數(shù),梯度標(biāo)識(shí)用于交換設(shè)備進(jìn)行梯度聚合;發(fā)送單元,用于向交換設(shè)備發(fā)送第四數(shù)據(jù)。
31、可選地,在第六方面的一種可能的實(shí)現(xiàn)方式中,上述的特征標(biāo)識(shí)還用于確定第三數(shù)據(jù)所屬的第二加速卡。
32、本技術(shù)實(shí)施例第七方面提供了一種第一設(shè)備,包括:處理器,處理器與存儲(chǔ)器耦合,存儲(chǔ)器用于存儲(chǔ)程序或指令,當(dāng)程序或指令被處理器執(zhí)行時(shí),使得該第一設(shè)備實(shí)現(xiàn)上述第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法。
33、本技術(shù)實(shí)施例第八方面提供了一種交換設(shè)備,包括:處理器,處理器與存儲(chǔ)器耦合,存儲(chǔ)器用于存儲(chǔ)程序或指令,當(dāng)程序或指令被處理器執(zhí)行時(shí),使得該交換設(shè)備實(shí)現(xiàn)上述第二方面或第二方面的任意可能的實(shí)現(xiàn)方式中的方法。
34、本技術(shù)實(shí)施例第九方面提供了一種第二設(shè)備,包括:處理器,處理器與存儲(chǔ)器耦合,存儲(chǔ)器用于存儲(chǔ)程序或指令,當(dāng)程序或指令被處理器執(zhí)行時(shí),使得該第二設(shè)備實(shí)現(xiàn)上述第三方面或第三方面的任意可能的實(shí)現(xiàn)方式中的方法。
35、本技術(shù)實(shí)施例第十方面提供了一種通信系統(tǒng),包括:上述第七方面的第一設(shè)備,第八方面的交換設(shè)備,和/或上述第九方面的第二設(shè)備。
36、本技術(shù)實(shí)施例第十一方面提供了一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序或指令,當(dāng)計(jì)算機(jī)程序或指令在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行前述第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法,或者使得計(jì)算機(jī)執(zhí)行前述第二方面或第二方面的任意可能的實(shí)現(xiàn)方式中的方法,或者使得計(jì)算機(jī)執(zhí)行前述第三方面或第三方面的任意可能的實(shí)現(xiàn)方式中的方法。
37、本技術(shù)實(shí)施例第十二方面提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品在計(jì)算機(jī)上執(zhí)行時(shí),使得計(jì)算機(jī)執(zhí)行前述第一方面或第一方面的任意可能的實(shí)現(xiàn)方式中的方法,或者使得計(jì)算機(jī)執(zhí)行前述第二方面或第二方面的任意可能的實(shí)現(xiàn)方式中的方法,或者使得計(jì)算機(jī)執(zhí)行前述第三方面或第三方面的任意可能的實(shí)現(xiàn)方式中的方法。
38、本技術(shù)實(shí)施例第十三方面提供了一種芯片系統(tǒng),該芯片系統(tǒng)包括至少一個(gè)處理器,用于實(shí)現(xiàn)上述第一方面或第一方面任意一種可能的實(shí)現(xiàn)方式中所涉及的功能,實(shí)現(xiàn)上述第二方面或第二方面任意一種可能的實(shí)現(xiàn)方式中所涉及的功能,實(shí)現(xiàn)上述第三方面或第三方面任意一種可能的實(shí)現(xiàn)方式中所涉及的功能。
39、在一種可能的設(shè)計(jì)中,該芯片系統(tǒng)還可以包括存儲(chǔ)器,存儲(chǔ)器,用于保存該數(shù)據(jù)處理設(shè)備(例如第一設(shè)備、交換設(shè)備、第二設(shè)備)必要的程序指令和數(shù)據(jù)。該芯片系統(tǒng),可以由芯片構(gòu)成,也可以包含芯片和其他分立器件??蛇x的,所述芯片系統(tǒng)還包括接口電路,所述接口電路為所述至少一個(gè)處理器提供程序指令和/或數(shù)據(jù)。
40、其中,第四、第七、第十、第十一、第十二、第十三方面或者其中任一種可能實(shí)現(xiàn)方式所帶來(lái)的技術(shù)效果可參見第一方面或第一方面不同可能實(shí)現(xiàn)方式所帶來(lái)的技術(shù)效果,此處不再贅述。
41、其中,第五、第八、第十、第十一、第十二、第十三方面或者其中任一種可能實(shí)現(xiàn)方式所帶來(lái)的技術(shù)效果可參見第二方面或第二方面不同可能實(shí)現(xiàn)方式所帶來(lái)的技術(shù)效果,此處不再贅述。
42、其中,第六、第九、第十、第十一、第十二、第十三方面或者其中任一種可能實(shí)現(xiàn)方式所帶來(lái)的技術(shù)效果可參見第三方面或第三方面不同可能實(shí)現(xiàn)方式所帶來(lái)的技術(shù)效果,此處不再贅述。
43、從以上技術(shù)方案可以看出,本技術(shù)具有以下優(yōu)點(diǎn):在模型對(duì)應(yīng)樣本特征的傳輸過程中,第一設(shè)備通過向交換設(shè)備發(fā)送去重后的第二數(shù)據(jù),可以減少跨平面?zhèn)鬏斨貜?fù)的特征數(shù)據(jù),進(jìn)而提升模型的訓(xùn)練/推理效率。