NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

WBOY
發布: 2023-06-05 18:10:18
轉載
1038 人瀏覽過

一切都要從 ChatGPT 的橫空出世說起......

曾經一片祥和的NLP 社區,被這個突如其來的「怪物」 嚇到了!一夜之間,整個NLP 圈發生了巨大的變化,工業界迅速跟進,資本“狂飆”,開始了復刻ChatGPT 之路;學術界突然陷入了一片迷茫的狀態......大家慢慢開始相信「NLP is solved!」

#然而,從最近依然活躍的NLP 學術圈和層出不窮的優秀工作來看,事實並非如此,甚至可以說「NLP just got real!」

這幾個月,北航、Mila、香港科技大學、蘇黎世聯邦理工學院(ETH)、滑鐵盧大學、達特茅斯學院、謝菲爾德大學、中科院等多家機構,經過系統、全面的研究之後,打磨出一篇110 頁的論文,系統闡述了#後ChatGPT 時代的技術鏈:互動。

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈


  • 論文網址:https://arxiv.org/abs/2305.13246
  • 計畫資源:https://github.com/InteractiveNLP-Team

#與傳統的「人在環路(HITL)」、「寫作助手」 等類型的交互不同,本文所討論的交互,有著更高、更全面的視角:

  1. 對產業界:如果大模型有事實性、時效性等難以解決的問題,那ChatGPT X 能否解決呢?甚至就像 ChatGPT Plugins 那樣,讓它和工具互動幫我們一步到位訂票、訂餐、畫圖!也就是說,我們可以透過一些系統化的技術框架來緩解當下大模型的一些限制。

  2. 對學術界:什麼是真正的 AGI?其實早在2020 年,深度學習三巨頭、圖靈獎得主Yoshua Bengio 就描繪了交互型語言模型的藍圖[1]:一個可以和環境交互,甚至可以和其他智能體進行社會交互的語言模型,才能有最全面的語言語意表示。在某種程度上,與環境、與人的互動造就了人類智慧。

因此,讓語言模型(LM)與外部實體以及自我進行交互,不僅可以幫助彌合大模型的固有缺陷,還可能是通往AGI 的終極理想的一個重要的里程碑!

什麼是互動?

其實 「互動」 的概念並不是作者臆想的。自從 ChatGPT 問世之後,誕生了許多關於 NLP 界新問題的論文,例如:

  1. Tool Learning with Foundation Models 闡述了讓語言模型使用工具進行推理或執行現實操作[2];
  2. Foundation Models for Decision Making: Problems , Methods, and Opportunities 闡述如何使用語言模型執行決策任務(decision making)[3];
  3. ChatGPT for Robotics: Design Principles and Model Abilities 闡述瞭如何使用ChatGPT 賦能機器人[4];
  4. Augmented Language Models: a Survey 闡述瞭如何使用思維鏈(Chain of Thought)、工具使用(Tool-use)等增強語言模型,並指出了語言模型使用工具可以給外在世界產生實際的影響(即act)[5];
  5. Sparks of Artificial General Intelligence: Early experiments with GPT-4 闡述如何使用GPT- 4 執行各種類型的任務,其中包括了與人、環境、工具等互動的案例[6]。

可見,NLP 學界的關注點,逐漸從“怎麼打造模型”,過渡到了“怎麼打造框架”,也就是將更多的實體納入到語言模型訓練、推理的過程當中。最典型的例子就是大家所熟知的 Reinforcement Learning from Human Feedback (RLHF), 基本原理就是讓語言模型從與人的交互(反饋)中進行學習 [7],這一思想成為了 ChatGPT 畫龍點睛的一筆。

因此可以說,「互動」 這個特性,是 ChatGPT 之後,NLP 最為主流的技術發展路徑之一!作者們的論文首次定義並系統解構了“交互式NLP”,並主要基於交互對象的維度,盡可能全面地討論了各種技術方案的優劣以及應用上的考慮,包括:

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

  1. LM 與人類交互,以更好地理解和滿足用戶需求,個性化回應,與人類價值觀對齊(alignment ),並改善整體使用者體驗;
  2. LM 與知識庫交互,以豐富語言表達的事實知識,增強回應的知識背景相關性,並動態利用外部資訊產生更準確的回應;
  3. LM 與模型和工具交互,以有效分解和解決複雜推理任務,利用特定知識處理特定子任務,並促進智能體社會行為的湧現;
  4. LM 與環境交互,以學習基於語言的實體表徵(language grounding),並有效地處理類似推理、規劃和決策等與環境觀察相關的具身任務(embodied tasks) 。

