ChatGPT背後的指令學習是什麼? PSU發布首篇「指令學習」全面綜述
任務語意可以用一組輸入到輸出的範例或一則文字指令來表示。傳統的自然語言處理(NLP)機器學習方法主要依賴大規模特定任務樣本集的可用性。
但這出現了兩個問題:首先,收集特定於任務的標記範例,不適用於任務可能太複雜或太昂貴而無法註釋,或系統需要立即處理新任務的場景;其次,這對使用者來說並不友好,因為最終使用者可能更願意在使用系統之前提供任務描述,而不是一組範例。
因此,社群對NLP的一種新的監督尋求範式付出了越來越大的興趣:從任務指令中學習。儘管取得了令人印象深刻的進展,社區仍面臨一些共同的問題。
本文試圖從以下幾個面向對目前的指令學習研究進行總結:
(1)什麼是任務指令,存在哪些指令類型?
(2)如何為指令建模?
(3)哪些因素會影響和解釋指令的執行?
(4)指令中還存在哪些挑戰?
據我們所知,這是第一次對文字指令的全面調查。
論文網址:https://arxiv.org/pdf/2303.10475v2.pdf
#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的目標可以透過採用和發展更強大的技術來繼續推動,包括指令學習。
以上是ChatGPT背後的指令學習是什麼? PSU發布首篇「指令學習」全面綜述的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

創建Oracle數據庫並非易事,需理解底層機制。 1. 需了解數據庫和Oracle DBMS的概念;2. 掌握SID、CDB(容器數據庫)、PDB(可插拔數據庫)等核心概念;3. 使用SQL*Plus創建CDB,再創建PDB,需指定大小、數據文件數、路徑等參數;4. 高級應用需調整字符集、內存等參數,並進行性能調優;5. 需注意磁盤空間、權限和參數設置,並持續監控和優化數據庫性能。 熟練掌握需不斷實踐,才能真正理解Oracle數據庫的創建和管理。

創建Oracle數據庫,常用方法是使用dbca圖形化工具,步驟如下:1. 使用dbca工具,設置dbName指定數據庫名;2. 設置sysPassword和systemPassword為強密碼;3. 設置characterSet和nationalCharacterSet為AL32UTF8;4. 設置memorySize和tablespaceSize根據實際需求調整;5. 指定logFile路徑。 高級方法為使用SQL命令手動創建,但更複雜易錯。 需要注意密碼強度、字符集選擇、表空間大小及內存

Oracle SQL語句的核心是SELECT、INSERT、UPDATE和DELETE,以及各種子句的靈活運用。理解語句背後的執行機制至關重要,如索引優化。高級用法包括子查詢、連接查詢、分析函數和PL/SQL。常見錯誤包括語法錯誤、性能問題和數據一致性問題。性能優化最佳實踐涉及使用適當的索引、避免使用SELECT *、優化WHERE子句和使用綁定變量。掌握Oracle SQL需要實踐,包括代碼編寫、調試、思考和理解底層機制。

MySQL 中字段操作指南:添加、修改和刪除字段。添加字段:ALTER TABLE table_name ADD column_name data_type [NOT NULL] [DEFAULT default_value] [PRIMARY KEY] [AUTO_INCREMENT]修改字段:ALTER TABLE table_name MODIFY column_name data_type [NOT NULL] [DEFAULT default_value] [PRIMARY KEY]

Oracle 數據庫的完整性約束可確保數據準確性,包括:NOT NULL:禁止空值;UNIQUE:保證唯一性,允許單個 NULL 值;PRIMARY KEY:主鍵約束,加強 UNIQUE,禁止 NULL 值;FOREIGN KEY:維護表間關係,外鍵引用主表主鍵;CHECK:根據條件限制列值。

嵌套查詢是一種在一個查詢中包含另一個查詢的方式,主要用於檢索滿足複雜條件、關聯多張表以及計算匯總值或統計信息的數據。實例示例包括:查找高於平均工資的僱員、查找特定類別的訂單以及計算每種產品的總訂購量。編寫嵌套查詢時,需要遵循:編寫子查詢、將其結果寫入外層查詢(使用別名或 AS 子句引用)、優化查詢性能(使用索引)。

本文介紹如何在Debian系統上自定義Apache的日誌格式。以下步驟將指導您完成配置過程:第一步:訪問Apache配置文件Debian系統的Apache主配置文件通常位於/etc/apache2/apache2.conf或/etc/apache2/httpd.conf。使用以下命令以root權限打開配置文件:sudonano/etc/apache2/apache2.conf或sudonano/etc/apache2/httpd.conf第二步:定義自定義日誌格式找到或

Oracle 是全球最大的數據庫管理系統(DBMS)軟件公司,其主要產品包括以下功能:關係數據庫管理系統(Oracle 數據庫)開發工具(Oracle APEX、Oracle Visual Builder)中間件(Oracle WebLogic Server、Oracle SOA Suite)雲服務(Oracle Cloud Infrastructure)分析和商業智能(Oracle Analytics Cloud、Oracle Essbase)區塊鏈(Oracle Blockchain Pla
