本發(fā)明涉及神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練領(lǐng)域,具體涉及一種神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法。
背景技術(shù):
1、隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)模型,尤其是深度神經(jīng)網(wǎng)絡(luò)(dnns)在圖像識(shí)別、自然語言處理、語音識(shí)別等眾多領(lǐng)域展現(xiàn)出了卓越的性能。然而,高性能模型往往伴隨著龐大的網(wǎng)絡(luò)結(jié)構(gòu)和大量的計(jì)算需求,導(dǎo)致訓(xùn)練時(shí)間急劇增加,成為制約模型開發(fā)和應(yīng)用的一大瓶頸。
2、為應(yīng)對(duì)這一挑戰(zhàn),研究者們提出了預(yù)訓(xùn)練模型的概念。預(yù)訓(xùn)練模型是指在大規(guī)模通用數(shù)據(jù)集上先行訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型,通過學(xué)習(xí)到的數(shù)據(jù)特征,為后續(xù)針對(duì)特定任務(wù)的微調(diào)提供了良好的初始點(diǎn)。這種策略極大地加速了特定任務(wù)的模型訓(xùn)練過程,提高了模型的收斂速度和最終性能。
3、盡管預(yù)訓(xùn)練模型顯著降低了模型訓(xùn)練的時(shí)間成本,但在實(shí)際應(yīng)用中仍存在以下挑戰(zhàn):為了適應(yīng)不同的任務(wù)場(chǎng)景,預(yù)訓(xùn)練模型通常需要進(jìn)行一定程度的結(jié)構(gòu)調(diào)整或參數(shù)微調(diào)。這一過程不僅需要專業(yè)知識(shí),而且在沒有充分指導(dǎo)的情況下,非專業(yè)人員很難確定最佳的模型架構(gòu)和超參數(shù)設(shè)置。即便使用預(yù)訓(xùn)練模型,對(duì)于大型模型而言,微調(diào)過程仍然可能消耗大量的計(jì)算資源和時(shí)間,特別是在缺乏高效硬件支持的條件下。
4、目前,為了解決上述問題,一些平臺(tái)提供了模型訓(xùn)練的自動(dòng)化工具,如自動(dòng)超參數(shù)優(yōu)化(automl);然而,這些工具往往局限于特定的模型類型或算法,并且在處理復(fù)雜模型和大規(guī)模數(shù)據(jù)集時(shí),仍然可能面臨訓(xùn)練效率低下和資源分配不合理的問題。由此可見,當(dāng)前神經(jīng)網(wǎng)絡(luò)訓(xùn)練效率問題始終存在,增加了非專業(yè)人員的訓(xùn)練門檻。
技術(shù)實(shí)現(xiàn)思路
1、基于背景技術(shù)中的現(xiàn)狀,本發(fā)明的目的在于解決非專業(yè)人員訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型較為困難的問題,因此提出了一種神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法;該方法涉及環(huán)境構(gòu)建、模型構(gòu)建和日志監(jiān)控等過程,可以有效實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)的自動(dòng)化訓(xùn)練環(huán)境構(gòu)建與訓(xùn)練實(shí)例應(yīng)用,從而順利提高訓(xùn)練效率。
2、本發(fā)明采用了以下技術(shù)方案來實(shí)現(xiàn)目的:
3、一種神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法,包括如下步驟:
4、s1、將完整的神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練作為父任務(wù),父任務(wù)包括多個(gè)單獨(dú)進(jìn)行一次具體訓(xùn)練的子任務(wù);
5、s2、基于父任務(wù)的類型選擇對(duì)應(yīng)的待訓(xùn)練模型,并配置對(duì)應(yīng)的模型組件,完成神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的模型構(gòu)建過程;
6、s3、選擇出待訓(xùn)練模型后,采用基于鏡像的方式構(gòu)建對(duì)應(yīng)容器,完成神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的環(huán)境構(gòu)建過程;
7、s4、完成模型構(gòu)建與環(huán)境構(gòu)建后,依據(jù)確定的模型參數(shù)與環(huán)境參數(shù),生成訓(xùn)練任務(wù)執(zhí)行命令,進(jìn)行待訓(xùn)練模型的訓(xùn)練過程;
8、s5、采用可視化處理方式監(jiān)測(cè)訓(xùn)練過程,依次進(jìn)行多個(gè)子任務(wù)的訓(xùn)練過程,多個(gè)子任務(wù)依次訓(xùn)練完成后,最后訓(xùn)練完成的子任務(wù)作為父任務(wù)的訓(xùn)練結(jié)果,得到完成訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型。
9、具體的,步驟s1中,父任務(wù)的類型由訓(xùn)練任務(wù)決定,訓(xùn)練任務(wù)包括視覺任務(wù)、聽覺任務(wù)和語言任務(wù);每個(gè)子任務(wù)均包括數(shù)據(jù)準(zhǔn)備、模型定義、訓(xùn)練配置、模型訓(xùn)練、模型評(píng)估、模型優(yōu)化和擇優(yōu)存儲(chǔ)。
10、具體的,步驟s2中,預(yù)先從模型庫中依據(jù)父任務(wù)的類型選擇對(duì)應(yīng)的待訓(xùn)練模型,為選出的待訓(xùn)練模型配置模型優(yōu)化所需的優(yōu)化器、評(píng)價(jià)指標(biāo)和數(shù)據(jù)集,作為對(duì)應(yīng)的模型組件。
11、進(jìn)一步的,使用預(yù)設(shè)腳本抓取待訓(xùn)練模型中的超參數(shù)列表,通過交互式設(shè)置方式生成python命令,并將python命令寫入待訓(xùn)練模型,在每個(gè)子任務(wù)的訓(xùn)練過程進(jìn)行時(shí)調(diào)用。
12、具體的,步驟s3中,依據(jù)選出的待訓(xùn)練模型,調(diào)用shell腳本,從容器鏡像庫中拉取待訓(xùn)練模型對(duì)應(yīng)的基礎(chǔ)鏡像,構(gòu)建對(duì)應(yīng)容器。
13、優(yōu)選的,針對(duì)構(gòu)建的容器,在容器中設(shè)置內(nèi)外目錄映射、構(gòu)建日志目錄、運(yùn)行日志目錄和預(yù)訓(xùn)練目錄后,完成環(huán)境構(gòu)建過程;父任務(wù)在構(gòu)建的環(huán)境中執(zhí)行。
14、具體的,步驟s4中,模型參數(shù)包括待訓(xùn)練模型的具體架構(gòu)和對(duì)應(yīng)的超參數(shù);超參數(shù)由訓(xùn)練任務(wù)進(jìn)行指定,包括具體架構(gòu)的層數(shù)、每層的節(jié)點(diǎn)數(shù)、激活函數(shù)、損失函數(shù)和優(yōu)化器。
15、具體的,步驟s4中,基于構(gòu)建并設(shè)置的容器,環(huán)境參數(shù)包括訓(xùn)練過程使用的計(jì)算資源、操作系統(tǒng)、編程語言版本、深度學(xué)習(xí)框架和依賴庫;生成訓(xùn)練任務(wù)執(zhí)行命令時(shí),同時(shí)指定數(shù)據(jù)集位置、預(yù)處理方式、批處理大小和每個(gè)子任務(wù)的訓(xùn)練輪次。
16、進(jìn)一步的,步驟s5中,對(duì)于每個(gè)子任務(wù)的訓(xùn)練過程,解析對(duì)應(yīng)的運(yùn)行日志,進(jìn)行可視化處理,使用定時(shí)器監(jiān)控運(yùn)行日志,抓取運(yùn)行日志中的訓(xùn)練數(shù)據(jù)進(jìn)行可視化;每個(gè)子任務(wù)的訓(xùn)練過程劃分為訓(xùn)練階段和驗(yàn)證階段,當(dāng)一個(gè)子任務(wù)的訓(xùn)練完成后,將得到的權(quán)重文件擇優(yōu)入庫存儲(chǔ)于容器中設(shè)置的預(yù)訓(xùn)練目錄中;依次進(jìn)行每個(gè)子任務(wù)的訓(xùn)練過程,在每個(gè)子任務(wù)的訓(xùn)練完成時(shí)對(duì)應(yīng)調(diào)整超參數(shù),當(dāng)最后的子任務(wù)訓(xùn)練完成得到最優(yōu)的權(quán)重文件,作為父任務(wù)的訓(xùn)練結(jié)果。
17、本發(fā)明同時(shí)提供一種計(jì)算機(jī)裝置設(shè)備系統(tǒng),包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序以實(shí)現(xiàn)前述的神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法的步驟。
18、綜上所述,由于采用了本技術(shù)方案,本發(fā)明的有益效果如下:
19、本發(fā)明將神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建與訓(xùn)練視為一系列可組合的組件,用戶可依據(jù)具體需求靈活選擇和配置,無需深入理解底層代碼。本發(fā)明還提供標(biāo)準(zhǔn)化的訓(xùn)練環(huán)境構(gòu)建模板,可確保訓(xùn)練過程的穩(wěn)定性和可復(fù)現(xiàn)性。在將訓(xùn)練任務(wù)拆分為多個(gè)環(huán)節(jié)后,各環(huán)節(jié)可獨(dú)立優(yōu)化,便于故障排查和性能調(diào)優(yōu)。
20、基于用戶輸入的任務(wù)描述,本發(fā)明方法的應(yīng)用可自動(dòng)推薦合適的模型架構(gòu)和預(yù)訓(xùn)練模型,減少手動(dòng)調(diào)整的工作量?;诮M件化的設(shè)計(jì)思想,本發(fā)明可開發(fā)直觀的圖形用戶界面,允許非專業(yè)人員通過簡(jiǎn)單的拖曳等操作完成模型訓(xùn)練,從而極大降低神經(jīng)網(wǎng)絡(luò)模型技術(shù)的使用門檻。
1.一種神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法,其特征在于,包括如下步驟:
2.根據(jù)權(quán)利要求1所述的神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法,其特征在于:步驟s1中,父任務(wù)的類型由訓(xùn)練任務(wù)決定,訓(xùn)練任務(wù)包括視覺任務(wù)、聽覺任務(wù)和語言任務(wù);每個(gè)子任務(wù)均包括數(shù)據(jù)準(zhǔn)備、模型定義、訓(xùn)練配置、模型訓(xùn)練、模型評(píng)估、模型優(yōu)化和擇優(yōu)存儲(chǔ)。
3.根據(jù)權(quán)利要求1所述的神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法,其特征在于:步驟s2中,預(yù)先從模型庫中依據(jù)父任務(wù)的類型選擇對(duì)應(yīng)的待訓(xùn)練模型,為選出的待訓(xùn)練模型配置模型優(yōu)化所需的優(yōu)化器、評(píng)價(jià)指標(biāo)和數(shù)據(jù)集,作為對(duì)應(yīng)的模型組件。
4.根據(jù)權(quán)利要求3所述的神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法,其特征在于:使用預(yù)設(shè)腳本抓取待訓(xùn)練模型中的超參數(shù)列表,通過交互式設(shè)置方式生成python命令,并將python命令寫入待訓(xùn)練模型,在每個(gè)子任務(wù)的訓(xùn)練過程進(jìn)行時(shí)調(diào)用。
5.根據(jù)權(quán)利要求1所述的神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法,其特征在于:步驟s3中,依據(jù)選出的待訓(xùn)練模型,調(diào)用shell腳本,從容器鏡像庫中拉取待訓(xùn)練模型對(duì)應(yīng)的基礎(chǔ)鏡像,構(gòu)建對(duì)應(yīng)容器。
6.根據(jù)權(quán)利要求5所述的神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法,其特征在于:針對(duì)構(gòu)建的容器,在容器中設(shè)置內(nèi)外目錄映射、構(gòu)建日志目錄、運(yùn)行日志目錄和預(yù)訓(xùn)練目錄后,完成環(huán)境構(gòu)建過程;父任務(wù)在構(gòu)建的環(huán)境中執(zhí)行。
7.根據(jù)權(quán)利要求6所述的神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法,其特征在于:步驟s4中,模型參數(shù)包括待訓(xùn)練模型的具體架構(gòu)和對(duì)應(yīng)的超參數(shù);超參數(shù)由訓(xùn)練任務(wù)進(jìn)行指定,包括具體架構(gòu)的層數(shù)、每層的節(jié)點(diǎn)數(shù)、激活函數(shù)、損失函數(shù)和優(yōu)化器。
8.根據(jù)權(quán)利要求6所述的神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法,其特征在于:步驟s4中,基于構(gòu)建并設(shè)置的容器,環(huán)境參數(shù)包括訓(xùn)練過程使用的計(jì)算資源、操作系統(tǒng)、編程語言版本、深度學(xué)習(xí)框架和依賴庫;生成訓(xùn)練任務(wù)執(zhí)行命令時(shí),同時(shí)指定數(shù)據(jù)集位置、預(yù)處理方式、批處理大小和每個(gè)子任務(wù)的訓(xùn)練輪次。
9.根據(jù)權(quán)利要求6所述的神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法,其特征在于:步驟s5中,對(duì)于每個(gè)子任務(wù)的訓(xùn)練過程,解析對(duì)應(yīng)的運(yùn)行日志,進(jìn)行可視化處理,使用定時(shí)器監(jiān)控運(yùn)行日志,抓取運(yùn)行日志中的訓(xùn)練數(shù)據(jù)進(jìn)行可視化;每個(gè)子任務(wù)的訓(xùn)練過程劃分為訓(xùn)練階段和驗(yàn)證階段,當(dāng)一個(gè)子任務(wù)的訓(xùn)練完成后,將得到的權(quán)重文件擇優(yōu)入庫存儲(chǔ)于容器中設(shè)置的預(yù)訓(xùn)練目錄中;依次進(jìn)行每個(gè)子任務(wù)的訓(xùn)練過程,在每個(gè)子任務(wù)的訓(xùn)練完成時(shí)對(duì)應(yīng)調(diào)整超參數(shù),當(dāng)最后的子任務(wù)訓(xùn)練完成得到最優(yōu)的權(quán)重文件,作為父任務(wù)的訓(xùn)練結(jié)果。
10.一種計(jì)算機(jī)裝置設(shè)備系統(tǒng),包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上的計(jì)算機(jī)程序,其特征在于:所述處理器執(zhí)行所述計(jì)算機(jī)程序以實(shí)現(xiàn)權(quán)利要求1-9任一項(xiàng)所述的神經(jīng)網(wǎng)絡(luò)自動(dòng)化構(gòu)建與訓(xùn)練方法的步驟。