因此,在互動的框架下,語言模型不再是語言模型本身,而是一個可以「看」(observe)、​​可以「動作」(act) 、可以「取得回饋」(feedback) 的語言為基礎的智能體。

與某個物件進行交互,作者稱之為「XXX-in-the-loop」, 表示這個物件參與了語言模型訓練或推理的過程,並且是以一種級聯、循環、回饋、或迭代的形式參與其中的。

與人互動


NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

讓語言模型與人互動可以分為三種方式:

  1. 使用提示進行交流
  2. 使用回饋進行學習
  3. #使用配置進行調節

另外,為了保證可規模化的部署,往往採用模型或程式模擬人類的行為或偏好,即從人類模擬中學習。

總的來說,與人互動要解決的核心問題是對齊問題(alignment), 也就是如何讓語言模型的回應更加符合使用者的需要,更加有幫助、無害且有理有據,能讓使用者有更好的使用體驗等。

「使用提示進行交流」 主要著重於互動的即時性和持續性,也就是強調連續性的多輪對話。這一點和 Conversational AI [8] 的想法是一脈相承的。也就是,透過多輪對話的方式,讓使用者連續問下去,讓語言模型的回應在對話中慢慢地對齊於使用者偏好。這種方式通常在交互作用中不需要模型參數的調整。

「使用回饋學習」 是目前進行alignment 的主要方式,也就是讓使用者給語言模型的回應一個回饋,這種回饋可以是描述偏好的「好/ 壞” 的標註,也可以是自然語言形式的更詳細的回饋。模型需要被訓練,以讓這些回饋盡可能地高。比較典型的例子就是InstructGPT 所使用的RLHF [7],首先使用使用者標註的對模型回應的偏好回饋資料訓練獎勵模型,然後使用這個獎勵模型以某種RL 演算法訓練語言模型以最大化獎勵(如下圖)。

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

Training language models to follow instructions with human feedback [7]

#「使用配置進行調節」 是一種比較特殊的互動方式,允許使用者直接調整語言模型的超參數(例如temperature)、或語言模型的級聯方式等。典型的例子例如Google的AI Chains [9], 帶有不同預設prompt 的語言模型互相連接構成了一個用於處理流程化任務的推理鏈條,用戶可以透過一個UI 拖曳調整這個鏈條的節點連接方式。

「從人類模擬中學習」 可以促進上述三種方式的規模化部署,因為尤其在訓練過程,使用真實的使用者是不切實際的。例如 RLHF 通常需要使用一個 reward model 來模擬使用者的偏好。另一個例子是微軟研究院的 ITG [10], 透過一個 oracle model 來模擬使用者的編輯行為。

最近,史丹佛Percy Liang 教授等人建構了一個非常系統化的Human-LM 互動的評測方案:Evaluating Human-Language Model Interaction [11], 有興趣的讀者可以參考本論文或原文。

與知識庫互動

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

#語言模型與知識庫互動有三個步驟:

  1. 確定補充知識的來源:Knowledge Source
  2. #檢索知識:Knowledge Retrieval
  3. #使用知識進行增強:詳細請參閱本論文Interaction Message Fusion 部分,這裡不多做介紹。

總的來說,與知識庫互動可以減輕語言模型的「幻覺」 現象(hallucination), 即提升其輸出的事實性、準確性等,也能幫助改善語言模型的時效性問題,幫助補充語言模型的知識能力(如下圖)等。

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

MineDojo [16]:當一個語言模型智能體遇到不會的任務,可以從知識庫中找出學習資料,然後在資料的幫助下,完成這個任務。

「Knowledge Source」 分為兩種,一種是封閉的語料知識(Corpus Knowledge), 如WikiText 等[15];另一種是開放的網路知識(Internet Knowledge), 例如使用搜尋引擎可以得到的知識[14]。

「Knowledge Retrieval」 分為四種方式:

#
  1. 基於語言的稀疏表示以及 lexical matching 的稀疏檢索 (sparse retrieval):如 n-gram 匹配,BM25 等。
  2. 基於語言的稠密表示以及 semantic matching 的稠密檢索 (dense retrieval):如使用單塔或雙塔模型作為檢索器等。
  3. 基於生成式檢索器:屬於比較新的方式,代表工作是谷歌Tay Yi 等人的Differentiable Search Index [12], 將知識都保存在語言模型的參數當中,給一個query 後,直接輸出對應知識的doc id 或doc content. 因為語言模型,就是知識庫[13]!
  4. 基於強化學習:也是比較前沿的方式,代表工作例如 OpenAI 的 WebGPT [14],使用 human feedback 訓練模型,以進行正確知識的檢索。

