chatgpt優(yōu)化句子指令 中科院張家俊:ChatGPT中的提示與指令學(xué)習(xí)
邁向通用性的提示學(xué)習(xí)
一、預(yù)訓(xùn)練大模型的兩種方向
預(yù)訓(xùn)練大模型主要是通過(guò)“預(yù)訓(xùn)練+參數(shù)微調(diào)”(Pre-+Fine-)和“預(yù)訓(xùn)練+提示學(xué)習(xí)”(Pre-+ )兩種方式來(lái)實(shí)現(xiàn)下游任務(wù)的預(yù)測(cè)。
二、預(yù)訓(xùn)練+參數(shù)微調(diào)
“預(yù)訓(xùn)練+參數(shù)微調(diào)”是指大模型預(yù)訓(xùn)練后作為一個(gè)良好初始化的基礎(chǔ)模型,從結(jié)構(gòu)上適配每一個(gè)下游任務(wù),并微調(diào)大模型的參數(shù),使得下游任務(wù)的性能達(dá)到最優(yōu)。譬如以大模型適應(yīng)分類(lèi)任務(wù)為例子,模型的實(shí)現(xiàn)方式是在預(yù)訓(xùn)練模型的最后一個(gè)節(jié)點(diǎn)增加一個(gè)簡(jiǎn)單的分類(lèi)網(wǎng)絡(luò)(),在訓(xùn)練過(guò)程中,不僅去更新分類(lèi)網(wǎng)絡(luò)的參數(shù),也去更新整個(gè)預(yù)訓(xùn)練模型的參數(shù)。訓(xùn)練完成后,模型就能更適合分類(lèi)任務(wù),不過(guò)與此同時(shí),模型具有的通用性就變?nèi)趿?。面向序列?biāo)注、文本生成任務(wù)也是采用預(yù)訓(xùn)練+參數(shù)微調(diào)的方式來(lái)更新模型參數(shù),模型的通用能力也會(huì)減弱。同樣的情況可以推廣到機(jī)器翻譯、自動(dòng)問(wèn)答、情感分析的任務(wù)。
圖 4 預(yù)訓(xùn)練+參數(shù)微調(diào):適應(yīng)分類(lèi)任務(wù)
圖 5 預(yù)訓(xùn)練+參數(shù)微調(diào):適應(yīng)分序列任務(wù)
圖 6 預(yù)訓(xùn)練+參數(shù)微調(diào):適應(yīng)文本生成任務(wù)
圖 7 “預(yù)訓(xùn)練+參數(shù)微調(diào)”范式
從上面這些例子做個(gè)總結(jié),預(yù)訓(xùn)練+參數(shù)微調(diào)的方式能夠在特定任務(wù)取得不錯(cuò)的效果,不過(guò)這種方式存在一些局限性。第一,預(yù)訓(xùn)練+參數(shù)微調(diào)的方式缺乏處理通用問(wèn)題的能力。第二,需要針對(duì)每種任務(wù)都獨(dú)立進(jìn)行模型訓(xùn)練,資源占用過(guò)多。第三,會(huì)存在過(guò)擬合的問(wèn)題,因?yàn)椴皇撬蓄?lèi)型的任務(wù)都有大量的標(biāo)注數(shù)據(jù),在下游任務(wù)數(shù)據(jù)少的情況存在泛化能力方面的問(wèn)題。
三、預(yù)訓(xùn)練+提示學(xué)習(xí)
“預(yù)訓(xùn)練+提示學(xué)習(xí)”指的是先對(duì)大型模型進(jìn)行預(yù)訓(xùn)練,在后續(xù)的任務(wù)中保持參數(shù)不變,利用提示語(yǔ)的形式使預(yù)訓(xùn)練模型能夠滿(mǎn)足各種下游任務(wù)需求。具體來(lái)說(shuō),我們會(huì)將下游任務(wù)轉(zhuǎn)換為預(yù)訓(xùn)練模型的輸入輸出格式,例如文本分類(lèi)、序列標(biāo)注和文本生成等任務(wù)都需要將文本輸入格式化為預(yù)訓(xùn)練模型的輸入格式chatgpt優(yōu)化句子指令,并將預(yù)訓(xùn)練模型的輸出轉(zhuǎn)換為任務(wù)需要的輸出格式,最終通過(guò)利用提示語(yǔ)激活大模型來(lái)完成特定任務(wù)。
我們針對(duì)幾個(gè)常見(jiàn)的NLP任務(wù)來(lái)描述一下預(yù)訓(xùn)練+提示學(xué)習(xí)的處理過(guò)程。譬如有個(gè)文本分類(lèi)場(chǎng)景要對(duì)“I love this film”這句評(píng)論來(lái)預(yù)測(cè)它表達(dá)的情感傾向是“”或“”。提示學(xué)習(xí)的處理辦法是在“I love this film”句子后面加個(gè)提示語(yǔ)“Its is”,用語(yǔ)言模型來(lái)預(yù)測(cè)下一個(gè)詞是什么,預(yù)測(cè)結(jié)果如果為“”或“”則可以作為最終預(yù)測(cè)結(jié)果,或者如果兩個(gè)詞都沒(méi)命中,可以通過(guò)判斷“”還是“”的概率更高,來(lái)完成整個(gè)任務(wù)的處理。其他的任務(wù)的處理過(guò)程是類(lèi)似的,主要在于提示語(yǔ)有所區(qū)別。在處理詞性標(biāo)注時(shí),是在句子后面添加提示語(yǔ)“Its POS is”,然后就按照語(yǔ)言模型的方式生成詞性標(biāo)注結(jié)果。在處理翻譯的時(shí)候,是在句子后面添加提示語(yǔ)“Its is”,然后語(yǔ)言模型會(huì)預(yù)測(cè)輸出“我真的喜歡這部電影”。
圖 8 預(yù)訓(xùn)練+提示學(xué)習(xí):分類(lèi)任務(wù)適應(yīng)大模型
圖 9 預(yù)訓(xùn)練+提示學(xué)習(xí):序列標(biāo)注任務(wù)適應(yīng)大模型
圖 10 預(yù)訓(xùn)練+提示學(xué)習(xí):文本生成任務(wù)適應(yīng)大模型
四、提示語(yǔ)
提示語(yǔ)是預(yù)訓(xùn)練+提示學(xué)習(xí)里面的重要要素。怎么理解提示語(yǔ)呢,提示語(yǔ)就是插入到下游任務(wù)文本輸入中的一段特殊文本,可以視為一組特殊參數(shù),觸發(fā)預(yù)訓(xùn)練大模型實(shí)現(xiàn)特定下游任務(wù)的同時(shí),保持預(yù)訓(xùn)練大模型訓(xùn)練和測(cè)試一致。
提示語(yǔ)可以是離散的,也可以是連續(xù)的。離散的提示語(yǔ)比較常見(jiàn),上面提及的提示語(yǔ)就是離散提示語(yǔ)。離散提示語(yǔ)的產(chǎn)生主要有兩種方式:人工分析特定的下游任務(wù),總結(jié)下游任務(wù)的規(guī)律,設(shè)計(jì)適合特定下游任務(wù)的提示語(yǔ);通過(guò)從文本數(shù)據(jù)中自動(dòng)搜索的方式找到合適的完成特定下游任務(wù)的提示語(yǔ)。為每個(gè)任務(wù)每個(gè)樣本找到合適的提示語(yǔ)是一個(gè)巨大挑戰(zhàn),不同提示語(yǔ)導(dǎo)致顯著的結(jié)果差異。
連續(xù)提示語(yǔ)則是在輸入文本或者模型中加入一組連續(xù)向量代表具有泛化能力的提示語(yǔ)。連續(xù)提示語(yǔ)有兩種添加方式,一種是直接在文本輸入前添加[5]chatgpt優(yōu)化句子指令,一種是網(wǎng)絡(luò)或者每層網(wǎng)絡(luò)前添加連續(xù)向量表示提示語(yǔ)[6]。
圖 11 連續(xù)提示語(yǔ)
五、對(duì)比分析
我們對(duì)“預(yù)訓(xùn)練+參數(shù)微調(diào)”和“預(yù)訓(xùn)練+提示學(xué)習(xí)”兩種方式進(jìn)行對(duì)比。
兩種方式最重要的區(qū)別是在支持下游任務(wù)的形式[7]。下圖中“預(yù)訓(xùn)練+參數(shù)微調(diào)”的大模型需要針對(duì)不同任務(wù)來(lái)對(duì)參數(shù)進(jìn)行調(diào)整,“預(yù)訓(xùn)練+提示學(xué)習(xí)”只需要通過(guò)設(shè)計(jì)提示信息來(lái)修改輸入模式,使得讓它具有完成下游任務(wù)的能力。
圖 12 “預(yù)訓(xùn)練+參數(shù)微調(diào)” VS “預(yù)訓(xùn)練+提示學(xué)習(xí)”
雖然“預(yù)訓(xùn)練+提示學(xué)習(xí)”有顯著的優(yōu)點(diǎn),不過(guò)在2020年前相關(guān)方向的研究成果較少。這是因?yàn)橹暗哪P鸵?guī)模較小、通用性比較弱,不適合提示學(xué)習(xí),適合參數(shù)微調(diào)。而到了2020年后,模型規(guī)模有大幅提升,微調(diào)的成本也隨之提升,同時(shí)通用性強(qiáng),適合提示學(xué)習(xí)。
圖 13 從“預(yù)訓(xùn)練+參數(shù)微調(diào)”到 “預(yù)訓(xùn)練+提示學(xué)習(xí)”
下圖的藍(lán)線(xiàn)是GPT-3在45個(gè)任務(wù)上的Zero Shot性能,準(zhǔn)確率平均在30%左右,效果還是比較弱的。這說(shuō)明提示學(xué)習(xí)能夠觸發(fā)預(yù)訓(xùn)練大模型完成特定任務(wù),但是單一的外部提示信號(hào)難以最大限度地激發(fā)預(yù)訓(xùn)練大模型的能力,從而高質(zhì)量地完成具體任務(wù)。
圖 14 GPT-3在45個(gè)任務(wù)上的性能
從提示學(xué)習(xí)到指令學(xué)習(xí)
“預(yù)訓(xùn)練+參數(shù)微調(diào)”通過(guò)具體任務(wù)的監(jiān)督數(shù)據(jù)微調(diào)模型參數(shù),能夠最大限度地激發(fā)預(yù)訓(xùn)練大模型完成特定任務(wù)的能力,但是面臨數(shù)據(jù)稀缺、災(zāi)難遺忘、資源浪費(fèi)、通用性弱等難題?!邦A(yù)訓(xùn)練+提示學(xué)習(xí)”通用性強(qiáng),但是在具體任務(wù)上效果偏弱。所以研究者考慮更好整合兩者的優(yōu)勢(shì),讓大模型更好理解具體任務(wù)的執(zhí)行意圖,所以就有了從提示學(xué)習(xí)到指令學(xué)習(xí)的過(guò)渡?!皡?shù)微調(diào)”、“提示學(xué)習(xí)”、“指令學(xué)習(xí)”的執(zhí)行邏輯如下:
圖 15 大模型+指令學(xué)習(xí)
下面看一個(gè)提示學(xué)習(xí)的例子,還是以機(jī)器翻譯、問(wèn)答和情感分類(lèi)作為任務(wù)場(chǎng)景,原來(lái)是每個(gè)任務(wù)場(chǎng)景對(duì)應(yīng)一個(gè)模型chatgpt優(yōu)化句子指令,現(xiàn)在把所有任務(wù)的形式轉(zhuǎn)變?yōu)檎Z(yǔ)言模型的形式。譬如處理翻譯任務(wù)時(shí),把提示語(yǔ)的信息插入文本得到“‘I love ’的中文翻譯是”。不同的樣本可以使用不同的提示語(yǔ)來(lái)保證一定差異性。然后把所有任務(wù)的標(biāo)注數(shù)據(jù)合并在一起,作為一個(gè)統(tǒng)一的任務(wù)執(zhí)行參數(shù)微調(diào)。所有數(shù)據(jù)經(jīng)過(guò)訓(xùn)練之后得到一個(gè)新的大模型,新的大模型可以再利用提示語(yǔ)觸發(fā)大模型去完成特定的能力,結(jié)果是能夠支持不同任務(wù)的同時(shí)也提升了多任務(wù)的執(zhí)行效果。
圖 16 “大模型+指令學(xué)習(xí)”適應(yīng)下游任務(wù)
圖 17 谷歌FLAN模型
這是當(dāng)時(shí)谷歌提出來(lái)FLAN的例子,左上角是預(yù)訓(xùn)練+微調(diào),左下角是提示語(yǔ),右邊是FLAN的指令學(xué)習(xí),是前兩者的結(jié)合。FLAN在數(shù)十個(gè)任務(wù)上微調(diào),發(fā)現(xiàn)它在未見(jiàn)的任務(wù)上也有預(yù)測(cè)能力。舉例來(lái)說(shuō),F(xiàn)LAN在對(duì)常識(shí)推理、翻譯等任務(wù)進(jìn)行微調(diào)后,會(huì)發(fā)現(xiàn)訓(xùn)練好的模型會(huì)在自然語(yǔ)言推斷任務(wù)上具備不錯(cuò)的預(yù)測(cè)效果。所以FLAN在62個(gè)數(shù)據(jù)集40多個(gè)任務(wù)上進(jìn)行了訓(xùn)練,任務(wù)包含理解和生成兩種形態(tài)。實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)當(dāng)參數(shù)達(dá)到百億規(guī)模以上,幾十個(gè)任務(wù)的聯(lián)合指令學(xué)習(xí)就可以解決未知的任務(wù)。
圖 18 FLAN展現(xiàn)的未知任務(wù)的預(yù)測(cè)能力
圖 19 FLAN使用的文本任務(wù)數(shù)據(jù)集
圖 20 百億參數(shù)規(guī)模模型多任務(wù)聯(lián)合學(xué)習(xí)可以解決未知任務(wù)
FLAN的重大發(fā)現(xiàn)對(duì)后續(xù)的工作起到了指導(dǎo)作用。在此基礎(chǔ)上,的前身 GPT收集了API指令,這樣它的指令 類(lèi)型更豐富,覆蓋的范圍越大,在此基礎(chǔ)上的訓(xùn)練更觸發(fā)了它的通用能力。
大語(yǔ)言模型的相關(guān)探索和實(shí)踐
一、如何尋找最佳的提示語(yǔ)
上文提示學(xué)習(xí)的內(nèi)容提到,提示語(yǔ)對(duì)預(yù)測(cè)效果有顯著影響。下面的例子展示了在處理同樣的文本翻譯時(shí),采用了不同的提示詞(“中文翻譯是什么”和“用中文怎么說(shuō)”),返回的結(jié)果差異非常大。此時(shí)如何提升模型效果的問(wèn)題可轉(zhuǎn)化為,如何找到不同問(wèn)題的最佳提示語(yǔ),有沒(méi)有一種方法自動(dòng)學(xué)習(xí)提示語(yǔ)。
圖 21 不同提示語(yǔ)對(duì)文本翻譯結(jié)果的影響
二、樣本級(jí)提示學(xué)習(xí)方法
針對(duì)上述問(wèn)題,我們提出一種樣本級(jí)提示學(xué)習(xí)方法[10],為每個(gè)樣本學(xué)習(xí)最合適的提示語(yǔ)。執(zhí)行的方式為,來(lái)了新的樣本時(shí),模型會(huì)結(jié)合輸入的提示語(yǔ)和文本,根據(jù)相關(guān)性去搜索最相關(guān)的提示語(yǔ),作為語(yǔ)言模型的輸入。這種方法的優(yōu)勢(shì)是最大限度地建模了不同樣本的獨(dú)特性,相比于相同的提示語(yǔ)取得更好的性能提升,不過(guò)存在的不足之處是未考慮樣本間的共性,也即忽略了不同的樣本實(shí)際上屬于同一種任務(wù)的事實(shí)。
圖 22 樣本級(jí)提示學(xué)習(xí)方法
三、統(tǒng)一提示學(xué)習(xí)方法
鑒于樣本級(jí)提示學(xué)習(xí)方法只考慮樣本、沒(méi)有考慮到任務(wù)的共性,所以我們進(jìn)一步提出了統(tǒng)一提示語(yǔ)學(xué)習(xí)的方法[11],可以同時(shí)建模任務(wù)級(jí)的信息和樣本級(jí)的信息。它的處理辦法是為每個(gè)任務(wù)學(xué)習(xí)一個(gè)提示,為任務(wù)中的每個(gè)樣本學(xué)習(xí)一個(gè)提示,兩類(lèi)提示信息進(jìn)行融合,獲得最佳提示。下圖是統(tǒng)一提示學(xué)習(xí)方法的架構(gòu),灰色的部分參數(shù)不變,藍(lán)色的部分是非常小的參數(shù)量,一個(gè)是從樣本學(xué)到樣本級(jí)的參數(shù),一個(gè)是每個(gè)任務(wù)有對(duì)應(yīng)的參數(shù)。通過(guò)這個(gè)結(jié)構(gòu)模型能夠判斷每個(gè)樣本應(yīng)該用多少任務(wù)級(jí)的信息、多少樣本級(jí)的信息,最終為每個(gè)樣本學(xué)到最合適的提示。
圖 23 統(tǒng)一提示學(xué)習(xí)方法
統(tǒng)一提示學(xué)習(xí)方法優(yōu)勢(shì)是同時(shí)結(jié)合了任務(wù)信息和樣本信息,理論上可以獲得最佳的提示信息。存在的不足是需要提前知道任務(wù)信息,需要進(jìn)一步的泛化。相比之下目前在不知道請(qǐng)求的任務(wù)是什么的情況,也能夠感知到任務(wù)的具體類(lèi)型,有較大優(yōu)勢(shì)。后續(xù)研究拓展方向可以通過(guò)感知的方式判斷任務(wù)的信息,在跟任務(wù)信息已知的基礎(chǔ)上再去學(xué)習(xí)任務(wù)和樣本相關(guān)的泛化。
四、實(shí)驗(yàn)效果
實(shí)驗(yàn)結(jié)果驗(yàn)證了統(tǒng)一提示學(xué)習(xí)方法在標(biāo)準(zhǔn)數(shù)據(jù)集上取得少樣本學(xué)習(xí)的最佳平均性能。在數(shù)據(jù)集上發(fā)現(xiàn),統(tǒng)一提示學(xué)習(xí)方法比GPT-3在上下文推理能力能力更優(yōu)(單句子任務(wù)的平均任務(wù)得分分別為83.2和70.0,句子對(duì)相關(guān)任務(wù)的平均得分為72.0和49.8),這說(shuō)明了學(xué)習(xí)提示對(duì)提升模型效果非常有效,如何找到最佳提示語(yǔ)非常關(guān)鍵。
圖 24 統(tǒng)一提示學(xué)習(xí)方法在標(biāo)準(zhǔn)數(shù)據(jù)集單句子任務(wù)上的效果
圖 25 統(tǒng)一提示學(xué)習(xí)方法在標(biāo)準(zhǔn)數(shù)據(jù)集雙句子任務(wù)上的效果
開(kāi)放性問(wèn)題思考
一個(gè)月前寫(xiě)了《八個(gè)技術(shù)問(wèn)題的猜想》,后來(lái)一直在做模型探索,整理了一些開(kāi)放性問(wèn)題與觀(guān)眾讀者探討:
第一,實(shí)踐發(fā)現(xiàn)數(shù)據(jù)不僅僅決定模型性能,還能極大影響模型訓(xùn)練過(guò)程的成敗,其中的原因是什么。Meta去年發(fā)布幾個(gè)模型,在訓(xùn)練過(guò)程中失敗掛掉了二十多次,每一次數(shù)據(jù)會(huì)影響數(shù)據(jù)的訓(xùn)練是否成功。
第二,能力涌現(xiàn)是如何發(fā)生的?為什么會(huì)在百億參數(shù)規(guī)模以上才會(huì)體現(xiàn)出來(lái)?或者并非涌現(xiàn),只是模型規(guī)模測(cè)試不夠連續(xù)。
第三,中文等語(yǔ)言的數(shù)據(jù)占比非常少,例如只有不到5%,而模型的中文表現(xiàn)卻非常好?能力遷移是如何發(fā)生的。
第四,大模型的能力能否蒸餾到小模型。
第五,作為黑盒的通用大模型似乎與人腦有相似之處,未來(lái)是否可以采用腦科學(xué)研究范式研究大模型。
參考文獻(xiàn)
[1] A, N, N, et al. is all you need[J]. in , 2017, 30.
[2] Wei J, M, Zhao V Y, et al. are zero-shot [J]. :2109., 2021.
[3] J, F, P, et al. [J]. :1707., 2017.
[4] Von L, S, K, et al. –A and of into [J]. IEEE on and Data , 2021, 35(1): 614-633.
[5] B, Al-Rfou R, N. The of for - [J]. :2104., 2021.
[6] Li X L, P. -: for [J]. :2101., 2021.
[7] Liu P, Yuan W, Fu J, et al. Pre-, , and : A of in [J]. ACM , 2023, 55(9): 1-35.
[8] Wei J, M, Zhao V Y, et al. are zero-shot [J]. :2109., 2021.
[9] L, Wu J, X, et al. to with [J]. in , 2022, 35: -.
[10] Jin F, Lu J, J, et al. - for and [J]. :2201., 2022.
[11] Jin F, Lu J, J,et al. pre- few-shot . 2023.
相關(guān)文章:“翻譯技術(shù)沙龍”第十三次活動(dòng) ——計(jì)算機(jī)輔助翻譯與譯后編輯 NLP 是一個(gè)力氣活:再論成語(yǔ)不是問(wèn)題 如何計(jì)算兩個(gè)文檔的相似度全文文檔 AI 2018 細(xì)粒度用戶(hù)評(píng)論情感分析
文章導(dǎo)航
“國(guó)產(chǎn)類(lèi) ”所存在的差距與挑戰(zhàn)-專(zhuān)家圓桌
新浪張俊林:大語(yǔ)言模型的涌現(xiàn)能力——現(xiàn)象與解釋
免責(zé)聲明:本文系轉(zhuǎn)載,版權(quán)歸原作者所有;旨在傳遞信息,不代表本站的觀(guān)點(diǎn)和立場(chǎng)和對(duì)其真實(shí)性負(fù)責(zé)。如需轉(zhuǎn)載,請(qǐng)聯(lián)系原作者。如果來(lái)源標(biāo)注有誤或侵犯了您的合法權(quán)益或者其他問(wèn)題不想在本站發(fā)布,來(lái)信即刪。
聲明:本站所有文章資源內(nèi)容,如無(wú)特殊說(shuō)明或標(biāo)注,均為采集網(wǎng)絡(luò)資源。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系本站刪除。