本發(fā)明屬于大語(yǔ)言模型,尤其涉及一種基于lora改進(jìn)的大語(yǔ)言模型微調(diào)方法。
背景技術(shù):
1、為了使得預(yù)訓(xùn)練的語(yǔ)言模型在垂直領(lǐng)域具有更好的表現(xiàn),人們需要通過微調(diào)來更新其可訓(xùn)練的參數(shù)。然而,如果對(duì)所有參數(shù)都進(jìn)行上述操作,會(huì)對(duì)硬件設(shè)備提出巨大的要求,并且訓(xùn)練的時(shí)間往往也會(huì)非常漫長(zhǎng)。例如,哪怕是較小的大語(yǔ)言模型(如llama-7b,yi-6b等),也具備幾十億個(gè)可訓(xùn)練的參數(shù),對(duì)其進(jìn)行全量微調(diào)也需要上百g的顯存,這對(duì)絕大多數(shù)人來說是不可接受的。為了降低大語(yǔ)言模型的微調(diào)開銷,減少訓(xùn)練過程中調(diào)整的參數(shù)量,人們提出了各式各樣的參數(shù)高效微調(diào)方法。lora是最知名的參數(shù)高效微調(diào)方法之一。它的作者假設(shè)模型權(quán)重矩陣在調(diào)整過程中具有較低的內(nèi)在秩,不再直接微調(diào)權(quán)重矩陣,而是凍結(jié)權(quán)重矩陣的參數(shù),使其梯度不再更新,轉(zhuǎn)而訓(xùn)練低秩分解后的a和b矩陣,更新的參數(shù)則用b與a的乘積代替。因?yàn)閍和b矩陣所包含的參數(shù)量會(huì)遠(yuǎn)遠(yuǎn)小于權(quán)重矩陣的參數(shù)量,因此能加快訓(xùn)練速度并大大減少微調(diào)過程中對(duì)顯存的需求。在對(duì)模型進(jìn)行量化的情況下,微調(diào)幾十億參數(shù)的模型所需的顯存甚至可以降到10gb以下。并且在大大減少訓(xùn)練的參數(shù)量后,lora仍能取得與全量微調(diào)相近的效果。lora提出之后,各種各樣的基于lora的變種微調(diào)方法也被發(fā)明出來,krona便是其中之一。該方法與lora的主要區(qū)別在于它用兩個(gè)矩陣的克羅內(nèi)克積替代了lora中的矩陣a和b;因?yàn)閗rona訓(xùn)練的參數(shù)量也會(huì)遠(yuǎn)小于全量微調(diào),所以該方法也能加快訓(xùn)練速度。并且與lora相比,krona中的矩陣a和矩陣b的乘積可以和原始矩陣保持相同的秩,在秩與參數(shù)量上獲得了更好的平衡。
技術(shù)實(shí)現(xiàn)思路
1、為解決上述技術(shù)問題,本發(fā)明提出了一種基于lora改進(jìn)的大語(yǔ)言模型微調(diào)方法,降低了lora在微調(diào)過程中訓(xùn)練的參數(shù)量。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于lora改進(jìn)的大語(yǔ)言模型微調(diào)方法,包括:
3、獲取大模型的權(quán)重文件,并依據(jù)所需的垂直領(lǐng)域和下游任務(wù)獲取訓(xùn)練數(shù)據(jù)集;
4、搭建微調(diào)的平臺(tái);
5、獲取開源的lora代碼,對(duì)所述開源的lora代碼進(jìn)行修改,獲得修改后的代碼;
6、利用所述訓(xùn)練數(shù)據(jù)集和修改好的代碼對(duì)選定的大模型進(jìn)行微調(diào),微調(diào)完成后將輸出的lora模塊加載到原模型的權(quán)重矩陣上,從而使得大模型擁有更好完成具體下游任務(wù)的能力。
7、可選的,對(duì)所述開源的lora代碼進(jìn)行修改,獲得修改后的代碼包括:
8、將權(quán)重矩陣分解為單個(gè)矩陣a并只訓(xùn)練矩陣a中包含的參數(shù);
9、利用矩陣a與矩陣a自身轉(zhuǎn)置的乘積或克羅內(nèi)克積更新權(quán)重矩陣并進(jìn)行前向傳播,獲得修改后的代碼。
10、可選的,利用矩陣a與矩陣a自身轉(zhuǎn)置的乘積更新權(quán)重矩陣并前向傳播的方法為:
11、w0+δw=w0+ata
12、y=w0x+δwx=w0x+atax
13、其中,w0表示權(quán)重矩陣;δw表示更新的參數(shù);a表示訓(xùn)練的矩陣;t表示轉(zhuǎn)置符號(hào);y表示輸出向量;x表示輸入向量。
14、可選的,利用矩陣a與矩陣a自身轉(zhuǎn)置的克羅內(nèi)克積更新權(quán)重矩陣并前向傳播的方法為:
15、
16、其中,w0表示權(quán)重矩陣;δw表示更新的參數(shù);a表示訓(xùn)練的矩陣;t表示轉(zhuǎn)置符號(hào);y表示輸出向量;x表示輸入向量;表示克羅內(nèi)克積。
17、本發(fā)明技術(shù)效果:本發(fā)明公開了一種基于lora改進(jìn)的大語(yǔ)言模型微調(diào)方法,主要包含兩種方法:loras和lorask。在loras中,原lora中的矩陣b被舍棄,只訓(xùn)練矩陣a的參數(shù),然后通過矩陣a與其自身轉(zhuǎn)置的乘積進(jìn)行重參數(shù)化。lorask也舍棄了矩陣b,只保留矩陣a,但它是通過矩陣a與其自身轉(zhuǎn)置的克羅內(nèi)克積來進(jìn)行重參數(shù)化的。與原始的lora方法和krona方法相比,本發(fā)明提供的技術(shù)進(jìn)一步降低了訓(xùn)練過程中的參數(shù)量,比如在r=8的情況下,loras的訓(xùn)練參數(shù)量縮小為lora的一半,而lorask的訓(xùn)練參數(shù)量則僅為lora的十六分之一。因?yàn)檫@種改進(jìn)進(jìn)一步縮小了參數(shù)量,因此能夠更好的降低對(duì)設(shè)備存儲(chǔ)的需求。
1.一種基于lora改進(jìn)的大語(yǔ)言模型微調(diào)方法,其特征在于,包括:
2.如權(quán)利要求1所述的基于lora改進(jìn)的大語(yǔ)言模型微調(diào)方法,其特征在于,
3.如權(quán)利要求2所述的基于lora改進(jìn)的大語(yǔ)言模型微調(diào)方法,其特征在于,
4.如權(quán)利要求2所述的基于lora改進(jìn)的大語(yǔ)言模型微調(diào)方法,其特征在于,