【導(dǎo)讀】文本探討了自然語(yǔ)言處理中新興的指令學(xué)習(xí)范式,重點(diǎn)關(guān)注任務(wù)指令、建模方法、性能影響因素及挑戰(zhàn)。
任務(wù)語(yǔ)義可以用一組輸入到輸出的例子或一條文本指令來(lái)表示。傳統(tǒng)的自然語(yǔ)言處理(NLP)機(jī)器學(xué)習(xí)方法主要依賴(lài)于大規(guī)模特定任務(wù)樣本集的可用性。
但這出現(xiàn)了兩個(gè)問(wèn)題:首先,收集特定于任務(wù)的標(biāo)記示例,不適用于任務(wù)可能太復(fù)雜或太昂貴而無(wú)法注釋?zhuān)蛳到y(tǒng)需要立即處理新任務(wù)的場(chǎng)景;其次,這對(duì)用戶(hù)來(lái)說(shuō)并不友好,因?yàn)樽罱K用戶(hù)可能更愿意在使用系統(tǒng)之前提供任務(wù)描述,而不是一組示例。
因此,社區(qū)對(duì)NLP的一種新的監(jiān)督尋求范式付出了越來(lái)越大的興趣:從任務(wù)指令中學(xué)習(xí)。盡管取得了令人印象深刻的進(jìn)展,但社區(qū)仍面臨一些共同的問(wèn)題。
本文試圖從以下幾個(gè)方面對(duì)當(dāng)前的指令學(xué)習(xí)研究進(jìn)行總結(jié):
(1)什么是任務(wù)指令,存在哪些指令類(lèi)型?
(2)如何為指令建模?
(3)哪些因素影響和解釋指令的執(zhí)行?
(4)指令中還存在哪些挑戰(zhàn)?
據(jù)我們所知,這是第一次對(duì)文本指令的全面調(diào)查。
?
1?引言
人工智能的一個(gè)目標(biāo)是建立一個(gè)可以普遍理解和解決新任務(wù)的系統(tǒng)。標(biāo)記示例作為主流任務(wù)表示,不太可能大量可用,甚至不存在。那么,是否有其他任務(wù)表示可以有助于任務(wù)理解?任務(wù)指令為表達(dá)任務(wù)語(yǔ)義提供了另一個(gè)監(jiān)督維度,指令往往包含比單個(gè)標(biāo)記示例更抽象和全面的目標(biāo)任務(wù)知識(shí)。
指令學(xué)習(xí)是受典型的人類(lèi)對(duì)新任務(wù)的學(xué)習(xí)啟發(fā),例如,小孩可以通過(guò)從指令和幾個(gè)例子中學(xué)習(xí)來(lái)很好地解決一個(gè)新的數(shù)學(xué)任務(wù)。這種新的學(xué)習(xí)范式最近引起了機(jī)器學(xué)習(xí)和NLP社區(qū)的主要關(guān)注。
如圖1所示,通過(guò)任務(wù)指令的可用性,可以快速構(gòu)建系統(tǒng)來(lái)處理新任務(wù),特別是在特定于任務(wù)的注釋稀缺的情況下。
當(dāng)談到任務(wù)指令時(shí),我們大多數(shù)人首先會(huì)將這個(gè)概念與提示聯(lián)系起來(lái)——使用一個(gè)簡(jiǎn)短的模板將新的輸入重新格式化為語(yǔ)言建模問(wèn)題,以便為啟動(dòng)PLM回復(fù)響應(yīng)。盡管提示在文本分類(lèi)、機(jī)器翻譯等中普遍存在,但提示只是指令的一種特殊情況。本文對(duì)指令驅(qū)動(dòng)的NLP研究進(jìn)行了全面和更廣泛的看法。具體來(lái)說(shuō),我們?cè)噲D回答以下問(wèn)題:
什么是任務(wù)指令,存在哪些指令類(lèi)型?
給定任務(wù)指令,如何對(duì)其進(jìn)行編碼以幫助完成目標(biāo)任務(wù)?
哪些因素(如模型大小、任務(wù)數(shù)量)影響指令驅(qū)動(dòng)系統(tǒng)的性能,以及如何設(shè)計(jì)更好的指令?
指令學(xué)習(xí)能帶來(lái)什么應(yīng)用?
指令學(xué)習(xí)中存在哪些挑戰(zhàn),未來(lái)的方向是什么?
據(jù)我們所知,這是第一篇調(diào)研文本指令學(xué)習(xí)的論文。與一些現(xiàn)有的側(cè)重于特定上下文指令的調(diào)研相比,例如提示、按輸出輸入的演示或推理,我們提供了一個(gè)更廣泛的視角,以有組織的方式連接該領(lǐng)域的不同研究。希望本文能呈現(xiàn)一個(gè)更好的指令學(xué)習(xí)故事,吸引更多同行來(lái)研究這個(gè)具有挑戰(zhàn)性的人工智能問(wèn)題。我們還發(fā)布了本次調(diào)研的相應(yīng)閱讀清單。
?
2?基礎(chǔ)知識(shí)? ?
對(duì)于任務(wù)式學(xué)習(xí),目標(biāo)是通過(guò)遵循指令來(lái)驅(qū)動(dòng)系統(tǒng)達(dá)到給定輸入的輸出。因此,一個(gè)數(shù)據(jù)集由三個(gè)元素組成:
Input (X):實(shí)例的輸入;它可以是一段文本(如情感分類(lèi))或一組文本(如文本蘊(yùn)涵、問(wèn)題回答等)。
Output (Y):實(shí)例的輸出;在分類(lèi)問(wèn)題中,它可以是一個(gè)或多個(gè)預(yù)定義標(biāo)簽;在文本生成任務(wù)中,它可以是任何開(kāi)放形式的文本。
模板(T):一種文本模板,試圖單獨(dú)表達(dá)任務(wù)的含義,或者充當(dāng)X和y之間的橋梁。T可能還不是一種組件結(jié)構(gòu)。
?
3 什么是任務(wù)指令?? ?
在之前的零樣本和少樣本NLP任務(wù)中已經(jīng)使用了各種類(lèi)型的文本指令,例如提示,Amazon Mechanical Turk 指令,輔以演示的指令和思維鏈解釋。不同的指令最初是為不同的目標(biāo)設(shè)計(jì)的(例如,Mturk指令最初是為人類(lèi)標(biāo)注者理解而創(chuàng)建的,提示是為了控制PLM)。在本節(jié)中,如圖2所示,我們首先將這些指令總結(jié)為三個(gè)類(lèi)別,它們執(zhí)行T、X和?Y的不同組合(面向蘊(yùn)含、面向PLM和面向人),然后比較它們并提供指令的正式定義。
3.1 I=T^+Y:Entailment主導(dǎo)的指令
處理分類(lèi)任務(wù)的一個(gè)傳統(tǒng)方案是將目標(biāo)標(biāo)簽轉(zhuǎn)換為索引,并讓模型決定輸入屬于哪個(gè)索引。這種范式側(cè)重于對(duì)輸入語(yǔ)義進(jìn)行編碼,同時(shí)丟失標(biāo)簽語(yǔ)義。為了讓系統(tǒng)識(shí)別新標(biāo)簽而不依賴(lài)于大量標(biāo)記的示例,Yin等人提出為每個(gè)標(biāo)簽建立一個(gè)假設(shè)——然后,推導(dǎo)標(biāo)簽的真值被轉(zhuǎn)換為確定假設(shè)的真值。如表1所示,這種方法內(nèi)置在指令I(lǐng)中,將模板T與標(biāo)簽Y相結(jié)合,以解釋每個(gè)目標(biāo)標(biāo)簽Y。由于這種范式自然地滿(mǎn)足文本蘊(yùn)含的格式(TE,其中任務(wù)輸入和指令可以分別被視為前提和假設(shè)),這些類(lèi)型的指令被稱(chēng)為「面向蘊(yùn)含(Entailment)的指令」。
面向蘊(yùn)含(entailment)的指令學(xué)習(xí)方法具有以下4個(gè)方面的優(yōu)勢(shì):
(1)保持了標(biāo)簽語(yǔ)義,使得輸入編碼和輸出編碼在建模輸入輸出關(guān)系時(shí)得到同等的重視;
(2)形成了一個(gè)統(tǒng)一的推理過(guò)程——文本蘊(yùn)含——來(lái)處理各種NLP問(wèn)題;
(3)它創(chuàng)造了利用現(xiàn)有TE數(shù)據(jù)集的間接監(jiān)督的機(jī)會(huì),以便預(yù)訓(xùn)練TE模型有望在不進(jìn)行特定任務(wù)微調(diào)的情況下在這些目標(biāo)任務(wù)上工作;
(4)將原始的閉集標(biāo)簽分類(lèi)問(wèn)題擴(kuò)展為具有少量甚至零類(lèi)屬類(lèi)樣本的開(kāi)放域開(kāi)放形式標(biāo)簽識(shí)別問(wèn)題。
因此,它被廣泛應(yīng)用于各種少樣本/零樣本分類(lèi)任務(wù)中,如分類(lèi)主題、情感、姿態(tài)、實(shí)體類(lèi)型和實(shí)體關(guān)系。
3.2 I=T^+X:面向PLM的指令(如?提示)
提示是面向PLM的指令的代表,它通常是一個(gè)簡(jiǎn)短的語(yǔ)句,前面加上任務(wù)輸入(前綴提示),或者一個(gè)完形填空問(wèn)題模板(完形填空提示)。它主要用于從預(yù)訓(xùn)練的語(yǔ)言模型(PLM)中查詢(xún)中間響應(yīng)(可以進(jìn)一步轉(zhuǎn)換為最終答案)。
由于提示輸入符合PLM的預(yù)訓(xùn)練目標(biāo),例如,完形風(fēng)格的輸入滿(mǎn)足掩碼語(yǔ)言建模目標(biāo),它有助于擺脫對(duì)傳統(tǒng)監(jiān)督微調(diào)的依賴(lài),并大大減輕人工標(biāo)注的成本。因此,快速學(xué)習(xí)在大量之前的少量/零樣本NLP任務(wù)上取得了令人印象深刻的結(jié)果,例如問(wèn)答、機(jī)器翻譯、情感分析、文本蘊(yùn)含和命名實(shí)體識(shí)別。
3.3?以人為本指示
以人為本的指令基本上是指在人類(lèi)注釋平臺(tái)上用于眾包的指令(例如Amazon MTurk指令)。與面向人的指令不同,面向人的指令通常是一些人可讀的、描述性的、段落式的任務(wù)特定文本信息,由任務(wù)標(biāo)題、類(lèi)別、定義、要避免的事項(xiàng)等組成。因此,以人為本的指令更加友好,可以理想地應(yīng)用于幾乎任何復(fù)雜的NLP任務(wù)。
?
4 如何為指令建模?
在本節(jié)中,我們總結(jié)了幾種最流行的指令學(xué)習(xí)建模策略。總體而言,本文介紹了四種不同的建模方案:對(duì)于早期的基于機(jī)器學(xué)習(xí)的系統(tǒng),(1)基于語(yǔ)義解析器的策略是編碼指令的常用方法;隨著神經(jīng)網(wǎng)絡(luò)和預(yù)訓(xùn)練語(yǔ)言模型的出現(xiàn),(2)基于提示模板和(3)基于前綴指令的指令學(xué)習(xí)模式成為兩種備受青睞的范式;最近,(4)基于超網(wǎng)絡(luò)的方法也引起了更大的興趣。
?
5 應(yīng)用? ?
5.1人機(jī)交互
文本指令可以自然地視為一種人機(jī)交互方式。之前的許多工作使用自然語(yǔ)言指令來(lái)「指導(dǎo)」計(jì)算機(jī)執(zhí)行各種現(xiàn)實(shí)世界的任務(wù)。
對(duì)于非NLP(多模態(tài))任務(wù),大多數(shù)專(zhuān)注于基于環(huán)境的語(yǔ)言學(xué)習(xí),即驅(qū)動(dòng)智能體將自然語(yǔ)言指令與環(huán)境相關(guān)聯(lián),并做出相應(yīng)的反應(yīng),例如從圖像/視頻中選擇提到的對(duì)象,按照導(dǎo)航指示,在地圖上繪制相應(yīng)的痕跡,基于給定規(guī)則玩足球/紙牌游戲,生成實(shí)時(shí)體育廣播、控制軟件和查詢(xún)外部數(shù)據(jù)庫(kù)。與此同時(shí),指令也被廣泛適用于幫助與系統(tǒng)溝通,以解決NLP任務(wù),例如,遵循操作字符串的指令,根據(jù)給定的解釋對(duì)電子郵件進(jìn)行分類(lèi),以及文本到代碼生成。
近年來(lái),越來(lái)越多的研究?jī)A向于以迭代和模塊化的方式設(shè)計(jì)人機(jī)通信過(guò)程。例如,Li等人構(gòu)建了一個(gè)系統(tǒng)來(lái)幫助用戶(hù)處理日常任務(wù)(例如,點(diǎn)咖啡或請(qǐng)求Uber)。得益于用戶(hù)友好的圖界面,系統(tǒng)可以迭代地詢(xún)問(wèn)有關(guān)任務(wù)的問(wèn)題,用戶(hù)可以不斷改進(jìn)他們的指令,以避免不明確的描述或模糊的概念。類(lèi)似地,Dwivedi-Yu等人提出了一個(gè)基準(zhǔn)來(lái)迭代地指導(dǎo)PLM改進(jìn)文本,其中每次迭代只使用具有精確目的的一小段指令(例如,「簡(jiǎn)化文本」或「使文本中性」)。此外,Chakrabarty等人構(gòu)建了一個(gè)協(xié)作寫(xiě)詩(shī)系統(tǒng),用戶(hù)可以最初提供一個(gè)模棱兩可的指令(例如,「寫(xiě)一首關(guān)于蛋糕的詩(shī)」),然后通過(guò)觀察模型的中間輸出,用更多的細(xì)節(jié)逐步完善指令(例如,「包含單詞-巧克力」)。同時(shí),Mishra和Nouri提出了一個(gè)傳記生成系統(tǒng),該系統(tǒng)逐步從用戶(hù)那里收集必要的個(gè)人信息(通過(guò)在對(duì)話(huà)場(chǎng)景中提出問(wèn)題來(lái)引導(dǎo)用戶(hù)),并最終生成一個(gè)段落式的傳記。針對(duì)非專(zhuān)家用戶(hù)難以一次性編寫(xiě)完整的指令的問(wèn)題,在基于指令的人工智能系統(tǒng)設(shè)計(jì)中采用迭代式、模塊化的設(shè)計(jì)范式,可以引導(dǎo)用戶(hù)逐步豐富任務(wù)指令,從而有效地緩解用戶(hù)的思維需求,使系統(tǒng)更加面向用戶(hù)。鑒于其實(shí)用價(jià)值,本文強(qiáng)調(diào)了這一分支工作的重要性。
5.2 數(shù)據(jù)和特征增強(qiáng)
任務(wù)指令被認(rèn)為是一種間接的監(jiān)督資源,其中有時(shí)包含一些膚淺且武斷的規(guī)則。這些規(guī)則也被稱(chēng)為標(biāo)記函數(shù),可以直接應(yīng)用于注釋?zhuān)ɡ纾渥印竌 very fair price」是情感積極的,因?yàn)椤竼卧~price之前直接有fair」)。因此,現(xiàn)有的一些工作還將指令作為遠(yuǎn)程監(jiān)督來(lái)執(zhí)行數(shù)據(jù)或特征增強(qiáng)。例如,Srivastava等人使用語(yǔ)義解析器將自然語(yǔ)言解釋轉(zhuǎn)換為邏輯形式,并將它們應(yīng)用于數(shù)據(jù)集中的所有實(shí)例以生成額外的二進(jìn)制特征。而Wang等人利用標(biāo)簽解釋自動(dòng)標(biāo)注原始語(yǔ)料庫(kù),并在產(chǎn)生的噪聲數(shù)據(jù)上訓(xùn)練分類(lèi)器。除了直接的擴(kuò)充外,Su等人進(jìn)一步使用任務(wù)指令來(lái)豐富模型表示,并實(shí)現(xiàn)了較強(qiáng)的跨任務(wù)泛化。具體來(lái)說(shuō),他們?cè)诰哂袑?duì)比學(xué)習(xí)的不同指令數(shù)據(jù)集上訓(xùn)練了一個(gè)嵌入模型(單個(gè)編碼器),然后使用該模型為下游未見(jiàn)過(guò)的任務(wù)生成基于指令的特定任務(wù)表示。
5.3 通用語(yǔ)言模型
根據(jù)通用人工智能(Artificial General Intelligence, AGI)的定義,「通用模型」通常是一個(gè)能夠勝任不同任務(wù)并在多變環(huán)境中可擴(kuò)展的系統(tǒng),這將遠(yuǎn)遠(yuǎn)超出其創(chuàng)造者最初的預(yù)期。雖然特定于NLP領(lǐng)域,但通用語(yǔ)言模型應(yīng)該是一個(gè)優(yōu)秀的多任務(wù)助手,能夠以完全零樣本/少樣本的方式熟練處理各種現(xiàn)實(shí)世界的NLP任務(wù)和不同的語(yǔ)言。由于許多現(xiàn)有工作證明了在跨任務(wù)泛化中使用指令的驚人能力,該指令很可能成為實(shí)現(xiàn)這一最終目標(biāo)的突破。
值得注意的是,最近指令的兩個(gè)顯著應(yīng)用,即InstructGPT和ChatGPT,也表明在構(gòu)建通用語(yǔ)言模型方面邁出了一大步。然而,與其他主要采用指令學(xué)習(xí)的工作不同,ChatGPT還采用了一些其他組件,如人工反饋的強(qiáng)化學(xué)習(xí)(RLHF)。雖然「哪個(gè)組件對(duì)ChatGPT的出色結(jié)果貢獻(xiàn)更大」的答案仍然是模糊的,需要進(jìn)一步調(diào)研,但我們介紹了一些最近的工作,以強(qiáng)調(diào)指令學(xué)習(xí)的關(guān)鍵作用。例如,Chung等人進(jìn)行了廣泛的實(shí)驗(yàn)來(lái)評(píng)估人類(lèi)對(duì)PaLM的偏好對(duì)齊。他們發(fā)現(xiàn),即使沒(méi)有任何人類(lèi)反饋,指令微調(diào)也顯著降低了PaLM開(kāi)放式世代的毒性,比如性別和職業(yè)偏見(jiàn)。此外,其他一些工作也單獨(dú)采用創(chuàng)造性指導(dǎo)而不是人工反饋,并取得了顯著的跨任務(wù)結(jié)果。盡管ChatGPT仍然存在許多不令人滿(mǎn)意的方面,距離通用語(yǔ)言模型還很遠(yuǎn),我們希望AGI的目標(biāo)可以通過(guò)采用和發(fā)展更強(qiáng)大的技術(shù)來(lái)繼續(xù)推動(dòng),包括指令學(xué)習(xí)。
編輯:黃飛
評(píng)論
查看更多