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