本說明書涉及計算機,尤其涉及一種向硬件平臺部署模型的方法、裝置、存儲介質(zhì)、設(shè)備。
背景技術(shù):
1、在ai算法的嵌入式應(yīng)用場景中,深度學(xué)習(xí)算法層出不窮、嵌入式硬件資源也更新頻繁,在實際的應(yīng)用場景中,深度學(xué)習(xí)算法需將神經(jīng)網(wǎng)絡(luò)模型部署至相應(yīng)的硬件平臺才可開展模型訓(xùn)練任務(wù),為了提升訓(xùn)練的效率,提升深度學(xué)習(xí)算法與硬件平臺的適配度已經(jīng)成為當(dāng)下研究者關(guān)注的重點內(nèi)容之一。
2、目前,對于模型特性與硬件特性之間的淺層聯(lián)系,例如各算子對于算力以及存儲空間的需求等,已形成較為健全的先驗知識庫。但是,對于更深層次的問題——根據(jù)硬件平臺的硬件特性對模型結(jié)構(gòu)進(jìn)行優(yōu)化,仍缺少可行的解決方案。
3、由此,本發(fā)明提供一種向硬件平臺部署模型的方法、裝置、存儲介質(zhì)、設(shè)備。
技術(shù)實現(xiàn)思路
1、本說明書提供一種向硬件平臺部署模型的方法及裝置,以部分的解決現(xiàn)有技術(shù)存在的上述問題。
2、本說明書采用下述技術(shù)方案:
3、本說明書提供了一種向硬件平臺部署模型的方法,包括:
4、確定待部署模型的網(wǎng)絡(luò)結(jié)構(gòu)搜索空間;
5、根據(jù)所述網(wǎng)絡(luò)結(jié)構(gòu)搜索空間中各候選結(jié)構(gòu)預(yù)設(shè)的性能評價,在各候選結(jié)構(gòu)中確定構(gòu)成所述待部署模型的目標(biāo)結(jié)構(gòu);
6、將所述目標(biāo)結(jié)構(gòu)構(gòu)成的待部署模型部署于目標(biāo)硬件平臺;
7、利用所述待部署模型對樣本數(shù)據(jù)進(jìn)行計算,得到計算結(jié)果;
8、根據(jù)所述計算結(jié)果與所述樣本數(shù)據(jù)對應(yīng)的標(biāo)簽之間的差異以及所述待部署模型在所述網(wǎng)絡(luò)結(jié)構(gòu)搜索空間下的預(yù)期計算性能,以預(yù)設(shè)的損失函數(shù),確定損失值;
9、根據(jù)所述損失值對所述待部署模型的結(jié)構(gòu)進(jìn)行調(diào)整,直至所述待部署模型的計算性能符合預(yù)設(shè)的性能條件,將所述待部署模型部署于所述目標(biāo)硬件平臺。
10、可選的,根據(jù)所述損失值對所述待部署模型的結(jié)構(gòu)進(jìn)行調(diào)整,直至所述待部署模型的計算性能符合預(yù)設(shè)的性能條件,將所述待部署模型部署于所述目標(biāo)硬件平臺,具體包括:
11、根據(jù)所述損失值對所述網(wǎng)絡(luò)結(jié)構(gòu)搜索空間中所述目標(biāo)結(jié)構(gòu)的性能評價進(jìn)行更新;
12、若所述目標(biāo)結(jié)構(gòu)的性能評價的更新幅度大于預(yù)設(shè)的更新閾值,在所述網(wǎng)絡(luò)結(jié)構(gòu)搜索空間中重新確定目標(biāo)結(jié)構(gòu),將更新的目標(biāo)結(jié)構(gòu)構(gòu)成的待部署模型部署于所述目標(biāo)硬件平臺后,繼續(xù)進(jìn)行計算并更新目標(biāo)結(jié)構(gòu)的性能評價,直至目標(biāo)結(jié)構(gòu)的性能評價的更新幅度不大于預(yù)設(shè)的更新閾值,完成待部署模型向所述目標(biāo)硬件平臺的部署。
13、可選的,根據(jù)所述網(wǎng)絡(luò)結(jié)構(gòu)搜索空間中各候選結(jié)構(gòu)預(yù)設(shè)的性能評價,在各候選結(jié)構(gòu)中確定構(gòu)成所述待部署模型的目標(biāo)結(jié)構(gòu),具體包括:
14、根據(jù)所述網(wǎng)絡(luò)結(jié)構(gòu)搜索空間中各候選結(jié)構(gòu)預(yù)設(shè)的性能評價,確定各候選結(jié)構(gòu)的被選中概率;
15、根據(jù)所述被選中概率,在各候選結(jié)構(gòu)中確定構(gòu)成所述待部署模型的目標(biāo)結(jié)構(gòu)。
16、可選的,在確定損失值之后,還包括:
17、根據(jù)所述損失值對所述目標(biāo)結(jié)構(gòu)中各算子的參數(shù)進(jìn)行更新。
18、可選的,所述預(yù)期計算性能具體包括:預(yù)期時延、預(yù)期存儲消耗、預(yù)期算力消耗中的至少一種。
19、可選的,預(yù)設(shè)損失函數(shù),具體包括:
20、建立根據(jù)所述計算結(jié)果與所述樣本數(shù)據(jù)對應(yīng)的標(biāo)簽之間的差異、預(yù)期時延、預(yù)期存儲消耗和預(yù)期算力消耗確定損失值的損失函數(shù),其中,所述目標(biāo)硬件平臺中的各硬件設(shè)備之間的硬件時延差異越小所述預(yù)期時延的權(quán)重越大,所述目標(biāo)硬件平臺中的各硬件設(shè)備之間的存儲資源差異越小所述預(yù)期存儲消耗的權(quán)重越大,所述目標(biāo)硬件平臺中的各硬件設(shè)備之間的算力資源差異越小所述預(yù)期算力消耗的權(quán)重越大。
21、可選的,在將所述目標(biāo)結(jié)構(gòu)的待部署模型部署于目標(biāo)硬件平臺之前,還包括:
22、根據(jù)所述待部署模型的需求性能以及待選硬件平臺的硬件特性,確定所述待部署模型與所述待選硬件平臺的適配度;
23、當(dāng)所述適配度高于預(yù)設(shè)的適配閾值,將所述待選硬件平臺作為目標(biāo)硬件平臺。
24、本說明書提供一種向硬件平臺部署模型的裝置,包括:
25、確定模塊,確定待部署模型的網(wǎng)絡(luò)結(jié)構(gòu)搜索空間;
26、搜索模塊,根據(jù)所述網(wǎng)絡(luò)結(jié)構(gòu)搜索空間中各候選結(jié)構(gòu)預(yù)設(shè)的性能評價,在各候選結(jié)構(gòu)中確定構(gòu)成所述待部署模型的目標(biāo)結(jié)構(gòu);
27、部署模塊,將所述目標(biāo)結(jié)構(gòu)構(gòu)成的待部署模型部署于目標(biāo)硬件平臺;
28、計算模塊,利用所述待部署模型對樣本數(shù)據(jù)進(jìn)行計算,得到計算結(jié)果;
29、損失模塊,根據(jù)所述計算結(jié)果與所述樣本數(shù)據(jù)對應(yīng)的標(biāo)簽之間的差異以及所述待部署模型在所述網(wǎng)絡(luò)結(jié)構(gòu)搜索空間下的預(yù)期計算性能,以預(yù)設(shè)的損失函數(shù),確定損失值;
30、調(diào)整模塊,根據(jù)所述損失值對所述待部署模型的結(jié)構(gòu)進(jìn)行調(diào)整,直至所述待部署模型的計算性能符合預(yù)設(shè)的性能條件,將所述待部署模型部署于所述目標(biāo)硬件平臺。
31、本說明書提供了一種計算機可讀存儲介質(zhì),所述存儲介質(zhì)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述向硬件平臺部署模型的方法。
32、本說明書提供了一種設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)上述向硬件平臺部署模型的方法。
33、本說明書采用的上述至少一個技術(shù)方案能夠達(dá)到以下有益效果:
34、從上述方法中可以看出,本方法可根據(jù)待部署模型的性能需求以及目標(biāo)硬件平臺的硬件性能對待部署模型的結(jié)構(gòu)進(jìn)行調(diào)整,在向目標(biāo)硬件平臺部署待部署模型的過程中優(yōu)化待部署模型的結(jié)構(gòu),以使待部署模型在目標(biāo)硬件平臺部署后達(dá)到更優(yōu)的計算效果。
1.一種向硬件平臺部署模型的方法,其特征在于,所述方法包括:
2.如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述損失值對所述待部署模型的結(jié)構(gòu)進(jìn)行調(diào)整,直至所述待部署模型的計算性能符合預(yù)設(shè)的性能條件,將所述待部署模型部署于所述目標(biāo)硬件平臺,具體包括:
3.如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述網(wǎng)絡(luò)結(jié)構(gòu)搜索空間中各候選結(jié)構(gòu)預(yù)設(shè)的性能評價,在各候選結(jié)構(gòu)中確定構(gòu)成所述待部署模型的目標(biāo)結(jié)構(gòu),具體包括:
4.如權(quán)利要求1所述的方法,其特征在于,在確定損失值之后,還包括:
5.如權(quán)利要求1所述的方法,其特征在于,所述預(yù)期計算性能具體包括:預(yù)期時延、預(yù)期存儲消耗、預(yù)期算力消耗中的至少一種。
6.如權(quán)利要求5所述的方法,其特征在于,預(yù)設(shè)損失函數(shù),具體包括:
7.如權(quán)利要求1所述的方法,其特征在于,在將所述目標(biāo)結(jié)構(gòu)的待部署模型部署于目標(biāo)硬件平臺之前,還包括:
8.一種向硬件平臺部署模型的裝置,其特征在于,包括:
9.一種計算機可讀存儲介質(zhì),其特征在于,所述存儲介質(zhì)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述權(quán)利要求1~7任一項所述的方法。
10.一種設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述程序時實現(xiàn)上述權(quán)利要求1~7任一項所述的方法。