本申請涉及人工智能,尤其涉及一種深度推薦模型訓(xùn)練方法、裝置、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、深度學(xué)習(xí)深度推薦模型的發(fā)展顯著提高了信息匹配的精確度,為社交網(wǎng)絡(luò)、搜索引擎和電子商務(wù)網(wǎng)站等眾多應(yīng)用提供了強(qiáng)大的支持。
2、目前,在深度推薦模型訓(xùn)練任務(wù)中,配備cpu(central?processing?unit,中央處理器)和gpu(graphics?processing?unit,圖形處理器)的異構(gòu)硬件平臺已經(jīng)成為主導(dǎo)標(biāo)準(zhǔn),其中,cpu通常作為數(shù)據(jù)預(yù)處理和傳輸?shù)妮o助設(shè)備,gpu作為單個訓(xùn)練作業(yè)的最小單元,通常無法充分發(fā)揮全部計算能力,從而導(dǎo)致gpu資源利用率低,進(jìn)而影響深度推薦模型訓(xùn)練任務(wù)的吞吐量。
3、因此,如何提高深度推薦模型訓(xùn)練任務(wù)的吞吐量,是目前亟需解決的一個問題。
技術(shù)實現(xiàn)思路
1、本申請的主要目的在于提供一種深度推薦模型訓(xùn)練方法、裝置、設(shè)備及存儲介質(zhì),旨在提高深度推薦模型訓(xùn)練任務(wù)的吞吐量。
2、為實現(xiàn)上述目的,本申請?zhí)峁┮环N深度推薦模型訓(xùn)練方法,所述深度推薦模型訓(xùn)練方法應(yīng)用于模型訓(xùn)練系統(tǒng),所述模型訓(xùn)練系統(tǒng)包括圖形處理器和中央處理器,所述圖形處理器和所述中央處理器能夠并發(fā)訓(xùn)練多個作業(yè),所述深度推薦模型訓(xùn)練方法包括:
3、獲取待訓(xùn)練深度推薦模型的目標(biāo)訓(xùn)練作業(yè)的計算強(qiáng)度,其中,所述計算強(qiáng)度表征計算資源的消耗量和計算復(fù)雜度;
4、基于所述計算強(qiáng)度確定所述目標(biāo)訓(xùn)練作業(yè)的第一作業(yè)類型;
5、基于所述第一作業(yè)類型將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述圖形處理器或者所述中央處理器處理,以對所述待訓(xùn)練深度推薦模型進(jìn)行訓(xùn)練。
6、在一實施例中,所述基于所述計算強(qiáng)度確定所述目標(biāo)訓(xùn)練作業(yè)的第一作業(yè)類型的步驟,包括:
7、判斷所述計算強(qiáng)度是否大于預(yù)設(shè)計算強(qiáng)度;
8、在所述計算強(qiáng)度大于所述預(yù)設(shè)計算強(qiáng)度的情況下,確定所述目標(biāo)訓(xùn)練作業(yè)的第一作業(yè)類型為計算密集型;
9、在所述計算強(qiáng)度小于或者等于所述預(yù)設(shè)計算強(qiáng)度的情況下,確定所述目標(biāo)訓(xùn)練作業(yè)的內(nèi)存占用量,并基于所述內(nèi)存占用量確定所述目標(biāo)訓(xùn)練作業(yè)的第一作業(yè)類型。
10、在一實施例中,所述確定所述目標(biāo)訓(xùn)練作業(yè)的內(nèi)存占用量的步驟,包括:
11、獲取所述目標(biāo)訓(xùn)練作業(yè)對應(yīng)的輸入張量、輸出張量、權(quán)重張量、臨時張量、框架上下文和優(yōu)化器狀態(tài);
12、將所述輸出張量、所述權(quán)重張量和所述臨時張量之間的并集,確定為所述目標(biāo)訓(xùn)練作業(yè)的各個算子各自所占用的內(nèi)存量;
13、將各所述內(nèi)存量、所述輸入張量、所述框架上下文和所述優(yōu)化器狀態(tài)之間的并集,確定為所述目標(biāo)訓(xùn)練作業(yè)的內(nèi)存占用量。
14、在一實施例中,所述基于所述內(nèi)存占用量確定所述目標(biāo)訓(xùn)練作業(yè)的第一作業(yè)類型的步驟,包括:
15、判斷所述內(nèi)存占用量是否大于預(yù)設(shè)占用量;
16、在所述內(nèi)存占用量大于所述預(yù)設(shè)占用量的情況下,確定所述目標(biāo)訓(xùn)練作業(yè)的第一作業(yè)類型為內(nèi)存密集型;
17、在所述內(nèi)存占用量小于或者等于所述預(yù)設(shè)占用量的情況下,確定所述第一作業(yè)類型為帶寬密集型。
18、在一實施例中,所述基于所述第一作業(yè)類型將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述圖形處理器或者所述中央處理器處理的步驟,包括:
19、確定所述圖形處理器待處理的作業(yè)隊列的最大長度和所述中央處理器待處理的作業(yè)隊列的最大長度之間的比值;
20、基于所述目標(biāo)訓(xùn)練作業(yè)的內(nèi)存占用量、所述比值和所述第一作業(yè)類型,將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述圖形處理器或者所述中央處理器處理。
21、在一實施例中,所述基于所述目標(biāo)訓(xùn)練作業(yè)的內(nèi)存占用量、所述比值和所述第一作業(yè)類型,將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述圖形處理器或者所述中央處理器處理的步驟,包括:
22、在所述第一作業(yè)類型為所述內(nèi)存密集型或者所述帶寬密集型的情況下,將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述中央處理器處理;
23、在所述第一作業(yè)類型為所述計算密集型,且所述目標(biāo)訓(xùn)練作業(yè)的內(nèi)存占用量和所述比值不滿足預(yù)設(shè)條件的情況下,將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述中央處理器處理,其中,所述預(yù)設(shè)條件為所述內(nèi)存占用量小于或者等于所述圖形處理器的總內(nèi)存量且所述比值小于預(yù)設(shè)閾值;
24、在所述第一作業(yè)類型為所述計算密集型,且所述內(nèi)存占用量和所述比值滿足預(yù)設(shè)條件的情況下,將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述圖形處理器處理。
25、在一實施例中,所述深度推薦模型訓(xùn)練方法還包括:
26、檢測所述圖形處理器和所述中央處理器正在處理的實時訓(xùn)練作業(yè)的第二作業(yè)類型;
27、在所述第一作業(yè)類型與所述第二作業(yè)類型不同的情況下,執(zhí)行所述基于所述第一作業(yè)類型將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述圖形處理器或者所述中央處理器處理,以對所述待訓(xùn)練深度推薦模型進(jìn)行訓(xùn)練的步驟。
28、此外,為實現(xiàn)上述目的,本申請還提供一種深度推薦模型訓(xùn)練裝置,所述深度推薦模型訓(xùn)練裝置應(yīng)用于模型訓(xùn)練系統(tǒng),所述模型訓(xùn)練系統(tǒng)包括圖形處理器和中央處理器,所述圖形處理器和所述中央處理器能夠并發(fā)訓(xùn)練多個作業(yè),所述深度推薦模型訓(xùn)練裝置包括:
29、獲取模塊,用于獲取待訓(xùn)練深度推薦模型的目標(biāo)訓(xùn)練作業(yè)的計算強(qiáng)度,其中,所述計算強(qiáng)度表征計算資源的消耗量和計算復(fù)雜度;
30、確定模塊,用于基于所述計算強(qiáng)度確定所述目標(biāo)訓(xùn)練作業(yè)的第一作業(yè)類型;
31、調(diào)度模塊,用于基于所述第一作業(yè)類型將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述圖形處理器或者所述中央處理器處理,以對所述待訓(xùn)練深度推薦模型進(jìn)行訓(xùn)練。
32、此外,為實現(xiàn)上述目的,本申請還提供一種存儲介質(zhì),所述存儲介質(zhì)為計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)上存儲有實現(xiàn)深度推薦模型訓(xùn)練方法的程序,所述實現(xiàn)深度推薦模型訓(xùn)練方法的程序被處理器執(zhí)行以實現(xiàn)如上所述深度推薦模型訓(xùn)練方法的步驟。
33、此外,為實現(xiàn)上述目的,本申請還提供一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如上述的深度推薦模型訓(xùn)練方法的步驟。
34、本申請?zhí)峁┝艘环N深度推薦模型訓(xùn)練方法,該深度推薦模型訓(xùn)練方法應(yīng)用于模型訓(xùn)練系統(tǒng),其中,該模型訓(xùn)練系統(tǒng)包括圖像處理器和中央處理器,且所述圖像處理器和所述中央處理器可以并發(fā)訓(xùn)練多個作業(yè),本申請首先通過獲取目標(biāo)訓(xùn)練作業(yè)的計算強(qiáng)度,其中,該計算強(qiáng)度表征了計算源的消耗量和計算復(fù)雜度,基于該計算強(qiáng)度確定待訓(xùn)練深度推薦模型的目標(biāo)訓(xùn)練作業(yè)的作業(yè)類型(即第一作業(yè)類型),基于該第一作業(yè)類型將目標(biāo)訓(xùn)練作業(yè)調(diào)度至圖形處理器或者中央處理器處理,以對待訓(xùn)練深度推薦模型進(jìn)行訓(xùn)練。
35、如此,相比于傳統(tǒng)以gpu為單個訓(xùn)練作業(yè)的最小單元的深度推薦模型訓(xùn)練方式,本申請通過在gpu和cpu組成的異構(gòu)平臺上并發(fā)訓(xùn)練多個作業(yè),從而提高gpu的資源利用率,進(jìn)而提高深度推薦模型訓(xùn)練任務(wù)的吞吐量。
1.一種深度推薦模型訓(xùn)練方法,其特征在于,所述深度推薦模型訓(xùn)練方法應(yīng)用于模型訓(xùn)練系統(tǒng),所述模型訓(xùn)練系統(tǒng)包括圖形處理器和中央處理器,所述圖形處理器和所述中央處理器能夠并發(fā)訓(xùn)練多個作業(yè),所述深度推薦模型訓(xùn)練方法包括:
2.如權(quán)利要求1所述的方法,其特征在于,所述基于所述計算強(qiáng)度確定所述目標(biāo)訓(xùn)練作業(yè)的第一作業(yè)類型的步驟,包括:
3.如權(quán)利要求2所述的方法,其特征在于,所述確定所述目標(biāo)訓(xùn)練作業(yè)的內(nèi)存占用量的步驟,包括:
4.如權(quán)利要求2所述的方法,其特征在于,所述基于所述內(nèi)存占用量確定所述目標(biāo)訓(xùn)練作業(yè)的第一作業(yè)類型的步驟,包括:
5.如權(quán)利要求4所述的方法,其特征在于,所述基于所述第一作業(yè)類型將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述圖形處理器或者所述中央處理器處理的步驟,包括:
6.如權(quán)利要求5所述的方法,其特征在于,所述基于所述目標(biāo)訓(xùn)練作業(yè)的內(nèi)存占用量、所述比值和所述第一作業(yè)類型,將所述目標(biāo)訓(xùn)練作業(yè)調(diào)度至所述圖形處理器或者所述中央處理器處理的步驟,包括:
7.如權(quán)利要求1至6中任一項所述的方法,其特征在于,所述方法還包括:
8.一種深度推薦模型訓(xùn)練裝置,其特征在于,所述深度推薦模型訓(xùn)練裝置應(yīng)用于模型訓(xùn)練系統(tǒng),所述模型訓(xùn)練系統(tǒng)包括圖形處理器和中央處理器,所述圖形處理器和所述中央處理器能夠并發(fā)訓(xùn)練多個作業(yè),所述深度推薦模型訓(xùn)練裝置包括:
9.一種深度推薦模型訓(xùn)練設(shè)備,其特征在于,所述深度推薦模型訓(xùn)練設(shè)備包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運(yùn)行的計算機(jī)程序,所述計算機(jī)程序配置為實現(xiàn)如權(quán)利要求1至7中任一項所述的深度推薦模型訓(xùn)練方法的步驟。
10.一種存儲介質(zhì),其特征在于,所述存儲介質(zhì)為計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至7中任一項所述的深度推薦模型訓(xùn)練方法的步驟。