與模型或工具交互

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

#語言模型與模型或工具交互,主要的目的是進行複雜任務的分解,例如將複雜的推理任務分解為若干子任務,這也是Chain of Thought [17] 的核心思想。不同的子任務可以使用不同能力的模型或工具解決,例如計算任務可以使用計算機解決,檢索任務可以使用檢索模型解決。因此,這種類型的互動不僅可以提升語言模型的推理 (reasoning)、規劃 (planning)、決策 (decision making) 能力,還能減輕語言模型的 「幻覺」 (hallucination)、不準確輸出等限制。特別地,當使用工具執行某種特定的子任務時,可能會對外部世界產生一定影響,例如使用WeChat API 發了一條朋友圈等,稱為「面向工具的學習」(Tool-Oriented Learning) [ 2].

另外,有時候明確地分解一個複雜的任務是很困難的,這種時候,可以為不同的語言模型賦予不同的角色或技能,然後讓這些語言模型在互相協作、溝通的過程當中,隱式、自動地形成某種分工方案(division of labor),進行任務的分解。這種類型的互動不僅可以簡化複雜任務的解決流程,還可以對人類社會進行模擬,建構某種形式的智能社會。

作者們將模型和工具放在一起,主要是因為模型和工具不一定是分開的兩個範疇,例如一個搜尋引擎工具和一個retriever model 並沒有本質的不同。這個本質,作者們使用 「任務分解後,怎樣的子任務由怎樣的物件來承擔」 進行界定。

語言模型與模型或工具互動時,有三種類型的操作:

  1. Thinking: 模型與自己本身互動,進行任務的分解以及推理等;
  2. Acting:模型呼叫其他的模型,或外部工具等,幫助進行推理,或對外在世界產生實際作用;
  3. Collaborating: 多個語言模型智能體互相溝通、協作,完成特定的任務,或模擬人類的社會行為。

注意:Thinking 主要論及的是「多階段思考鏈」 (Multi-Stage Chain-of-Thought),即:不同的推理步驟,對應語言模型不同的呼叫(multiple model run),而不是像Vanilla CoT [17] 那樣,跑一次模型同時輸出thought answer (single model run).

#這裡部分承襲的是ReAct [18] 的表達方式。

Thinking 的典型工作包括了 ReAct [18], Least-to-Most Prompting [19], Self-Ask [20] 等。例如,Least-to-Most Prompting [19] 首先將一個複雜問題分解為若干簡單的模組子問題,然後迭代式地呼叫語言模型逐一擊破。

Acting 的典型工作包括了 ReAct [18], HuggingGPT [21], Toolformer [22] 等。例如,Toolformer [22] 將語言模型的預訓練語料處理成了帶有tool-use prompt 的形式,因此,經過訓練後的語言模型,可以在生成文本的時候,自動地在正確的時機調用正確的外部工具(如搜尋引擎、翻譯工具、時間工具、計算器等)解決特定的子問題。

Collaborating 主要包括:

  1. #閉環互動:如Socratic Models [23] 等,透過大型語言模型、視覺語言模型、音訊語言模型的閉環交互,完成特定於視覺環境的某些複雜QA 任務。
  2. 心智理論 (Theory of Mind): 旨在讓一個智能體能夠理解並預測另一個智能體的狀態,以促進彼此的高效互動。例如 EMNLP 2021 的 Outstanding Paper, MindCraft [24], 給兩個不同的語言模型賦予了不同但互補的技能,讓他們在交流的過程中協作完成 MineCraft 世界中的特定任務。著名教授Graham Neubig 最近也非常關注這一研究方向,如[25].
  3. #溝通式代理(Communicative Agents): 旨在讓多個智能體能夠進行彼此交流協作。最典型的例子就是史丹佛大學最近震驚世界的Generative Agents [26]:搭建一個沙盒環境,讓好多個由大模型注入「靈魂」 的智能體在其中自由活動,它們竟然可以自發地呈現一些類人的社會行為,例如聊天打招呼等,頗有一種「西方世界」 的味道(如下圖)。除此之外,比較出名的工作還有DeepGCN 作者的新工作CAMEL [27],讓兩個大模型賦能的智能體在彼此溝通的過程當中開發遊戲,甚至炒股,而不需要人類的過多幹預。作者在文章中明確提出了 「大模型社會」 (LLM Society) 的概念。

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

