本申請涉及機器學習領(lǐng)域,尤其涉及一種基于參數(shù)微調(diào)的模型訓練方法、裝置、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、隨著人工智能技術(shù)的迅速發(fā)展,智能化應(yīng)用在多個領(lǐng)域中得到了廣泛的應(yīng)用。其中,transformer作為一種重要的深度學習模型架構(gòu),已經(jīng)在自然語言處理、計算機視覺和語音識別等領(lǐng)域取得了重大的突破,該transformer是指通過自注意力機制(self-attention)和位置編碼(position?encoding)來捕捉輸入序列中的長距離依賴關(guān)系的深度學習架構(gòu)。然而,由于以transformer為基礎(chǔ)的大模型參數(shù)量龐大,其全參數(shù)的訓練計算成本顯著增加,對計算資源和內(nèi)存的要求也極高。為了解決大模型的高計算開銷問題,參數(shù)有效微調(diào)技術(shù)應(yīng)運而生。相關(guān)技術(shù)中,參數(shù)有效微調(diào)方法通常為矩陣低秩分解法,比如adalora(adaptive?budget?allocation?for?parameter?efficient?fine-tuning,參數(shù)有效微調(diào)的自適應(yīng)預(yù)算分配)和fact(factor-tuning?for?lightweight?adaptation?onvision?transformer,視覺transformer上輕量級自適應(yīng)的因子調(diào)整)。但是這兩種方法存在如下問題:
2、adalora的缺點在于其只能對矩陣進行分解從而進行微調(diào)。這限制了adalora在某些場景下的適用性和靈活性,因為并不是所有模型參數(shù)都可以簡單地表示為矩陣形式。adalora適用于能夠被表示為矩陣形式的模型參數(shù),例如線性層、卷積層的權(quán)重、transformer中的qkv矩陣等。但對于某些模型參數(shù),特別是非標準的模型結(jié)構(gòu)或自定義的層,可能無法直接進行矩陣分解,從而限制了adalora在這些情況下的應(yīng)用。
3、fact方法可以很好地對張量進行分解,但在如何分配更好的秩使模型微調(diào)結(jié)果最優(yōu)上仍有局限性,在實際應(yīng)用中,需要仔細權(quán)衡模型性能和資源開銷,同時根據(jù)具體任務(wù)和數(shù)據(jù)的特點來調(diào)整張量分解的秩,以獲得更好的微調(diào)結(jié)果。
技術(shù)實現(xiàn)思路
1、有鑒于此,本申請實施例提供了一種基于參數(shù)微調(diào)的模型訓練方法、裝置、設(shè)備及存儲介質(zhì),旨在提升模型的微調(diào)性能。
2、本申請實施例的技術(shù)方案是這樣實現(xiàn)的:
3、第一方面,本申請實施例提供了一種基于參數(shù)微調(diào)的模型訓練方法,包括:
4、確定待微調(diào)的目標模型的微調(diào)參數(shù);
5、基于所述微調(diào)參數(shù),確定所述目標模型的每一網(wǎng)絡(luò)層的增量矩陣;
6、對每一網(wǎng)絡(luò)層的增量矩陣進行拼接,得到張量化的增量張量;
7、基于設(shè)定的數(shù)據(jù)集分批次地訓練所述目標模型,直至得到訓練好的目標模型;其中,每批次的訓練基于所述增量張量的張量奇異值分解進行所述微調(diào)參數(shù)的更新學習。
8、上述方案中,所述基于設(shè)定的數(shù)據(jù)集分批次地訓練所述目標模型,包括:
9、針對當前批次的訓練數(shù)據(jù),基于對角張量的秩,對所述增量張量基于張量奇異值分解,得到左正交張量和右正交張量,并基于所述左正交張量和所述右正交張量更新學習所述微調(diào)參數(shù)。
10、上述方案中,所述基于所述左正交張量和所述右正交張量更新學習所述微調(diào)參數(shù),包括:
11、基于正則項進行所述微調(diào)參數(shù)的更新學習,使得所述左正交張量和所述右正交張量均滿足正交性。
12、上述方案中,所述方法還包括:
13、求取當前批次的所述微調(diào)參數(shù)的平滑度和不確定性度;
14、基于所述平滑度和所述不確定性度,確定所述當前批次的所述增量張量的重要性分數(shù);
15、基于當前批次的所述重要性分數(shù)和上一批次的所述重要性分數(shù),確定當前批次的所述對角張量的秩。
16、上述方案中,求取當前批次的所述微調(diào)參數(shù)的平滑度,包括:
17、基于第一權(quán)重超參數(shù)、上一批次的所述微調(diào)參數(shù)的平滑度和當前批次的損失梯度的絕對值,確定當前批次的所述微調(diào)參數(shù)的平滑度。
18、上述方案中,求取當前批次的所述微調(diào)參數(shù)的不確定性度,包括:
19、基于第二權(quán)重超參數(shù)、上一批次的所述微調(diào)參數(shù)的不確定性度、當前批次的損失梯度的絕對值和當前批次的所述微調(diào)參數(shù)的平滑度,確定當前批次的所述微調(diào)參數(shù)的不確定性度。
20、上述方案中,張量奇異值分解為采用瘦張量奇異值分解(skinny?tensor-singular?value?decomposition,skinny?t-svd)方法進行的張量分解。
21、第二方面,本申請實施例提供了一種基于參數(shù)微調(diào)的模型訓練裝置,包括:
22、第一確定模塊,用于確定待微調(diào)的目標模型的微調(diào)參數(shù);
23、第二確定模塊,用于基于所述微調(diào)參數(shù),確定所述目標模型的每一網(wǎng)絡(luò)層的增量矩陣;
24、拼接模塊,用于對每一網(wǎng)絡(luò)層的增量矩陣進行拼接,得到張量化的增量張量;
25、訓練模塊,用于基于設(shè)定的數(shù)據(jù)集分批次地訓練所述目標模型,直至得到訓練好的目標模型;其中,每批次的訓練基于所述增量張量的張量奇異值分解進行所述微調(diào)參數(shù)的更新學習。
26、第三方面,本申請實施例提供了一種電子設(shè)備,包括:處理器和用于存儲能夠在處理器上運行的計算機程序的存儲器,其中,所述處理器用于運行計算機程序時,執(zhí)行本申請實施例第一方面所述方法的步驟。
27、第四方面,本申請實施例提供了一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時,實現(xiàn)本申請實施例第一方面所述方法的步驟。
28、本申請實施例提供的技術(shù)方案,確定待微調(diào)的目標模型的微調(diào)參數(shù);基于微調(diào)參數(shù),確定目標模型的每一網(wǎng)絡(luò)層的增量矩陣;對每一網(wǎng)絡(luò)層的增量矩陣進行拼接,得到張量化的增量張量;基于設(shè)定的數(shù)據(jù)集分批次地訓練目標模型,直至得到訓練好的目標模型;其中,每批次的訓練基于增量張量的張量奇異值分解進行微調(diào)參數(shù)的更新學習。本申請實施例中,由于將每一網(wǎng)絡(luò)層的增量矩陣拼接后得到張量化的增量張量,并在此基礎(chǔ)上進行張量分解和更新學習,可以顯著減少計算量,使得目標模型的微調(diào)過程更加高效,如此,能夠在保持模型性能的同時,有效降低計算成本,進而為在資源有限的情況下實現(xiàn)模型優(yōu)化提供了可行方案。
1.一種基于參數(shù)微調(diào)的模型訓練方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于設(shè)定的數(shù)據(jù)集分批次地訓練所述目標模型,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述左正交張量和所述右正交張量更新學習所述微調(diào)參數(shù),包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,求取當前批次的所述微調(diào)參數(shù)的平滑度,包括:
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,求取當前批次的所述微調(diào)參數(shù)的不確定性度,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,張量奇異值分解為采用瘦張量奇異值分解skinny?t-svd方法進行的張量分解。
8.一種基于參數(shù)微調(diào)的模型訓練裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:處理器和用于存儲能夠在處理器上運行的計算機程序的存儲器,其中,
10.一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時,實現(xiàn)權(quán)利要求1至7任一項所述方法的步驟。