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