大語(yǔ)言模型于海量的文本內(nèi)容上,以無(wú)監(jiān)督和半監(jiān)督的方式進(jìn)行訓(xùn)練的
模型微調(diào)的目的:使其在具體的使用場(chǎng)景或領(lǐng)域中輸出更好的回答
增量預(yù)訓(xùn)練——給模型喂新的領(lǐng)域知識(shí);
指令跟隨或指令微調(diào)——
基于海量的預(yù)訓(xùn)練數(shù)據(jù)訓(xùn)練出來(lái)的模型通常叫做——base模型或預(yù)訓(xùn)練模型,在沒(méi)有進(jìn)行指令微調(diào)的模型上進(jìn)行測(cè)試,模型只是單純的對(duì)給定的輸入進(jìn)行在訓(xùn)練數(shù)據(jù)集上的擬合,而不能意識(shí)到在對(duì)模型進(jìn)行提問(wèn),為了讓模型在測(cè)試過(guò)程中有更好的表現(xiàn),需要對(duì)基座模型進(jìn)行指令微調(diào)。
指令微調(diào)
在對(duì)基座模型進(jìn)行指令微調(diào)時(shí),首先需要對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行角色指定
在給模型投喂的一條數(shù)據(jù)中,數(shù)據(jù)由一問(wèn)一答的形式構(gòu)成,問(wèn)題和結(jié)果分別指定為user和assistant兩個(gè)角色,system部分的數(shù)據(jù)按照自己微調(diào)的目標(biāo)領(lǐng)域來(lái)書(shū)寫(xiě),如果想微調(diào)一個(gè)醫(yī)療的ai助手,那system的內(nèi)容可以為:你是一個(gè)專(zhuān)業(yè)的醫(yī)生,你總能輸出專(zhuān)業(yè)且正確的細(xì)致且耐心的這種回答。
在同一次微調(diào),同一個(gè)數(shù)據(jù)集中,system的內(nèi)容往往由于目標(biāo)的唯一性,是確定的
以上的內(nèi)容為 對(duì)話(huà)模板的構(gòu)建
在與模型進(jìn)行對(duì)話(huà)的過(guò)程中(部署的階段),用戶(hù)不需要進(jìn)行角色的分配,用戶(hù)輸入的內(nèi)容被默認(rèn)放入user的部分,system部分由模板自動(dòng)添加,具體的模板在啟動(dòng)預(yù)測(cè)的時(shí)候可以進(jìn)行自定義,計(jì)算損失時(shí),只需要進(jìn)行assistant部分的損失
指令微調(diào)的原理
增量預(yù)訓(xùn)練微調(diào)
進(jìn)行指令微調(diào)的過(guò)程中,每條數(shù)據(jù)都由一問(wèn)一答的形式構(gòu)成,但增量訓(xùn)練的數(shù)據(jù)不需要問(wèn)題,只需要回答,或者說(shuō)增量訓(xùn)練的數(shù)據(jù),都是一個(gè)一個(gè)的陳述句,所以每一條訓(xùn)練的數(shù)據(jù)中system和user的部分只需要留空,增量訓(xùn)練的數(shù)據(jù)放入到assistant中即可,計(jì)算損失時(shí)也只需要計(jì)算assistant的部分的損失
X Turner中使用的原理——LoRA和QLoRA
使用LoRA的理由——如果對(duì)整個(gè)模型的所有參數(shù)進(jìn)行調(diào)整,需要非常大的顯存才能訓(xùn)練,而LoRA不需要非常大的顯存開(kāi)銷(xiāo)
LoRA是一種在原有的模型的線(xiàn)路旁,新增一個(gè)旁路分支Adapter,該分支包含兩個(gè)小的部分(LoRA模型文件 指的就是旁路分支Adapter文件)
QLoRA是對(duì)LoRA的一種改進(jìn)
全參數(shù)微調(diào),LoRA和QLoRA的對(duì)比
全參數(shù)微調(diào)和LoRA微調(diào),模型的參數(shù)都需要先加載到顯存中,但對(duì)LoRA,其參數(shù)優(yōu)化器只需要保存LoRA部分的參數(shù)優(yōu)化器即可;而QLoRA,在加載模型時(shí),就使用4比特量化的方式加載,其優(yōu)化器也可以在cpu和gpu之間進(jìn)行調(diào)度,即若顯存滿(mǎn)了,就自動(dòng)在內(nèi)存中跑文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-791652.html
XTuner
一些trick的訓(xùn)練策略文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-791652.html
到了這里,關(guān)于XTuner 微調(diào) 課程學(xué)習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!