本技術(shù)屬于人工智能,特別涉及一種模型部署方法、裝置、電子設(shè)備和存儲介質(zhì)。
背景技術(shù):
1、在神經(jīng)網(wǎng)絡(luò)中,模型的層數(shù)也被稱為模型的“深度”,而每層中神經(jīng)元的數(shù)量(涉及卷積核通道數(shù)、長度、寬度)也被稱為模型的“寬度”。模型的尺寸包括模型的深度和寬度,模型的尺寸是決定神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)和表示數(shù)據(jù)中復(fù)雜關(guān)系能力的重要因素。深度為模型提供了學(xué)習(xí)層次表示和建模特征之間復(fù)雜交互的能力,而寬度為模型提供了記憶訓(xùn)練數(shù)據(jù)的能力。
2、在相關(guān)技術(shù)中,雖然通過大幅度增加模型的尺寸,可以提高模型對訓(xùn)練數(shù)據(jù)的擬合能力并提高模型的泛化性能,但是,在大幅度增加模型的深度和寬度的情況下,模型的總參數(shù)量會大幅度增加;對于存算一體芯片而言,模型的總參數(shù)量會受到存算一體芯片的體積限制,難以實現(xiàn)對面向存算一體芯片的模型的性能的優(yōu)化。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供一種模型部署方法、裝置、電子設(shè)備和存儲介質(zhì)。
2、本技術(shù)實施例提供一種模型部署方法,所述方法包括:
3、基于預(yù)先確定的存算一體芯片的尺寸信息,確定符合預(yù)設(shè)規(guī)則的多個網(wǎng)絡(luò)層組合,所述多個網(wǎng)絡(luò)層組合中的每個網(wǎng)絡(luò)層組合為神經(jīng)網(wǎng)絡(luò)的骨干網(wǎng)絡(luò)的多個網(wǎng)絡(luò)層的組合,所述預(yù)設(shè)規(guī)則是與所述尺寸信息關(guān)聯(lián)的網(wǎng)絡(luò)層的約束規(guī)則;
4、基于所述多個網(wǎng)絡(luò)層組合中的各個網(wǎng)絡(luò)層組合,得出與所述各個網(wǎng)絡(luò)層組合分別對應(yīng)的候選部署模型;
5、在與所述各個網(wǎng)絡(luò)層組合分別對應(yīng)的候選部署模型中,對每個候選部署模型進行訓(xùn)練,得到每個訓(xùn)練完成的候選部署模型;
6、在所述各個網(wǎng)絡(luò)層組合分別對應(yīng)的訓(xùn)練完成的候選部署模型中,選擇待部署模型;
7、將所述待部署模型部署在所述存算一體芯片中。
8、在一些實施例中,所述預(yù)設(shè)規(guī)則包括以下至少一項:
9、在所述尺寸信息包括所述存算一體芯片的權(quán)重存儲陣列的列數(shù)時,所述網(wǎng)絡(luò)層組合中各個網(wǎng)絡(luò)層的輸出通道數(shù)之和小于所述存算一體芯片的權(quán)重存儲陣列的列數(shù);所述權(quán)重存儲陣列用于存儲所述存算一體芯片上部署的模型的權(quán)重參數(shù);
10、在所述尺寸信息包括所述存算一體芯片的權(quán)重存儲陣列的行數(shù)時,所述網(wǎng)絡(luò)層組合中每個網(wǎng)絡(luò)層的輸入通道數(shù)與卷積核尺寸的乘積小于所述存算一體芯片的權(quán)重存儲陣列的行數(shù);
11、在所述尺寸信息包括所述存算一體芯片的偏置存儲陣列的行數(shù)時,所述網(wǎng)絡(luò)層組合中每個網(wǎng)絡(luò)層的輸出通道數(shù)小于所述存算一體芯片的偏置存儲陣列的行數(shù);所述偏置存儲陣列用于存儲所述存算一體芯片上部署的模型的模型偏置參數(shù)。
12、可以看出,本技術(shù)實施例可以利用存算一體芯片的權(quán)重存儲陣列的列數(shù)、存算一體芯片的權(quán)重存儲陣列的行數(shù)或存算一體芯片的偏置存儲陣列的行數(shù),對網(wǎng)絡(luò)層組合進行合理地限制,從而能夠使預(yù)設(shè)規(guī)則能夠較為準(zhǔn)確地反映存算一體芯片的尺寸信息對網(wǎng)絡(luò)層組合的約束;進一步地,通過搜索符合預(yù)設(shè)規(guī)則的多個網(wǎng)絡(luò)層組合,可以有效地減少篩選出的網(wǎng)絡(luò)層組合的數(shù)量,從而,在基于符合預(yù)設(shè)規(guī)則的多個網(wǎng)絡(luò)層組合的各個網(wǎng)絡(luò)層組合中,得出與所各個網(wǎng)絡(luò)層組合分別對應(yīng)的候選部署模型的情況下,可以減少搜索候選部署模型的搜索空間。
13、在一些實施例中,所述在與所述各個網(wǎng)絡(luò)層組合分別對應(yīng)的候選部署模型中,對每個候選部署模型進行訓(xùn)練,得到每個訓(xùn)練完成的候選部署模型,包括:基于所述每個候選部署模型的損失,對所述每個候選部署模型進行訓(xùn)練,得到每個訓(xùn)練完成的候選部署模型;所述每個候選部署模型的損失至少包括搜索空間損失,所述搜索空間損失用于表示以下至少一種差異:所述網(wǎng)絡(luò)層組合中各個網(wǎng)絡(luò)層的輸出通道數(shù)之和與所述權(quán)重存儲陣列的列數(shù)的差異、所述乘積與所述權(quán)重存儲陣列的行數(shù)的差異、所述網(wǎng)絡(luò)層組合中每個網(wǎng)絡(luò)層的輸出通道數(shù)與所述存算一體芯片的偏置存儲陣列的行數(shù)的差異。
14、可以看出,搜索空間損失是根據(jù)存算一體芯片的權(quán)重存儲陣列的列數(shù)、存算一體芯片的權(quán)重存儲陣列的行數(shù)或存算一體芯片的偏置存儲陣列的行數(shù)確定的損失,存算一體芯片的權(quán)重存儲陣列的列數(shù)、存算一體芯片的權(quán)重存儲陣列的行數(shù)或存算一體芯片的偏置存儲陣列的行數(shù)是存算一體芯片的尺寸信息,因此,搜索空間損失可以在一定程度上準(zhǔn)確反映存算一體芯片的尺寸信息;在基于搜索結(jié)構(gòu)損失,對每個候選部署模型進行訓(xùn)練,得到每個訓(xùn)練完成的候選部署模型時,每個訓(xùn)練完成的候選部署模型與存算一體芯片的尺寸信息更加適配。
15、在一些實施例中,所述每個候選部署模型的損失還包括第一損失和第二損失中的至少一項,所述第一損失為根據(jù)預(yù)先指定的模型損失函數(shù)計算的損失,所述第二損失用于表示候選部署模型中骨干網(wǎng)絡(luò)的網(wǎng)絡(luò)層的層數(shù)。
16、可以看出,搜索空間損失是根據(jù)存算一體芯片的權(quán)重存儲陣列的列數(shù)、存算一體芯片的權(quán)重存儲陣列的行數(shù)或存算一體芯片的偏置存儲陣列的行數(shù)確定的損失,存算一體芯片的權(quán)重存儲陣列的列數(shù)、存算一體芯片的權(quán)重存儲陣列的行數(shù)或存算一體芯片的偏置存儲陣列的行數(shù)是存算一體芯片的尺寸信息,因此,搜索空間損失可以在一定程度上準(zhǔn)確反映存算一體芯片的尺寸信息;第一損失是由用戶指定的模型損失函數(shù)確定的,用戶指定的模型損失函數(shù)可以反映實際需求,第二損失可以反映骨干網(wǎng)絡(luò)的網(wǎng)絡(luò)層的層數(shù),而骨干網(wǎng)絡(luò)的網(wǎng)絡(luò)層的層數(shù)可以反映模型的運行時間;從而,本技術(shù)實施例可以在考慮存算一體芯片的尺寸信息的基礎(chǔ)上,基于第一損失和第二損失中的至少一項對候選部署模型進行訓(xùn)練,可以使得訓(xùn)練完成的候選部署模型能夠符合實際需求,或者,能夠使得訓(xùn)練完成的候選部署模型具有較短的運行時間,提升候選部署模型的運行效率。
17、在一些實施例中,所述在與所述各個網(wǎng)絡(luò)層組合分別對應(yīng)的候選部署模型中,對每個候選部署模型進行訓(xùn)練,得到每個訓(xùn)練完成的候選部署模型,包括:基于所述每個候選部署模型的損失,對所述每個候選部署模型進行訓(xùn)練,得到每個訓(xùn)練完成的候選部署模型;所述每個候選部署模型的損失包括第一損失和第二損失中的至少一項,所述第一損失為根據(jù)預(yù)先指定的模型損失函數(shù)計算的損失,所述第二損失用于表示候選部署模型的網(wǎng)絡(luò)層的層數(shù)。
18、可以看出,第一損失是由用戶指定的模型損失函數(shù)確定的,用戶指定的模型損失函數(shù)可以反映實際需求,第二損失可以反映骨干網(wǎng)絡(luò)的網(wǎng)絡(luò)層的層數(shù),而骨干網(wǎng)絡(luò)的網(wǎng)絡(luò)層的層數(shù)可以反映模型的運行時間;從而,本技術(shù)實施例基于第一損失和第二損失中的至少一項對候選部署模型進行訓(xùn)練,可以使得訓(xùn)練完成的候選部署模型能夠符合實際需求,或者,能夠使得訓(xùn)練完成的候選部署模型具有較短的運行時間,提升候選部署模型的運行效率。
19、在一些實施例中,在與所述各個網(wǎng)絡(luò)層組合分別對應(yīng)的候選部署模型中,對每個候選部署模型進行訓(xùn)練,得到每個訓(xùn)練完成的候選部署模型,包括:基于預(yù)設(shè)的模型訓(xùn)練結(jié)束條件,對所述每個候選部署模型進行訓(xùn)練,得到每個訓(xùn)練完成的候選部署模型。
20、可以看出,預(yù)設(shè)的模型訓(xùn)練結(jié)束條件可以體現(xiàn)實際需求,因此,在基于預(yù)設(shè)的模型訓(xùn)練結(jié)束條件,對所述每個候選部署模型進行訓(xùn)練,得到每個訓(xùn)練完成的候選部署模型時,每個訓(xùn)練完成的候選部署模型是根據(jù)實際需求確定的模型。
21、在一些實施例中,所述將所述待部署模型部署在所述存算一體芯片中,包括:根據(jù)預(yù)先設(shè)置的所述存算一體芯片的計算精度,確定所述待部署模型的數(shù)據(jù)處理精度;根據(jù)所述數(shù)據(jù)處理精度,對所述待部署模型進行調(diào)整,得到調(diào)整后的待部署模型;將所述調(diào)整后的待部署模型部署在所述存算一體芯片中。
22、可以看出,在根據(jù)預(yù)先設(shè)置的存算一體芯片的計算精度,確定待部署模型的數(shù)據(jù)處理精度時,待部署模型的數(shù)據(jù)處理精度與預(yù)先設(shè)置的存算一體芯片的計算精度相匹配,從而,在根據(jù)數(shù)據(jù)處理精度對待部署模型進行調(diào)整,得到調(diào)整后的待部署模型時,可以使得調(diào)整后的待部署模型與存算一體芯片的計算精度適配,從而,通過將調(diào)整后的待部署模型部署在存算一體芯片中,有利于調(diào)整后的待部署模型充分利用存算一體芯片的計算能力。
23、在一些實施例中,所述基于預(yù)先確定的存算一體芯片的尺寸信息,確定符合預(yù)設(shè)規(guī)則的多個網(wǎng)絡(luò)層組合,包括:所述基于預(yù)先確定的存算一體芯片的尺寸信息、以及預(yù)先確定的參考信息,確定符合預(yù)設(shè)規(guī)則的多個網(wǎng)絡(luò)層組合,所述參考信息包括所述骨干網(wǎng)絡(luò)支持的網(wǎng)絡(luò)層的類型。
24、可以看出,本技術(shù)實施例可以根據(jù)預(yù)先確定的存算一體芯片的尺寸信息、以及預(yù)先確定的參考信息,更加合理地確定出符合預(yù)設(shè)規(guī)則的多個網(wǎng)絡(luò)層組合,由于參考信息可以根據(jù)實際需求設(shè)置,因此,根據(jù)參考信息確定的網(wǎng)絡(luò)層組合符合實際需求。
25、本技術(shù)實施例還提供一種模型部署裝置,所述裝置包括:
26、第一處理模塊,用于基于預(yù)先確定的存算一體芯片的尺寸信息,確定符合預(yù)設(shè)規(guī)則的多個網(wǎng)絡(luò)層組合,所述第一處理模塊,還用于基于所述多個網(wǎng)絡(luò)層組合的各個網(wǎng)絡(luò)層組合,得出與所述各個網(wǎng)絡(luò)層組合分別對應(yīng)的候選部署模型;所述多個網(wǎng)絡(luò)層組合中每個網(wǎng)絡(luò)層組合為神經(jīng)網(wǎng)絡(luò)的骨干網(wǎng)絡(luò)的多個網(wǎng)絡(luò)層的組合,所述預(yù)設(shè)規(guī)則是與所述尺寸信息關(guān)聯(lián)的網(wǎng)絡(luò)層的約束規(guī)則;
27、第二處理模塊,用于在與所述各個網(wǎng)絡(luò)層組合分別對應(yīng)的候選部署模型中,對每個候選部署模型進行訓(xùn)練,得到每個訓(xùn)練完成的候選部署模型;在所述各個網(wǎng)絡(luò)層組合分別對應(yīng)的訓(xùn)練完成的候選部署模型中,選擇待部署模型;
28、部署模塊,用于將所述待部署模型部署在所述存算一體芯片中。
29、本技術(shù)實施例還提供了一種電子設(shè)備,所述電子設(shè)備包括處理器和用于存儲能夠在處理器上運行的計算機程序的存儲器;其中,所述處理器用于運行所述計算機程序以執(zhí)行上述任意一種模型部署方法。
30、本技術(shù)實施例還提供了一種計算機存儲介質(zhì),其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)上述任意一種模型部署方法。
31、可以看出,本技術(shù)實施例可以根據(jù)存算一體芯片的尺寸信息,合理地確定符合預(yù)設(shè)規(guī)則的多個網(wǎng)絡(luò)層組合,從而確定出各個候選部署模型;即,本技術(shù)實施例可以在考慮存算一體芯片的尺寸信息的基礎(chǔ)上,合理地確定各個候選部署模型;在對各個候選部署模型進行訓(xùn)練并在各個訓(xùn)練完成的候選部署模型選擇待部署模型的情況下,待部署模型是至少根據(jù)存算一體芯片的尺寸信息得出的模型,因此,通過在存算一體芯片中部署待部署模型,可以使待部署模型與存算一體芯片的尺寸信息更加適配,有利于提高待部署模型對存算一體芯片的利用率,有利于實現(xiàn)對面向存算一體芯片的模型的性能的優(yōu)化。