本發(fā)明實施例涉及深度學(xué)習(xí),尤其涉及一種模型優(yōu)化及任務(wù)處理方法、裝置、電子設(shè)備和存儲介質(zhì)。
背景技術(shù):
1、隨著深度學(xué)習(xí)技術(shù)的發(fā)展,越來越多的深度學(xué)習(xí)模型開始應(yīng)用在不同的任務(wù)處理中。由于要追求模型處理任務(wù)的準(zhǔn)確度,深度學(xué)習(xí)模型的網(wǎng)絡(luò)變的越來越寬,網(wǎng)絡(luò)層數(shù)變的越來越深,這導(dǎo)致模型整體越來越龐大,模型處理任務(wù)(即推理計算)的耗時越來越長、速度越來越慢,給模型實時推理計算帶來了很大的難度。另外,模型部署在不同設(shè)備上,需要滿足指定場景對模型的計算要求,為了滿足限定設(shè)備資源上進行高速的深度學(xué)習(xí)模型推理,需要進行模型推理加速。
2、在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn),目前對模型進行推理加速的方案,主要依賴于對模型算子本身的優(yōu)化或依賴于對硬件設(shè)備的優(yōu)化,例如,通過優(yōu)化算子中的矩陣或優(yōu)化硬件設(shè)備的配置來實現(xiàn)加速,這些優(yōu)化方法增加了開發(fā)的工作量和復(fù)雜度,需要針對不同算子設(shè)計不同的優(yōu)化方案,通用性差,且沒有充分利用模型所部署設(shè)備的硬件資源。
技術(shù)實現(xiàn)思路
1、本發(fā)明實施例提供一種模型優(yōu)化及任務(wù)處理方法、裝置、電子設(shè)備和存儲介質(zhì),優(yōu)化方法通用性強、簡單、易于實現(xiàn),還能夠充分利用模型所部署設(shè)備的硬件資源。
2、第一方面,本發(fā)明實施例提供的模型優(yōu)化方法,包括:
3、根據(jù)預(yù)設(shè)任務(wù)處理模型的預(yù)設(shè)算子運行方案構(gòu)建樹形搜索圖;
4、根據(jù)所述樹形搜索圖的各原始節(jié)點的當(dāng)前入度確定當(dāng)前搜索節(jié)點集,并根據(jù)所述當(dāng)前搜索節(jié)點集中各原始節(jié)點對應(yīng)的候選運行方案構(gòu)建所述樹形搜索圖的當(dāng)度展開節(jié)點,所述候選運行方案包括節(jié)點合并運行和/或節(jié)點并發(fā)運行;
5、根據(jù)所述當(dāng)度展開節(jié)點對應(yīng)的全局運行方案的運行開銷從所述當(dāng)度展開節(jié)點中確定出局部優(yōu)化節(jié)點;
6、根據(jù)從每度展開節(jié)點中確定出的局部優(yōu)化節(jié)點確定全局優(yōu)化節(jié)點;
7、根據(jù)所述全局優(yōu)化節(jié)點對應(yīng)的全局運行方案優(yōu)化所述預(yù)設(shè)任務(wù)處理模型的預(yù)設(shè)算子運行方案,得到目標(biāo)任務(wù)處理模型。
8、第二方面,本發(fā)明實施例提供的任務(wù)處理方法,包括:
9、獲取目標(biāo)任務(wù)的任務(wù)數(shù)據(jù);
10、將所述任務(wù)數(shù)據(jù)輸入利用本發(fā)明任一實施例所述的模型優(yōu)化方法優(yōu)化得到的所述目標(biāo)任務(wù)處理模型中處理,得到所述目標(biāo)任務(wù)的處理結(jié)果。
11、第三方面,本發(fā)明實施例提供的模型優(yōu)化裝置,包括:
12、圖構(gòu)建模塊,用于根據(jù)預(yù)設(shè)任務(wù)處理模型的預(yù)設(shè)算子運行方案構(gòu)建樹形搜索圖;
13、節(jié)點展開模塊,用于根據(jù)所述樹形搜索圖的各原始節(jié)點的當(dāng)前入度確定當(dāng)前搜索節(jié)點集,并根據(jù)所述當(dāng)前搜索節(jié)點集中各原始節(jié)點對應(yīng)的候選運行方案構(gòu)建所述樹形搜索圖的當(dāng)度展開節(jié)點,所述候選運行方案包括節(jié)點合并運行和/或節(jié)點并發(fā)運行;
14、第一確定模塊,用于根據(jù)所述當(dāng)度展開節(jié)點對應(yīng)的全局運行方案的運行開銷從所述當(dāng)度展開節(jié)點中確定出局部優(yōu)化節(jié)點;
15、第二確定模塊,用于根據(jù)從每度展開節(jié)點中確定出的局部優(yōu)化節(jié)點確定全局優(yōu)化節(jié)點;
16、模型優(yōu)化模塊,用于根據(jù)所述全局優(yōu)化節(jié)點對應(yīng)的全局運行方案優(yōu)化所述預(yù)設(shè)任務(wù)處理模型的預(yù)設(shè)算子運行方案,得到目標(biāo)任務(wù)處理模型。
17、第四方面,本發(fā)明實施例提供的任務(wù)處理裝置,包括:
18、數(shù)據(jù)獲取模塊,用于獲取目標(biāo)任務(wù)的任務(wù)數(shù)據(jù);
19、任務(wù)處理模塊,用于將所述任務(wù)數(shù)據(jù)輸入利用本發(fā)明任一實施例所述的模型優(yōu)化方法優(yōu)化得到的所述目標(biāo)任務(wù)處理模型中處理,得到所述目標(biāo)任務(wù)的處理結(jié)果。
20、第五方面,本發(fā)明實施例提供的電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)如本發(fā)明任一實施例所述的模型優(yōu)化方法,或者處理器執(zhí)行所述程序時實現(xiàn)如本發(fā)明任一實施例所述的任務(wù)處理方法。
21、第六方面,本發(fā)明實施例提供的計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時實現(xiàn)如本發(fā)明任一實施例所述的模型優(yōu)化方法,或者該程序被處理器執(zhí)行時實現(xiàn)如本發(fā)明任一實施例所述的任務(wù)處理方法。
22、本發(fā)明實施例的方案,可以基于模型的預(yù)設(shè)算子運行方案構(gòu)建樹形搜索圖,樹形搜索圖中的原始節(jié)點對應(yīng)模型的算子,根據(jù)候選的節(jié)點合并運行方案和/或節(jié)點并發(fā)運行方案構(gòu)建樹形搜索圖的展開節(jié)點,將展開節(jié)點作為分支限界的解空間,從解空間中逐步搜索直至找到全局優(yōu)化節(jié)點,基于全局優(yōu)化節(jié)點對應(yīng)的全局運行方案對模型算子進行優(yōu)化(即優(yōu)化預(yù)設(shè)任務(wù)處理模型的預(yù)設(shè)算子運行方案);即根據(jù)節(jié)點(即算子)可能的合并和/或并發(fā)運行方案創(chuàng)建完整的解空間,采用分支限界算法可以從解空間中找出全局最優(yōu)解,保證了最后能找到全局最優(yōu)的算子運行方案,提升了模型優(yōu)化效果;通過節(jié)點的合并和/或并發(fā)運行對模型的算子運行方案進行優(yōu)化,不需要考慮算子中的矩陣情況,對不同算子可以采用通用的算法進行優(yōu)化,不需要針對不同算子設(shè)計不同的優(yōu)化方案,優(yōu)化方法通用性強,整個優(yōu)化流程簡單、易于實現(xiàn),減少了開發(fā)的工作量和復(fù)雜度;優(yōu)化后的模型處理任務(wù),由于模型的算子會合并、并發(fā)運行,算子合并運行可以減少內(nèi)存的訪問次數(shù)、降低計算開銷,從而提高了計算效率,算子并發(fā)運行,可以減少計算時間,從而實現(xiàn)加速,利用優(yōu)化后模型處理任務(wù)可以降低任務(wù)處理時長,提高任務(wù)處理速度;算子的合并和/或并發(fā)運行,還可以充分利用模型所部署設(shè)備的存儲、計算等硬件資源,提高了資源利用率。
1.一種模型優(yōu)化方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的模型優(yōu)化方法,其特征在于,所述預(yù)設(shè)算子運行方案中包括所述預(yù)設(shè)任務(wù)處理模型的各個任務(wù)算子和所述各個任務(wù)算子的運行順序,所述根據(jù)預(yù)設(shè)任務(wù)處理模型的預(yù)設(shè)算子運行方案構(gòu)建樹形搜索圖,包括:
3.根據(jù)權(quán)利要求1所述的模型優(yōu)化方法,其特征在于,在根據(jù)所述樹形搜索圖的各原始節(jié)點的當(dāng)前入度確定當(dāng)前搜索節(jié)點集之前,還包括:
4.根據(jù)權(quán)利要求1所述的模型優(yōu)化方法,其特征在于,所述根據(jù)所述樹形搜索圖的各原始節(jié)點的當(dāng)前入度確定當(dāng)前搜索節(jié)點集,包括:
5.根據(jù)權(quán)利要求1所述的模型優(yōu)化方法,其特征在于,所述根據(jù)所述當(dāng)前搜索節(jié)點集中各原始節(jié)點對應(yīng)的候選運行方案構(gòu)建所述樹形搜索圖的當(dāng)度展開節(jié)點,包括:
6.根據(jù)權(quán)利要求1所述的模型優(yōu)化方法,其特征在于,在根據(jù)所述當(dāng)度展開節(jié)點對應(yīng)的全局運行方案的運行開銷從所述當(dāng)度展開節(jié)點中確定出局部優(yōu)化節(jié)點之前,還包括:
7.根據(jù)權(quán)利要求1所述的模型優(yōu)化方法,其特征在于,所述根據(jù)所述當(dāng)度展開節(jié)點對應(yīng)的全局運行方案的運行開銷從所述當(dāng)度展開節(jié)點中確定出局部優(yōu)化節(jié)點,包括:
8.根據(jù)權(quán)利要求7所述的模型優(yōu)化方法,其特征在于,
9.一種任務(wù)處理方法,其特征在于,包括:
10.一種模型優(yōu)化裝置,其特征在于,包括:
11.一種任務(wù)處理裝置,其特征在于,包括:
12.一種電子設(shè)備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述程序時實現(xiàn)如權(quán)利要求1至8中任一項所述的模型優(yōu)化方法,或者所述處理器執(zhí)行所述程序時實現(xiàn)如權(quán)利要求9所述的任務(wù)處理方法。
13.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,該程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至8中任一項所述的模型優(yōu)化方法,或者該程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求9所述的任務(wù)處理方法。