首頁  >  文章  >  科技週邊  >  ChatGPT背後的指令學習是什麼? PSU發布首篇「指令學習」全面綜述

ChatGPT背後的指令學習是什麼? PSU發布首篇「指令學習」全面綜述

王林
王林轉載
2023-04-07 19:51:011158瀏覽

任務語意可以用一組輸入到輸出的範例或一則文字指令來表示。傳統的自然語言處理(NLP)機器學習方法主要依賴大規模特定任務樣本集的可用性。

但這出現了兩個問題:首先,收集特定於任務的標記範例,不適用於任務可能太複雜或太昂貴而無法註釋,或系統需要立即處理新任務的場景;其次,這對使用者來說並不友好,因為最終使用者可能更願意在使用系統之前提供任務描述,而不是一組範例。

因此,社群對NLP的一種新的監督尋求範式付出了越來越大的興趣:從任務指令中學習。儘管取得了令人印象深刻的進展,社區仍面臨一些共同的問題。

本文試圖從以下幾個面向對目前的指令學習研究進行總結:

(1)什麼是任務指令,存在哪些指令類型?

(2)如何為指令建模?

(3)哪些因素會影響和解釋指令的執行?

(4)指令中還存在哪些挑戰?

據我們所知,這是第一次對文字指令的全面調查。

ChatGPT背後的指令學習是什麼? PSU發布首篇「指令學習」全面綜述

論文網址:https://arxiv.org/pdf/2303.10475v2.pdf

#1 引言

人工智慧的一個目標是建立一個可以普遍理解和解決新任務的系統。標記範例作為主流任務表示,不太可能大量可用,甚至不存在。那麼,是否有其他任務表示可以有助於任務理解?任務指令為表達任務語意提供了另一個監督維度,指令往往包含比單一標記範例更抽象和全面的目標任務知識。

指令學習是受典型的人類對新任務的學習啟發,例如,小孩可以透過從指令和幾個例子中學習來很好地解決一個新的數學任務。這種新的學習範式最近引起了機器學習和NLP社群的主要關注。

如圖1所示,透過任務指令的可用性,可以快速建立系統來處理新任務,特別是在特定於任務的註解稀缺的情況下。

ChatGPT背後的指令學習是什麼? PSU發布首篇「指令學習」全面綜述

當談到任務指令時,我們大多數人首先會將這個概念與提示聯繫起來——使用一個簡短的範本將新的輸入重新格式化為語言建模問題,以便為啟動PLM回覆回應。儘管提示在文字分類、機器翻譯等中普遍存在,但提示只是指令的一種特殊情況。本文對指令驅動的NLP研究進行了全面且更廣泛的看法。具體來說,我們試著回答以下問題:

  • 什麼是任務指令,存在哪些指令類型?
  • ##給定任務指令,如何對其進行編碼以幫助完成目標任務?
  • 哪些因素(如模型大小、任務數量)影響指令驅動系統的性能,以及如何設計更好的指令?
  • 指令學習能帶來什麼應用?
  • #指令學習中存在哪些挑戰,未來的方向是什麼?

ChatGPT背後的指令學習是什麼? PSU發布首篇「指令學習」全面綜述##

就我們所知,這是第一篇研究文本指令學習的論文。 與一些現有的專注於特定上下文指令的研究相比,例如提示、按輸出輸入的演示或推理,我們提供了一個更廣泛的視角,以有組織的方式連接該領域的不同研究。希望本文能呈現一個更好的指令學習故事,吸引更多同行來研究這個具有挑戰性的人工智慧問題。我們也發布了本次研究的相應閱讀清單。

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)將原始的閉集標籤分類問題擴展為具有少量甚至零類屬類樣本的開放域開放形式標籤識別問題。

因此,它被廣泛應用於各種少樣本/零樣本分類任務中,例如分類主題、情緒、姿勢、實體類型和實體關係。

ChatGPT背後的指令學習是什麼? PSU發布首篇「指令學習」全面綜述

3.2 I=T^ X:面向PLM的指令(如ˆ提示)

提示是針對PLM的指令的代表,它通常是一個簡短的語句,前面加上任務輸入(前綴提示),或一個完形填空問題範本(完形填空提示)。它主要用於從預先訓練的語言模型(PLM)中查詢中間響應(可以進一步轉換為最終答案)。

由於提示輸入符合PLM的預訓練目標,例如,完形風格的輸入滿足掩碼語言建模目標,它有助於擺脫對傳統監督微調的依賴,並大大減輕人工標註的成本。因此,快速學習在大量先前的少量/零樣本NLP任務上取得了令人印象深刻的結果,例如問答、機器翻譯、情感分析、文本蘊含和命名實體識別。

ChatGPT背後的指令學習是什麼? PSU發布首篇「指令學習」全面綜述

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的目標可以透過採用和發展更強大的技術來繼續推動,包括指令學習。

以上是ChatGPT背後的指令學習是什麼? PSU發布首篇「指令學習」全面綜述的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除