本發(fā)明涉及一種大模型訓(xùn)練樣本重加權(quán)方法,屬于大模型訓(xùn)練。
背景技術(shù):
1、監(jiān)督微調(diào)是現(xiàn)代深度學(xué)習(xí)中一個重要且有效的策略,它利用有限的標(biāo)注數(shù)據(jù)在預(yù)訓(xùn)練模型的基礎(chǔ)上進行特定任務(wù)的微調(diào),能夠以較低的開銷使得預(yù)訓(xùn)練模型更好地適配下游任務(wù)。然而,隨著大模型參數(shù)的不斷擴展以及訓(xùn)練語料的增加,模型微調(diào)的成本也變得越來越高。再者,海量的訓(xùn)練樣本中包含著大量的有偏、噪聲數(shù)據(jù),直接用于微調(diào)可能會損壞模型性能,因此如何高效地選出對微調(diào)有益的高質(zhì)量樣本成為了一個重要的問題。
2、當(dāng)前已有的工作主要從兩方面對該問題進行了探討。第一種方法主要利用數(shù)據(jù)相似性進行樣本選擇,例如,第三代通用預(yù)訓(xùn)練轉(zhuǎn)換器(general?pre-trained?transformer-3,gpt-3),訓(xùn)練了一個分類器來從海量語料中選出與維基百科文本特征相似的樣本,有的工作則利用基于檢索(如最佳匹配25算法,bm25)的方法來高效地選出與任務(wù)更相關(guān)的數(shù)據(jù),也有的工作利用n元模型(n-gram)特征的相似性來選擇出與目標(biāo)樣本更相近的訓(xùn)練數(shù)據(jù)。盡管這些方法并不會帶來大量的額外顯存開銷,但是它們都依賴于文本特征的相似性,因此往往樣本選擇的結(jié)果并不一定準(zhǔn)確。另一類方法則從訓(xùn)練過程中參數(shù)梯度更新的角度來評估樣本重要性(如數(shù)據(jù)沙普利值data?shapley及影響函數(shù)influence?functions等方法),其核心的思想是比較將某個樣本移出訓(xùn)練集后模型參數(shù)梯度更新的變化。這一類方法雖然能夠準(zhǔn)確地評估樣本對模型訓(xùn)練的影響,但由于涉及到二階導(dǎo)數(shù)的計算,額外顯存開銷巨大,難以應(yīng)用到大語言模型(large?language?models,llms)中。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于提供一種大模型訓(xùn)練樣本重加權(quán)方法,能夠高效地為每個訓(xùn)練樣本進行加權(quán),減少顯存開銷。
2、為達到上述目的,本發(fā)明提供如下技術(shù)方案:
3、本發(fā)明提供一種大模型訓(xùn)練樣本重加權(quán)方法,包括:
4、選取訓(xùn)練集和驗證集對大模型進行訓(xùn)練,并利用低秩適應(yīng)方法將大模型的訓(xùn)練參數(shù)的變化量矩陣分解為兩個低秩矩陣;
5、基于低秩矩陣,提取訓(xùn)練樣本和驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活和一維輸出梯度,并根據(jù)一維輸入激活和一維輸出梯度,計算訓(xùn)練樣本的權(quán)重;
6、基于訓(xùn)練樣本的權(quán)重,對訓(xùn)練樣本的損失值進行加權(quán)求和,獲取訓(xùn)練樣本的總損失,并利用訓(xùn)練樣本的總損失對大模型進行反向傳播和參數(shù)更新。
7、結(jié)合第一方面,進一步的,訓(xùn)練集和驗證集是根據(jù)大模型的下游任務(wù)選取的,訓(xùn)練集和驗證集采用指令微調(diào)的形式,訓(xùn)練集和驗證集所對應(yīng)的數(shù)據(jù)集格式為,其中,表示第個輸入樣本,表示第個輸出響應(yīng),表示樣本總數(shù)。
8、結(jié)合第一方面,進一步的,利用低秩適應(yīng)方法將大模型的訓(xùn)練參數(shù)的變化量矩陣分解為兩個低秩矩陣包括:
9、將大模型的訓(xùn)練參數(shù)的變化量矩陣分解為兩個低秩矩陣和,其中,、、分別表示維度為、、的矩陣,表示低秩適應(yīng)的秩,;
10、通過兩個低秩矩陣和的乘積對大模型的訓(xùn)練參數(shù)的變化量矩陣進行近似,并在微調(diào)完成后將兩個低秩矩陣和的乘積與訓(xùn)練參數(shù)進行合并,得到新的訓(xùn)練參數(shù)。
11、結(jié)合第一方面,進一步的,提取訓(xùn)練樣本和驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活和一維輸出梯度包括:
12、每一輪訓(xùn)練中,提取訓(xùn)練樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活和一維輸出梯度;
13、每間隔輪訓(xùn)練,提取驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活和一維輸出梯度。
14、結(jié)合第一方面,進一步的,間隔是根據(jù)選取的訓(xùn)練集和驗證集所對應(yīng)的樣本數(shù)量設(shè)置的。
15、結(jié)合第一方面,進一步的,每間隔輪訓(xùn)練,提取驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活和一維輸出梯度包括:
16、將每次提取的驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活和一維輸出梯度作為中間結(jié)果暫存在內(nèi)存或顯存中,直至下一次提取時對中間結(jié)果進行更新。
17、結(jié)合第一方面,進一步的,根據(jù)一維輸入激活和一維輸出梯度,計算訓(xùn)練樣本的權(quán)重包括:
18、根據(jù)當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活和驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活,計算當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本與驗證樣本的一維輸入激活相似度;
19、根據(jù)當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸出梯度和驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸出梯度,計算當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本與驗證樣本的一維輸出梯度相似度;
20、根據(jù)當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本與驗證樣本的一維輸入激活相似度和一維輸出梯度相似度,計算當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本與驗證樣本的梯度相似度;
21、對當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本與驗證樣本的梯度相似度進行歸一化處理,并將經(jīng)過歸一化處理的當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本與驗證樣本的梯度相似度作為當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本的權(quán)重。
22、結(jié)合第一方面,進一步的,訓(xùn)練樣本與驗證樣本的一維輸入激活相似度的計算公式為,其中,表示第個可訓(xùn)練模塊中第個訓(xùn)練樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活,表示第個可訓(xùn)練模塊中第個驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活,表示轉(zhuǎn)置;
23、訓(xùn)練樣本與驗證樣本的一維輸出梯度相似度的計算公式為,其中,表示第個可訓(xùn)練模塊中第個訓(xùn)練樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸出梯度,表示第個可訓(xùn)練模塊中第個驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸出梯度;
24、訓(xùn)練樣本與驗證樣本的梯度相似度的計算公式為。
25、結(jié)合第一方面,進一步的,若當(dāng)前訓(xùn)練輪次中未提取驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活和一維輸出梯度,則將上一次提取的驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活和一維輸出梯度作為當(dāng)前訓(xùn)練輪次中驗證樣本通過大模型進行前向傳播和反向傳播后在低秩適應(yīng)層上的一維輸入激活和一維輸出梯度。
26、結(jié)合第一方面,進一步的,基于訓(xùn)練樣本的權(quán)重,對訓(xùn)練樣本的損失值進行加權(quán)求和,獲取訓(xùn)練樣本的總損失,并利用訓(xùn)練樣本的總損失對大模型進行反向傳播和參數(shù)更新包括:
27、根據(jù)當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本的權(quán)重,對當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本的損失值進行加權(quán)求和,獲取當(dāng)前訓(xùn)練輪次中訓(xùn)練樣本的總損失,并利用當(dāng)前輪次中訓(xùn)練樣本的總損失對大模型進行反向傳播和參數(shù)更新;
28、重復(fù)以上步驟,直至大模型的訓(xùn)練達到最大迭代輪次為止;
29、其中,訓(xùn)練樣本的總損失的計算公式為:
30、;
31、其中,表示訓(xùn)練樣本的總損失,表示第個訓(xùn)練樣本的權(quán)重,表示第個訓(xùn)練樣本的損失值,表示訓(xùn)練樣本總數(shù)。
32、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
33、本發(fā)明提供的大模型訓(xùn)練樣本重加權(quán)方法,基于參數(shù)梯度反向傳播的鏈?zhǔn)椒▌t和乘法交換律,在計算梯度相似度時將二維梯度相似度分解成一維輸入激活和一維輸出梯度的乘積,能夠大大減少顯存開銷;進一步將該方法與低秩適應(yīng)方法結(jié)合起來,在低秩適應(yīng)層上應(yīng)用以上分解,能夠?qū)崿F(xiàn)與普通監(jiān)督微調(diào)相近的顯存開銷。
34、本發(fā)明提供的大模型訓(xùn)練樣本重加權(quán)方法,充分考慮了每個訓(xùn)練樣本對下游任務(wù)不同的貢獻,通過自適應(yīng)調(diào)權(quán)和低秩近似的方法來高效地為每個訓(xùn)練樣本進行加權(quán),能夠以極低的額外顯存開銷在下游任務(wù)微調(diào)中取得更好的性能。