Generative Agents: Interactive Simulacra of Human Behavior, https://arxiv.org/pdf/2304.03442 .pdf

與環境互動

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

語言模型和環境屬於兩個不同的象限:語言模型建立在抽象的文字符號之上,擅長high-level 的推理、規劃、決策等任務;而環境建立在具體的感知信號之上(如視覺信息、聽覺信息等),模擬或自然發生一些low-level 的任務,如提供觀察(observation)、反饋(feedback)、狀態更新(state transition) 等(如:現實世界中一個蘋果落到了地上,模擬引擎中一個“苦力怕” 出現在了你的面前)。

因此,要讓語言模型能夠有效且有效率地與環境進行交互,主要包括了兩個面向的努力:

  1. Modality Grounding: 讓語言模型可以處理圖像、音訊等多模態資訊;
  2. Affordance Grounding: 讓語言模型在環境具體場景的尺度下對可能的、恰當的對象執行可能的、恰當的動作。

對 Modality Grounding 最典型的就是視覺 - 語言模型。一般而言可以使用單塔模型如 OFA [28], 雙塔模型如 BridgeTower [29], 或語言模型與視覺模型的交互作用如 BLIP-2 [30] 來進行。這裡不再多說,讀者可以詳看本論文。

對於Affordance Grounding 主要有兩個考慮,即:如何在給定任務的條件下進行(1) 場景尺度的感知(scene-scale perception), 以及(2)可能的動作(possible action)。舉個例子:

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

例如上圖的場景,給定任務“請關閉客廳裡面的燈”,“場景尺度的感知” 要求我們找到全部紅色框選的燈,而不要選中不在客廳而在廚房的綠色圈選的燈,「可能的動作」 要求我們確定可行的關燈方式,例如拉線燈需要使用「拉」 的動作,而開關燈需要使用「撥動開關」 的動作。

通常而言,Affordance Grounding 可以使用一個依附於環境的價值函數來解決,如SayCan [31] 等,也可以使用一個專門的grounding model 如Grounded Decoding [32]等。甚至也可以透過與人、與模型、與工具等的互動來解決(如下圖)。

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

Inner Monologue [33]

用什麼交互:互動介面

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

在論文Interaction Interface 章節,作者們有系統地討論了不同互動語言、互動媒介的用法與優劣,包括:

  1. 自然語言:如few-shot example, task instruction, role assignment 甚至結構化的自然語言等。主要討論了其在泛化性、表達性上的特徵及作用等。
  2. 形式語言:如程式碼、文法、數學公式等。主要討論了其在可解析性、推理能力上的特徵及作用等。
  3. 機器語言:如 soft prompts, 離散化的視覺 token 等。主要討論了其在泛化性、資訊瓶頸理論、互動效率上的特徵及作用等。
  4. 編輯:主要包括了文字的刪除、插入、取代、保留等操作。討論了它的原理、歷史、優勢以及目前存在的限制。
  5. 共享記憶:主要包括了hard memory 和soft memory. 前者將歷史狀態記錄在一個log 裡面作為記憶,後者使用一個可讀可寫的記憶外置模組保存張量。論文討論了兩者的特徵、作用以及存在的限制等。

怎麼互動:互動方法

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

#論文也全面、詳細、有系統地討論了各種各樣的互動方法,主要包括:

  1. Prompting: 不調整模型參數,僅僅透過prompt engineering 的方式呼叫語言模型,涵蓋了上下文學習(In-Context Learning)、思維鏈提示(Chain of Thought)、工具使用提示( Tool-use)、級聯推理鏈(Prompt Chaining) 等多種方法,詳細討論了各種Prompting 技巧的原理、作用、各種trick 和局限等,例如在可控性和魯棒性上的考慮等。
  2. Fine-Tuning: 進行模型參數的調整,讓模型從互動資訊中學習更新。本節涵蓋了監督指令精調 (Supervised Instruction Tuning)、參數高效精調 (Parameter-Efficient Fine-Tuning)、持續學習 (Continual Learning)、半監督學習 (Semi-Supervised Fine-Tuning) 等方法。詳細討論了這些方法的原理、作用、優勢、在具體使用時的考量、及其限制。其中也包括了 Knowledge Editing 的部分內容(即編輯模型內部的知識)。
  3. Active Learning: 互動式的主動學習演算法框架。
  4. Reinforcement Learning: 互動式的強化學習演算法框架,討論了線上強化學習框架、離線強化學習框架、從人類回饋中學習(RLHF)、從環境回饋中學習( RLEF)、從AI 回饋中學習(RLAIF) 等多種方法。
  5. Imitation Learning: 互動式的模仿學習演算法框架,討論了線上模仿學習、離線模仿學習等。
  6. Interaction Message Fusion: 為上述所有互動方法提供了一個統一的框架,同時在這個框架中,向外擴展,討論了不同的知識、資訊融合方案,例如跨注意力融合方案(cross-attention)、約束解碼融合方案(constrained decoding) 等。

其他討論

囿於篇幅,本文不詳細介紹其他方面的討論,如評測、應用、倫理、安全以及未來發展方向等。但這些內容在該論文原文中,仍然佔據了15 頁的內容,因此推薦讀者在原文中查看更多細節,以下為這些內容的大綱:

對互動的評測

#論文中對評測的討論主要涉及以下關鍵字:

NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈

互動式NLP 的主要應用

  • 可控文字生成(Controllable Text Generation)
  • 與人互動:RLHF 的思想鋼印現像等
  • ##與知識互動: Knowledge-Aware Fine-Tuning [34] 等
  • 與模型、工具互動:Classifier-Guided CTG 等
  • ##與環境互動:affordance grounding 等


    互動式寫作助理(Writing Assistant)
  • Content Support: 內容支援型
  • Content Checking and Polishing:內容檢查、潤飾型
  • Content Enrichment:內容豐富型
  • Content Co-creation:內容創作型


    #具身智慧(Embodied AI)
  • Observation and Manipulation: 基礎
  • Navigation and Exploration: 進階(e.g., long-horizo​​n embodied tasks)

############################################################################################################################################################## #####Multi-Role Tasks: 進階######################
  • 遊戲(Text Game)
  • 包含文字的互動式遊戲平台:Interactive Text Game Platforms
  • 互動語言模型如何玩僅文字類型的遊戲:Playing Text-Only Games
  • #互動型語言模型如何賦能包含文字媒介的遊戲:Powering Text-Aided Games
  • 其他應用
  • 領域、任務專門化(Specialization):例如如何基於互動打造特定於金融領域、醫學領域等的語言模型框架。
  • 個人化與人格化 (Personalization & Personality):例如如何基於互動打造特定於使用者個人的、或帶有特定人格的語言模型。
  • 基於模型的評測(Model-based Evaluation)

#倫理與安全

討論了互動型語言模式在教育上的影響,也針對社會偏見、隱私等倫理安全議題進行了討論。

未來發展方向與挑戰

  • Alignment:語言模型的對齊問題,如何讓模型的輸出更加無害、更符合人類價值、更有理有據等。
  • Social Embodiment:語言模型的 Grounding 問題,如何進一步推動語言模型具身化和社會化。
  • Plasticity:語言模型的可塑性問題,如何保證模型知識的持續更新,且不會在更新的過程中遺忘先前所獲得的知識。
  • Speed & Efficiency:語言模型的推理速度、訓練效率等問題,如何在不影響效能的情況下,加速推理,以及加速訓練的效率。
  • Context Length:語言模型的上下文視窗大小限制。如何擴充上下文的視窗大小,使其能夠處理更長的文字。
  • Long Text Generation:語言模型的長文本生成問題。如何讓語言模型在極長文本的生成場景下,也能保持優良的表現。
  • Accessibility:語言模型的可用性問題。如何讓語言模型從閉源到開源,如何在不過度損失效能的前提下,讓語言模型能夠部署在邊緣設備如車載系統、筆記本上等。
  • Analysis:語言模型的分析、可解釋性等問題。例如如何預測模型 scaling up 之後的效能,以指導大模型的研發,如何解釋大模型內部的機制等。
  • Creativity:語言模型的創意問題。如何讓語言模型更有創造性,更能運用比喻、隱喻等,能夠創造出新的知識等。
  • Evaluation:如何更好地針對通用大模型進行評測,如何評測語言模型在互動上的特性等。
#

以上是NLP還能做什麼?北航、ETH、港科大、中科院等多機構聯合發布百頁論文,系統闡述後ChatGPT技術鏈的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!