A Survey for In-context Learning

A Survey for In-context Learning

摘要:

隨著大語言模型(LLMs)能力的增長,上下文學習(ICL)已經成為一個NLP新的范式,因為LLMs僅基于幾個訓練樣本讓內容本身增強。現在已經成為一個新的趨勢去探索ICL來評價和extrapolate LLMs的能力。在這篇文章中,我們目的是調查并總結ICL的過程,挑戰和未來的工作。我們首先呈現了一個ICL正式的定義和闡明了它和相關研究的關系。然后,我們組織并討論了關于ICL先進的技術,包括訓練策略,提示策略等等。最后,我們展示了ICL的挑戰和提供了未來研究的潛在方向。我們希望我們的工作在未來可以鼓勵更多的研究在發掘ICL是如何工作和提升ICL性能上。

1. 引言

隨著模型規模和語料庫規模的縮放(Devlin等人,2019;Radford等人,2019;布朗等人,2020年;Chowdhery et al., 2022),大型語言模型(LLMs)展示了一種上下文內學習(ICL)能力,即從上下文中的幾個例子中學習。許多研究表明,llm可以通過ICL執行一系列復雜的任務,例如解決數學推理問題(Wei et al., 2022c)。這些強大的能力已被廣泛驗證為大型語言模型的新興能力(Wei et al., 2022b)。
在這里插入圖片描述

上下文學習的關鍵思想是從類比中學習。圖 1 給出了一個例子,描述了語言模型如何使用 ICL 做出決策。首先,ICL 需要幾個例子來形成演示上下文。這些示例通常以自然語言模板編寫。然后,ICL 將查詢問題和一段演示上下文連接在一起形成一個提示,然后將其輸入語言模型進行預測。與需要使用后向梯度更新模型參數的訓練階段的監督學習不同,ICL 不進行參數更新,直接對預訓練的語言模型進行預測。期望該模型能夠學習隱藏在演示中的模式,并據此做出正確的預測。
作為一種新的范式,ICL 具有多種吸引人的優勢。首先,由于演示是用自然語言編寫的,因此它提供了一個可解釋的界面來與 LLM 進行通信(Brown 等人,2018 年)。這種范式通過改變演示和模板將人類知識融入 LLM 變得更加容易(Liu et al., 2022; Lu et al., 2022; Wu et al., 2022; Wei et al., 2022c)。其次,上下文內學習類似于人類通過學習類比的決策過程(Winston,1980)。第三,與監督訓練相比,ICL 是一個無訓練學習框架。這不僅可以大大降低使模型適應新任務的計算成本,還可以使語言模型作為服務(Sun et al., 2022)成為可能,并且可以很容易地應用于大規模的現實世界任務。
盡管ICL很有前途,但也有一些有趣的問題和有趣的性質需要進一步研究。雖然普通GPT-3模型本身顯示出有希望的ICL能力,但一些研究發現,通過預訓練期間的適應,這種能力可以顯著提高(Min等人,2022b;Chen et al., 2022c)。此外,ICL的性能對特定設置很敏感,包括提示模板、上下文示例的選擇、示例的順序等(Zhao et al., 2021)。此外,ICL的工作機制雖然直觀合理,但尚不清楚,很少有研究提供初步解釋(Dai et al., 2022;von Oswald et al., 2022)。
隨著ICL研究的快速增長,我們的調查旨在提高社區對當前進展的認識。具體而言,我們提供了一份詳細的論文調查和一份將不斷更新的論文列表,并對ICL的相關研究進行了深入討論。我們強調了挑戰和潛在的方向,并希望我們的工作可以為對這一領域感興趣的初學者提供一個有用的路線圖,并為未來的研究提供幫助。

2. Overview

ICL的強大性能依賴于兩個階段:(1)培養LLM的ICL能力的訓練階段,以及(2)LLM根據任務特定演示進行預測的推理階段。就訓練階段而言,LLM直接針對語言建模目標進行訓練,例如從左到右生成。盡管這些模型沒有專門針對上下文學習進行優化,但它們仍然表現出ICL的能力。現有的ICL研究基本上是以訓練有素的LLM為骨干,因此本次調查不會涵蓋預訓練語言模型的細節。在推理階段,由于輸入和輸出標簽都用可解釋的自然語言模板表示,因此有多個方向可以提高ICL的性能。本文將進行詳細的描述和比較,例如選擇合適的示例進行演示,并為不同的任務設計具體的評分方法.
我們按照上面的分類法組織ICL中的當前進展(如圖2所示)。通過ICL的正式定義(§3),我們對熱身方法(§4)、演示設計策略(§5)和主要評分函數(§6)進行了詳細討論。§7深入討論了當前關于揭開ICL背后秘密的探索。我們進一步為ICL提供了有用的評估和資源(§8),并介紹了ICL顯示其有效性的潛在應用場景(§10)。最后,我們總結了挑戰和潛在的方向(§11),并希望這能為該領域的研究人員鋪平道路。
在這里插入圖片描述

3. Definition and Formulation

遵循 GPT-3 (Brown et al., 2020) 的論文,我們提供了上下文學習的定義:上下文學習是一種范式,它允許語言模型以演示的形式僅給出幾個例子來學習任務。本質上,它通過使用訓練有素的語言模型來估計以演示為條件的潛在答案的可能性。

形式上,給定查詢輸入文本 x 和一組候選答案 Y = {y1,., ym}(Y 可以是類標簽或一組自由文本短語),預訓練的語言模型 M 將得分最高的候選答案作為預測條件演示集 C。C 包含一個可選的任務指令 I 和 k 個演示示例;因此,C = {I, s(x1, y1),., s(xk, yk)} 或 C ={s(x1, y1),., s(xk, yk)},其中 s(xk, yk, I) 是根據任務用自然語言文本編寫的示例。候選答案 yj 的可能性可以用模型 M 的整個輸入序列的評分函數 f 表示:
在這里插入圖片描述
最終預測標簽 ^y 是概率最高的候選答案:
在這里插入圖片描述
評分函數f估計給出演示和查詢文本的當前答案的可能性。例如,我們可以通過比較否定和肯定的標記概率來預測二元情感分類中的類標簽。對于不同的應用,有許多f變體,這將在§6中詳述。

根據定義,我們可以看到ICL與其他相關概念的區別。(1) 提示學習:提示可以是鼓勵模型預測期望輸出的離散模板或軟參數。嚴格來說,ICL可以被視為提示調優的一個子類,其中演示是提示的一部分。劉等(2021)對prompt learning進行了深入調查。但是,ICL不包括在內。(2) Fewshot Learning:few shot learning是一種通用的機器學習方法,它使用參數自適應,以有限數量的監督示例學習任務的最佳模型參數(Wang和Yao,2019)。相比之下,ICL不需要參數更新,直接在預訓練的LLM上執行。

4. Model Warmup (模型預熱)

盡管 LLM 顯示出有希望的 ICL 能力,但許多研究也表明 ICL 能力可以通過預訓練和 ICL 推理之間的持續訓練階段進一步改進,我們稱之為模型預熱很短。Warmup 是 ICL 的可選程序,它在 ICL 推理之前調整 LLM,包括修改 LLM 的參數或添加額外的參數。與微調不同,預熱的目的不是針對特定任務訓練LLM,而是增強了模型的整體ICL能力。

4.1 有監督的上下文訓練

為了提高 ICL 能力,研究人員通過構建上下文訓練數據和多任務訓練提出了一系列有監督的上下文微調策略。由于預訓練目標沒有針對上下文學習進行優化(Chen et al., 2022a),Min 等人。 (2022b) 提出了一種方法 MetaICL 來消除預訓練和下游 ICL 使用之間的差距。使用演示示例在廣泛的任務上不斷訓練預訓練的 LLM,這提高了其fewshot 能力。為了進一步鼓勵模型從上下文中學習輸入標簽映射,Wei 等人。 (2023a) 提出了符號調整。這種方法在上下文輸入標簽對上微調語言模型,用任意符號(例如,“foo/bar”)替換自然語言標簽(例如,“正/負面情緒”)。因此,符號調整展示了一種增強的能力,以利用上下文信息來覆蓋先前的語義知識。

  • Lamda: Language models for dialog applications.
  • Scaling Instruction-Finetuned Language Models
  • Jason Wei:
  •   Finetuned Language models are zero-shot learners.  
    
  •   Emergent abilities of large language models.
    
  •   Chain of though prompting elicits reasoning in large language models.
    
  •   symbol tuning improves in-context learning in language models.
    

4.2 自監督上下文訓練

利用原始語料庫進行預熱,Chen 等人。 (2022a) 提出了在下游任務中構建與 ICL 格式對齊的自監督訓練數據。他們將原始文本轉換為輸入輸出對,探索了四個自監督目標,包括掩碼標記預測和分類任務。或者,PICL (Gu et al., 2023) 也使用了原始語料庫,但采用了簡單的語言建模目標,基于上下文促進任務推理和執行,同時保留預訓練模型的任務泛化。因此,PICL 在有效性和任務泛化性方面優于 Chen 等人。 (2022a) 的方法

  • Mingda chen 2022a: Improving In-Context Few-Shot Learning via Self-Supervised Training
  • Yuxian Gu: Pre-Training to Learn in Context

要點:
(1)監督訓練和自我監督訓練都建議在 ICL 推理之前訓練 LLM。關鍵思想是通過引入接近上下文學習的目標來彌合預訓練和下游 ICL 格式之間的差距。與涉及演示的上下文微調相比,沒有幾個例子的指令微調更簡單、更受歡迎。
(2)在一定程度上,這些方法都是通過更新模型參數來提高ICL能力,這意味著原始llm的ICL能力有很大的改進空間。因此,雖然 ICL 并不嚴格要求模型預熱,但我們建議在 ICL 推理之前添加一個預熱階段。
(3) 當訓練數據越來越大時,熱身帶來的性能提升會遇到一個平穩期。這種現象既出現在有監督的上下文訓練中,也出現在自我監督的上下文訓練中,這表明LLM只需要少量的數據就可以適應在熱身期間從上下文中學習。

5. 演示樣例設計 Demonstration Designing

許多研究表明,ICL 的性能強烈依賴于演示設計,包括演示格式、演示示例的順序等(Zhao et al., 2016; Lu et al., 2022)。由于演示在 ICL 中起著至關重要的作用,在本節中,我們調查演示設計策略并將它們分為兩類:演示組織和演示格式,如表 1 所示。

在這里插入圖片描述

5.1 演示的組織方式

在給定一個訓練示例池的情況下,演示組織的重點是如何選擇一個示例子集以及所選示例的順序。

5.1.1 演示選擇

示范選擇旨在回答一個基本問題:哪些例子是ICL的好例子?我們將相關研究分為兩類,包括基于預定義指標的無監督方法和有監督方法。

無監督方法: 劉等人(2022)表明,選擇最近的鄰居作為上下文示例是一個很好的解決方案。距離度量是基于句子嵌入的預定義L2距離或余弦相似性距離。他們提出了KATE,一種基于kNN的無監督檢索器,用于選擇上下文示例。除了距離度量外,互信息也是一個有價值的選擇度量(Sorensen等人,2022)。類似地,可以為多語言ICL檢索k-NN跨語言演示(Tanwar等人,2023),以加強源-目標語言對齊。互信息的優點在于,它不需要標記的示例和特定的LLM。此外,Gonen等人(2022)試圖選擇困惑度較低的提示。Levy等人(2022)考慮了演示的多樣性,以提高構圖的泛化能力。他們選擇不同的演示來涵蓋不同類型的培訓演示。與這些從人類標記數據中選擇實例的研究不同,Kim等人(2022a)提出從LLM本身生成演示。

其他一些方法利用 LM P (y|C, x) 的輸出分數作為無監督指標來選擇演示。Wu等人(2022)根據數據傳輸的代碼長度選擇了kNN示例的最佳子集排列,以壓縮給定x和C的標簽y。Nguyen 和 Wong (2023) 通過計算演示子集 {C|xi ∈ C} 和 {C|xi /∈ C} 的平均性能之間的差異來衡量演示 xi 的影響。此外,Li 和 Qiu (2023a) 使用 infoscore,即驗證集中所有 (x, y) 對的 P (y|xi, yi, x) - P (y|x) 的平均值具有多樣性正則化。

  • What Makes Good In-Context Examples for GPT-3?
  • Groundtruth labels matter: A deeper look into inputlabel demonstrations.

有監督方法: Rubin等人(2022)提出了一種兩階段檢索方法來選擇演示。對于特定的輸入,它首先構建了一個無監督檢索器(例如 BM25)來回憶與候選者相似的示例,然后構建一個有監督的檢索器 EPR 從候選者中選擇演示。評分 LM 用于評估每個候選示例和輸入的串聯。高分的候選者被標記為正例,得分低的候選者是硬負例。Li et al.(2023f)通過采用統一的演示檢索器來統一不同任務的演示選擇,進一步增強了EPR。Ye等人(2023a)檢索了整套演示,而不是單個演示來模擬演示之間的相互關系。他們訓練了一個 DPP 檢索器,通過對比學習與 LM 輸出分數對齊,并在推理時獲得了具有最大后驗的最佳演示集。

基于提示調優,Wang 等人。 (2023e) 將 LLM 視為主題模型,可以從很少的演示中推斷出概念 θ,并根據概念變量 θ 生成標記。他們使用與任務相關的概念標記來表示潛在概念。學習概念標記以最大化 P (y|x, θ)。他們選擇最有可能基于 P (θ|x, y) 推斷概念變量的演示。此外,Zhang 等人介紹了強化學習。 (2022a) 例如選擇。他們將演示選擇制定為馬爾可夫決策過程(Bellman,1957),并通過 Q 學習選擇演示。動作是選擇一個示例,獎勵定義為標記驗證集的準確性。

  • Large language models are implicitly topic models: Explaining and finding good demonstrations for in-context learning.
  • Active example selection for in-context learning

5.1.2 演示順序 Demonstration Ordering

對選定的演示示例進行排序也是演示組織的一個重要方面。Lu等人(2022)已經證明,順序敏感性是一個常見問題,并且總是存在于各種模型中。為了解決這個問題,以前的研究已經提出了幾種無訓練的方法來對演示中的示例進行排序。Liu等人(2022)根據示例到輸入的距離對示例進行了不錯的排序,因此最右邊的演示是最接近的示例。Lu等人(2022)定義了全局和局部熵度量。他們發現熵度量與 ICL 性能之間存在正相關。他們直接使用熵度量來選擇示例的最佳排序。

  • Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity

5.2 演示格式 Demonstration Formating

格式化演示的常用方法是連接示例(x1, y1),……, (xk, yk)直接使用模板T。然而,在一些需要復雜推理的任務中(例如,數學應用題,常識推理),僅用k個演示就能學會從xi到yi的映射并不容易。雖然已經在提示中研究了模板工程(Liu et al., 2021),但一些研究人員旨在通過使用指令I(§5.2.1)描述任務,并在xi和yi之間添加中間推理步驟(§5.2.2),為ICL設計更好的演示格式。

  • Pengfei Liu: Pre-train, prompt, and predict: A systematic survey of prompting methods in natural language processing.

5.2.1 指令格式 Instruction Formatting

除了精心設計的演示示例外,準確描述任務的良好指令也有助于推理性能。然而,與傳統數據集中常見的演示示例不同,任務指令在很大程度上依賴于人工書寫的句子。Honovich等人(2022)發現,給定幾個演示示例,LLM可以生成任務指令。根據LLM的生成能力,周等人(2022c)提出了用于指令自動生成和選擇的自動提示工程師。為了進一步提高自動生成指令的質量,Wang等人(2022b)提出使用LLM來引導自己的生成。現有的工作在自動生成指令方面取得了良好的效果,這為未來將人類反饋與自動生成指令相結合的研究提供了機會。

  • Instruction Induction: From Few Examples to Natural Language Task Descriptions
  • Large language models are human-level prompt engineers
  • Self-Instruct: Aligning Language Model with Self Generated Instructions

5.2.2 推理步驟格式 Reasoning Steps Formating

Wei等人(2022c)在輸入和輸出之間添加了中間推理步驟,以構建演示,稱為思想鏈(CoT)。使用CoT,LLM預測推理步驟和最終答案。CoT提示可以通過將輸入輸出映射分解為許多中間步驟來學習復雜的推理。關于CoT提示策略的研究有很多(Qiao et al.,2022),包括提示設計和過程優化。在本文中,我們主要關注CoT的設計策略。

  • Chain of thought prompting elicits reasoning in large language models
  • Reasoning with language model prompting: A survey

與示范選擇類似,CoT設計也考慮了CoT的選擇。與Wei等人(2022c)手動編寫CoT不同,AutoCT(Zhang等人,2022b)使用LLM和Let’s think逐步生成CoT。此外,Fu等人(2022)提出了一種基于復雜性的演示選擇方法。他們選擇了具有更多推理步驟的演示來進行CoT提示。

  • Automatic chain of thought prompting in large language models.
  • Complexity-based prompting for multi-step reasoning.

由于輸入輸出映射被分解為逐步推理,一些研究人員將多階段ICL應用于CoT提示,并為每個步驟設計CoT演示。多階段ICL在每個推理步驟中使用不同的演示來查詢LLM。Self Ask(Press et al.,2022)允許LLM為輸入生成后續問題,并問自己這些問題。然后,問題和中間答案將被添加到CoT中。iCAP(Wang et al.,2022a)提出了一種上下文感知提示器,該提示器可以動態調整每個推理步驟的上下文。最少到最多提示(Zhou et al.,2022a)是一個兩階段的ICL,包括問題減少和子問題解決。第一階段將復雜的問題分解為子問題;在第二階段,LLM依次回答子問題,之前回答的問題和生成的答案將被添加到上下文中。

  • Ofir Press 2022: Measuring and Narrowing the Compositionality Gap in Language Models
  • Boshi Wang 2022a: Iteratively prompt pre-trained language models for chain of thought.
  • Denny Zhou 2022a: Least-to-most prompting enables complex reasoning in large language models

Xu等人(2023b)將特定任務上的小LMs作為插件進行微調,生成偽推理步驟。給定一個輸入輸出對(xi, yi), SuperICL通過連接(xi, y 'i, ci, yi),將輸入xi的小lm的預測y 'i和置信度ci 作為推理步驟。

-Canwen Xu: 2023b: Small models are valuable plug-ins for large language models.

要點:
(1)演示選擇策略提高了 ICL 性能,但大多數都是實例級。由于 ICL 主要在少樣本設置下進行評估,因此語料庫級別的選擇策略更為重要但尚未得到充分探索。
(2) LLM的輸出分數或概率分布在實例選擇中起著重要作用。
(3) 對于 k 個演示,排列的搜索空間大小為 k!.如何有效地找到最佳順序或如何更好地逼近最優排名也是一個具有挑戰性的問題。
(4) 添加思維鏈可以有效地將復雜的推理任務分解為中間推理步驟。在推理過程中,應用多階段演示設計策略來更好地生成 CoTs。如何提高llm的CoT提示能力也值得探索。
(5)除了人工編寫的演示外,llm的生成性質還可以用于演示設計。LLM 可以生成指令、演示、探測集、思維鏈等。通過使用 LLM 生成的演示,ICL 可以在很大程度上擺脫人類對編寫模板的努力。

6. Scoring Function

評分函數決定我們如何將語言模型的預測轉換為對特定答案可能性的估計。直接估計方法(Direct)采用候選答案的條件概率,可以用語言模型詞匯表中的標記表示(Brown et al., 2020)。選擇概率較高的答案作為最終答案。然而,該方法對模板設計提出了一些限制,例如,答案標記應該放在輸入序列的末尾。Perplexity (PPL) 是另一種常用的度量,它計算整個輸入序列 Sj = {C, s(x, yj , I)} 的句子困惑度由演示示例 C、輸入查詢 x 和候選標簽 yj 的標記組成。由于 PPL 評估整個句子的概率,它消除了標記位置的限制,但需要額外的計算時間。請注意,在機器翻譯等生成任務中,ICL 通過解碼具有最高句子概率的標記以及波束搜索或 Top-p 和 Top-k (Holtzman et al., 2020) 采樣算法等促進多樣性的策略來預測答案。

  • The Curious Case of Neural Text Degeneration

不同于以往在給定輸入上下文的情況下估計標簽概率的方法,Min等人(2022a)提出利用信道模型(Channel)以相反的方向計算條件概率,即估計給定標簽的輸入查詢的可能性。通過這種方式,語言模型需要為輸入中的每個標記生成,從而提高不平衡訓練數據機制下的性能。我們在表 2 中總結了所有三個評分函數。由于 ICL 對演示很敏感(有關更多詳細信息,請參見第 5 節),因此通過減去具有空輸入的模型相關先驗來對獲得的分數進行歸一化對于提高穩定性和整體性能也很有效(Zhao et al., 2021)。
在這里插入圖片描述
另一個方向是將上下文長度約束之外的信息納入以校準分數。結構化提示 (Hao et al., 2022b) 提出用特殊的位置嵌入分別對演示示例進行編碼,然后使用重新縮放的注意力機制提供給測試示例。kNN Prompting (Xu et al., 2023a) 首先使用訓練數據查詢 LLM 以進行分布式表示,然后通過簡單地將最近鄰與存儲的錨表示關閉表示來預測測試實例。

  • Structured Prompting: Scaling In-Context Learning to 1,000 Examples
  • k nn prompting: Learning beyond the context with nearest neighbor inference.

要點:
(1)我們在表2中總結了三種廣泛使用的評分函數的特征。盡管直接采用候選答案的條件概率是有效的,但這種方法仍然對模板設計造成了一些限制。困惑也是一個簡單而廣泛的評分函數。該方法具有通用性,包括分類任務和生成任務。然而,這兩種方法仍然對演示表面敏感,而Channel是一種補救措施,尤其適用于不平衡的數據制度。
(2) 現有的評分函數都直接根據LLM的條件概率來計算分數。通過評分策略校準偏差或減輕敏感性的研究有限。例如,一些研究添加了額外的校準參數來調整模型預測(趙等人,2021)。

7. Analysis

為了理解ICL,許多分析研究試圖調查哪些因素可能影響性能,并旨在找出ICL工作的原因。我們在表3中總結了與ICL性能具有相對較強相關性的因素,以便于參考。
在這里插入圖片描述

7.1 What Influences ICL Performance

預訓練階段: 我們首先介紹LLM預訓練階段的影響因素。Shin等人(2022a)研究了預訓練語料庫的影響。他們發現,領域來源比語料庫大小更重要。將多個語料庫放在一起可能會產生突發ICL能力,對與下游任務相關的語料庫進行預訓練并不總是能提高ICL性能,困惑度較低的模型在ICL場景中也不總是表現得更好。Wei等人(2022b)研究了許多大型模型在多個任務上的涌現能力。他們認為,當預訓練的模型達到大規模的預訓練步驟或模型參數時,它會突然獲得一些突發的ICL能力。Brown等人(2020)還表明,隨著LLM參數從1億增加到1750億,ICL能力也在增長。

  • On the effect of pretraining corpora on in-context learning by a large-scale language model.
  • Language models are few-shot learners.

**推理階段:**在推理階段,演示樣本的特性也會影響ICL的性能。Min等人(2022c)研究了演示樣本的影響來自四個方面:輸入標簽配對格式、標簽空間、輸入分布和輸入標簽映射。他們證明了所有的輸入標簽配對格式、標簽空間的暴露和輸入分布對ICL性能有很大貢獻。與直覺相反,輸入標簽映射對ICL來說無關緊要。就輸入標簽映射的影響而言,Kim等人(2022b)得出了相反的結論,即正確的輸入標簽映射確實會影響ICL的性能,這取決于特定的實驗設置。Wei等人(2023b)進一步發現,當一個模型足夠大時,它將表現出學習輸入標簽映射的緊急能力,即使標簽被翻轉或語義無關。從組成概括的角度來看,An等人(2023)驗證了ICL演示應該是多樣的、簡單的,并且在結構方面與測試示例相似。Lu等人(2022)指出,示范樣本順序也是一個重要因素。此外,劉等人(2022)發現,嵌入距離查詢樣本更近的演示樣本通常比嵌入距離更遠的演示樣本帶來更好的性能。

  • Sewon Min : Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?
  • Junyeob Kim: Groundtruth labels matter: A deeper look into inputlabel demonstrations.
  • Jerry W Wei: Larger language models do in-context learning differently.
  • An 2023: How do in-context examples affect compositional generalization?
  • Lu 2022: Fantastically ordered prompts and where to find them: Overcoming few-shot prompt order sensitivity.
  • Liu 2022: What makes good in-context examples for GPT-3?

7.2 Understanding why ICL Works

訓練數據的分布: Chan等人(2022)對預訓練數據的研究表明,ICL能力是由數據分布屬性驅動的。他們發現,當訓練數據具有出現在集群中的示例并且有足夠的稀有類時,ICL 能力就會出現。謝等人。 (2022) 將 ICL 解釋為隱式貝葉斯推理,并構建了一個合成數據集來證明當預訓練分布遵循隱馬爾可夫模型的混合時,ICL 能力會出現。

  • Chan 2022 : Data distributional properties drive emergent in-context learning in transformers
  • Sang Michael Xie 2022: An explanation of in-context learning as implicit bayesian inference

學習機制: 通過學習線性函數,Garg等人(2022)證明了Transformers可以根據演示樣本編碼有效的學習算法來學習看不見的線性函數。他們還發現,ICL模型中編碼的學習算法可以實現與最小二乘估計器相當的誤差。李等人(2023g)將ICL抽象為一個算法學習問題,并表明Transformers可以通過隱式經驗風險最小化來實現適當的函數類。潘等人(2023)將ICL能力解耦為任務識別能力和任務學習能力,并進一步展示了它們如何利用演示。從信息論的角度來看,Hahn和Goyal(2023)在語言學動機的假設下展示了ICL的誤差界,以解釋下一個表征預測如何帶來ICL能力。Si等人(2023)發現,大型語言模型表現出先前的特征偏差,并展示了一種使用干預來避免ICL中意外特征的方法。

  • Shivam Garg: 2022: What can transformers learn in-context? A case study of simple function classes.
  • Yingcong Li 2023g: Transformers as algorithms: Generalization and implicit model selection in in-context learning.
  • Jane Pan 2023: What in-context learning “learns” in-context: Disentangling task recognition and task learning.
  • Michael Hahn/ Navin Goyal: A Theory of Emergent In-Context Learning as Implicit Structure Induction
  • Si 2023: Measuring inductive biases of in-context learning with underspecified demonstrations.

另一項工作試圖建立 ICL 和梯度下降之間的聯系。將線性回歸作為起點,Akyürek 等人 (2022) 發現基于 Transformer 的上下文學習器可以隱式實現標準微調算法,von Oswald 等人 (2022) 表明,具有手工構建參數和梯度下降學習的模型的線性僅注意力 Transformer 高度相關。基于 softmax 回歸,Li 等人 (2023e) 發現僅自注意力的 Transformer 與梯度下降學習的模型表現出相似性。戴等人 (2022) 找出 Transformer attention 和梯度下降之間的對偶形式,并進一步提出將 ICL 理解為隱式微調。此外,他們比較了基于GPT的ICL和對實際任務的顯式微調,發現ICL的行為確實類似于從多個角度進行的調優。

  • Ajyurek 2022: What learning algorithm is in-context learning? Investigations with linear models
  • von Oswald 2022: . Transformers learn in-context by gradient descent.
  • Li 2023e: The Closeness of In-Context Learning and Weight Shifting for Softmax Regression
  • Dai 2022: Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta Optimizers

功能組件: 專注于特定的功能模塊,Olsson等人(2022)發現transformer 中存在一些感應頭,它們復制之前的模式來完成下一個令牌。進一步,他們將感應頭的功能擴展到更抽象的模式匹配和補全,這可能實現ICL。Wang et al. (2023b)對Transformers中的信息流進行了研究,發現在ICL過程中,示范標簽詞作為錨點,聚集和分發關鍵信息,用于最終的預測。

  • Olsson 2022: In-Context learning and INduction heads
  • Wang 2023b: Label words are anchors: An information flow perspective for understanding in-context learning.

要點:
(1)了解和考慮ICL的工作方式可以幫助我們提高ICL的性能,表3列出了與ICL性能密切相關的因素。
(2) 盡管一些分析研究已經為解釋ICL邁出了初步的一步,但它們大多局限于簡單的任務和小模型。對大量任務和大型模型進行擴展分析可能是下一步需要考慮的問題。此外,在現有的工作中,用梯度下降解釋ICL似乎是一個合理、普遍和有前景的未來研究方向。如果我們在ICL和基于梯度下降的學習之間建立明確的聯系,我們可以借鑒傳統深度學習的歷史來改進ICL。

8. 驗證和資源 Evaluation and Resources

8.1 傳統任務 Traditional Tasks

作為一種通用的學習范式,ICL可以在各種傳統數據集和基準上進行檢查,例如SuperGLUE(Wang et al.,2019)、SQuAD(Rajpurkar et al.,2018)。Brown等人在SuperGLUE上用32個隨機采樣的例子實現ICL。(2020)發現,GPT3可以在COPA和ReCoRD上實現與先進狀態(SOTA)微調性能相當的結果,但在大多數NLU任務上仍然落后于微調。Hao等人(2022b)顯示了擴大示范示例數量的潛力。然而,縮放帶來的改進是非常有限的。目前,與微調相比,ICL在傳統的NLP任務上仍有一些空間。

8.2 新的有挑戰性的任務 New Challenging Tasks

在具有上下文學習能力的大型語言模型時代,研究人員更感興趣的是在沒有下游任務微調的情況下評估大型語言模型的內在能力(Bommasani et al.,2021)。

為了探索LLM在各種任務上的能力限制,Srivastava等人(2022)提出了BIG Bench(Srivastawa等人,2022),這是一個涵蓋廣泛任務的大型基準,包括語言學、化學、生物學、社會行為等。通過ICL,在65%的BIG Bench任務中,最佳模型已經超過了平均報告的人工評分結果(Suzgun等人,2022)。為了進一步探索當前語言模型實際上無法解決的任務,Suzgun等人(2022)提出了一個更具挑戰性的ICL基準,即BIG Bench Hard(BBH)。BBH包括23個未解決的任務,通過選擇最先進的模型性能遠低于人類性能的具有挑戰性的任務來構建。此外,研究人員正在搜索逆縮放任務,1也就是說,當放大模型大小時,模型性能會降低的任務。這些任務也突出了ICL當前范式的潛在問題。為了進一步探索模型的泛化能力,Iyer等人(2022)提出了OPT-IML Bench,由來自8個現有基準的2000個NLP任務組成,特別是ICL在保留類別上的基準。

具體而言,一系列研究集中在探索ICL的推理能力。Saparov和He(2022)從一階邏輯中表示的合成世界模型中生成了一個例子,并將ICL生成解析為符號證明以進行形式分析。他們發現LLM可以通過ICL做出正確的個人推斷步驟。施等人(2022)構建了MGSM基準來評估LLM在多語言環境中的思維鏈推理能力,發現LLM表現出跨多種語言的復雜推理。為了進一步探索LLM更復雜的規劃和推理能力,Valmickam等人(2022)提供了多個測試案例,用于評估行動和變化的各種推理能力,其中現有的LLM ICL方法表現出較差的性能。

8.3 開源工具

注意到ICL方法通常以不同的方式實現,并使用不同的LLM和任務進行評估,Wu等人(2023)開發了OpenICL,這是一個開源工具包,能夠實現靈活統一的ICL評估。憑借其適應性強的體系結構,OpenICL促進了不同組件的組合,并提供了最先進的檢索和推理技術,以加速ICL與高級研究的集成。

  • Openicl: An open-source framework for in-context learning

要點:
(1) 由于ICL對演示示例數量的限制,傳統的評估任務必須適應較少的鏡頭設置;否則,傳統的基準無法直接評估LLM的ICL能力
(2)由于ICL是一種在許多方面不同于傳統學習范式的新范式,因此對ICL的評價提出了新的挑戰和機遇。面對挑戰,現有評估方法的結果是不穩定的,尤其是對演示示例和說明敏感。Chen等人(2022b)觀察到,現有的準確性評估低估了ICL對指令擾動的敏感性。進行一致的ICL評估仍然是一個懸而未決的問題,而OpenICL(Wu et al.,2023)代表了應對這一挑戰的一次有價值的初步嘗試。對于評估的機會,由于ICL只需要幾個實例進行演示,它降低了評估數據構建的成本。

  • On the relation between sensitivity and accuracy in in-context learning.
  • Meta-learning via language model in-context tuning.

9 文本以外的上下文學習 In-context learning beyond Text

ICL在NLP中的巨大成功激發了研究人員在不同模式下探索其潛力,包括視覺、視覺+語言和語音任務

9.1 視覺上下文學習 visual In-context learning

9.2 多模態上下文學習 Multi-modal in-context learning

9.3 語音上下文學習 Speech in-context learning

總結:

(1)最近的研究探索了自然語言之外的語境學習,取得了有希望的結果。正確格式化的數據(例如,用于視覺語言任務的交錯圖像-文本數據集)和架構設計是激活上下文學習潛力的關鍵因素。在更復雜的結構空間(如圖形數據)中探索它是具有挑戰性和前景的(Huang et al.,2023a)。
(2) 語境中的文本學習示范設計和選擇的發現不能簡單地轉移到其他模式。需要進行特定領域的調查,以充分利用各種模式的情境學習的潛力。

10 應用

CL在傳統的NLP任務和方法上表現出優異的性能(Kim等人,2022a;Min等人,2022b),如機器翻譯(Zhu等人,2023b;Sia和Duh,2023)、信息提取(Wan等人,2020;He等人,2021)和文本到SQL(Pourreza和Rafiei,2023。特別是,通過明確指導推理過程的演示,ICL在需要復雜推理的任務上表現出顯著的效果(Wei et al.,2022c;李等人,2023b;周等人,2022b)和組合泛化(Zhou et al.,2021)

此外,ICL為元學習和指令調整等流行方法提供了潛力。Chen等人(2022d)將ICL應用于元學習,適應具有凍結模型參數的新任務,從而解決了復雜的嵌套優化問題。(Ye et al.,2023b)通過將無正文學習應用于教學學習,增強了預訓練模型和教學網絡模型的零樣本任務泛化性能。具體來說,我們探討了ICL的幾個新興和流行的應用,在下面的段落中展示了它們的潛力。

數據工程: ICL已經顯示出在數據工程中廣泛應用的潛力。得益于強大的ICL能力,使用GPT-3的標簽比使用人類的標簽進行數據注釋的成本低50%至96%。將GPT-3的偽標簽與人類標簽相結合,可以以較小的成本獲得更好的性能(Wang等人,2021)。在更復雜的場景中,如知識圖構建,Khorashadizadeh等人(2023)已經證明,ICL有潛力顯著提高知識圖的自動構建和完成的技術水平,從而以最小的工程工作量降低人工成本。因此,在各種數據工程應用程序中利用ICL的功能可以產生顯著的好處。與人工注釋(例如,眾包)或嘈雜的自動注釋(例如遠程監督)相比,ICL以低成本生成相對高質量的數據。然而,如何使用ICL進行數據注釋仍然是一個懸而未決的問題。例如,丁等人(2022)進行了全面分析,發現基于生成的方法在使用GPT-3時比通過ICL注釋未標記的數據更具成本效益。

模型增強 ICL的上下文靈活性顯示了增強檢索增強方法的巨大潛力。通過保持LM架構不變并為輸入準備基礎文檔,在上下文中,RALMRam等人(2023)有效地利用了現成的通用檢索器,從而在各種模型大小和不同的語料庫中獲得了顯著的LM增益。此外,用于檢索的ICL也顯示出提高安全性的潛力。除了效率和靈活性外,ICL還顯示出安全性潛力(Panda等人,2023),(Meade等人,2024)使用ICL進行檢索演示,以引導模型朝著更安全的世代發展,減少模型中的偏差和毒性。

知識更新 LLM可能包含過時或不正確的知識,但ICL展示了有效編輯和更新這些信息的潛力。在一項初步試驗中,Si等人(2022)發現,當提供反事實示例時,GPT-3 85%的時間更新了其答案,較大的模型在上下文知識更新方面表現更好。然而,這種方法可能會影響LLM中的其他正確知識。與微調模型的知識編輯相比(De Cao et al.,2021),ICL已被證明對輕量級模型編輯有效。Si等人(2022)探索了通過上下文演示編輯LLM記憶知識的可能性,發現更大的模型規模和演示示例的組合提高了基于ICL的知識編輯成功率。在一項綜合研究中,鄭等人(2023)調查了ICL編輯事實知識的策略,發現與基于梯度的方法相比,精心設計的演示能夠實現有競爭力的成功率,副作用顯著減少。這突出了ICL在知識編輯方面的潛力。

11 挑戰和未來研究方向

在本節中,我們回顧了一些現有的挑戰,并為ICL的未來研究提出了可能的方向。

11.1. 新的預訓練策略 New pretraining Strategies

正如Shin等人(2022b)所研究的那樣,語言模型目標并不等于ICL能力。研究人員提出,通過推理前的中間調整來彌合預訓練目標和ICL之間的差距(第4節),這表明了有希望的性能改進。更進一步,為ICL量身定制的預訓練目標和指標有可能提高具有卓越ICL能力的LLM。

12 結論

在本文中,我們調查了現有的ICL文獻,并對先進的ICL技術進行了廣泛的綜述,包括訓練策略、演示設計策略、評估數據集和資源,以及相關的分析研究。此外,我們強調了未來研究的關鍵挑戰和潛在方向。據我們所知,這是關于ICL的第一次調查。我們希望這項調查能夠突出ICL目前的研究現狀,并為未來在這一有前景的范式上的工作提供線索。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36330.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36330.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36330.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微服務06-分布式事務解決方案Seata

1、Seata 概述 Seata事務管理中有三個重要的角色: TC (Transaction Coordinator) - **事務協調者:**維護全局和分支事務的狀態,協調全局事務提交或回滾。 TM (Transaction Manager) - **事務管理器:**定義全局事務的范圍、開始全局事務、提交或回滾全局事務。 RM (Resourc…

Java地圖專題課 基本API BMapGLLib 地圖找房案例 MongoDB

本課程基于百度地圖技術,由基礎入門開始到應用實戰,適合零基礎入門學習。將企業項目中地圖相關常見應用場景的落地實戰,包括有地圖找房、輕騎小程序、金運物流等。同時講了基于Netty實現高性能的web服務,來處理高并發的問題。還講…

ttf-dejavu fontconfig字體

ttf-dejavu fontconfig是驗證碼,pdf,excel時需要用到的字體 編輯dockerfile,先切換國內鏡像源,默認alpinelinux是國外源,下載包會很慢 vim Dockerfile FROM alpine:latest RUN sed -i s/dl-cdn.alpinelinux.org/mirr…

【創建型設計模式】C#設計模式之原型模式

原型模式是一種創建型設計模式,它通過復制現有對象來創建新對象,而無需通過實例化的方式。它允許我們使用已經存在的對象作為藍本,從而創建新的對象,這樣可以避免重復初始化相似的對象,提高了對象的創建效率。 現在給…

Sentinel

1、熔斷降級限流 熔斷 A服務調用B服務的某個功能,由于網絡不穩定、B服務卡機等問題,導致功能時間超長。如果這樣子的次數太多,我們就可以直接將B斷路(A不再請求B接口),凡是調用B服務的直接返回降級數據&a…

13-數據結構-串以及KMP算法,next數組

串 目錄 串 一、串: 二、串的存儲結構: 三、模式匹配 1.簡單模式匹配(BF算法) 2.KMP算法 2.1-next(j)數組手工求解 2.2-nextval(j)數組手工求解 一、串: 內容受…

JVM垃圾回收篇-垃圾回收算法

JVM垃圾回收篇-垃圾回收算法 標記清除(Mark Sweep) 概念 collector指的就是垃圾收集器。 mutator是指除了垃圾收集器之外的部分,比如說我們的應用程序本身。 mutator的職責一般是NEW(分配內存)、READ(從內存中讀取內容)、WRITE(將內容寫入內…

將多個單獨的 Excel 文件合并成一個,并添加標題行

要將多個單獨的 Excel 文件合并成一個,并添加標題行,可以使用 Python 的 pandas 庫。以下是一個示例代碼,假設要合并的 Excel 文件都在同一個文件夾中: import os import pandas as pd # 指定文件夾路徑 folder_path path/to/fo…

vscode搭建c語言環境問題

c語言環境搭建參考文章:【C語言初級階段學習1】使用vscode運行C語言,vscode配置環境超詳細過程(包括安裝vscode和MinGW-W64安裝及后續配置使用的詳細過程,vscode用戶代碼片段的使用)[考研專用]_QAQshift的博客-CSDN博客 問題如下:…

[C++ 網絡協議] 套接字和地址族、數據序列

目錄 1. 套接字 1.1 在Linux平臺下構建套接字 1.1.1 用于接聽的套接字(服務器端套接字) 1.1.2 用于發送請求的套接字(客戶端套接字) 1.2 在Windows平臺下構建套接字 1.2.1 Winsock的初始化 1.2.2 用于接聽的套接字(服務器端套接字) 1.2.3 用于發送請求的套接字(客戶端套…

pytest框架快速進階篇-pytest前置和pytest后置,skipif跳過用例

一、Pytest的前置和后置方法 1.Pytest可以集成unittest實現前置和后置 importunittestimportpytestclassTestCase(unittest.TestCase):defsetUp(self)->None:print(unittest每個用例前置)deftearDown(self)->None:print(unittest每個用例后置)classmethoddefsetUpClass…

jmeter中用戶參數和用戶定義的變量的區別

如果使用jmeter做過參數化的人都知道,參數化的方式有多種,其中一種就是使用用戶定義的變量,還有一種是使用用戶參數。那么,這兩個有什么異同呢? 一、先說相同的點: 1、都可以參數化,以供sample…

allure測試報告

使用pytest結合Allure進行測試報告生成的簡單教程 allure測試報告 Allure基于Java開發,因此我們需要提前安裝Java 8或以上版本的環境。 ◆安裝allure-pytest插件在DOS窗口輸入命令“pip3 install allure-pytest”,然后按“Enter”鍵。 下載安裝Allure…

使用 Docker 部署 canal 服務實現MySQL和ES實時同步

文章目錄 0. 環境介紹0. 前置步驟1. 安裝Kibana和Elasticsearch2. 安裝Canal和Canal Adapter2.1 修改數據庫配置2.1.1 修改配置2.1.2 驗證mysql binlog配置2.1.3 查看日志文件2.1.4 用JDBC代碼插入數據庫 2.2 安裝Canal Server2.3 安裝Canal Adapter修改兩處配置文件配置文件取…

Linux 命令篇

一、啟動網絡命令 ip addr 查看網卡信息 service network start 啟動網卡 service network stop 關閉網卡 service network restart 重啟網絡 二、pwd 命令 查看當前目錄的路徑 linux 下所有的絕對路徑都是從根目錄 "/" 開始 root:是linux下root用戶的根目…

初識mysql數據庫之引入mysql客戶端庫

目錄 一、下載第三方庫 1. 準備工作 1. 使用mysql官網提供的庫 2. yum源安裝 二、測試第三方庫是否可用 三、mysql常用接口介紹 1. 查看官方文檔 2. 初始化 3. 關閉mysql 4. 連接mysql 5. 下達sql指令 四、一個簡單的C客戶端庫連接mysql程序 1. 頭文件 2. 初始化…

FFmpeg接收UDP碼流

一、FFmpeg參數初始化: //在打開碼流前指定各種參數比如:探測時間/超時時間/最大延時等//設置緩存大小,1080p可將值調大av_dict_set(&options, "buffer_size", "8192000", 0);//以tcp方式打開,如果以udp方式打開將tcp替換為udpav_dict_set(…

Could not resolve host: mirrorlist.centos.org; Unknown error解決方法

今天服務器安裝完CentOS系統后,安裝網絡的時候,出現無法聯網yum yum -y install net-tools 以上代碼無法運行并報錯,這里我要提醒大家,如果在初始安裝的時候選中安裝網絡工具模塊就不用在安裝net-tools了,因為我選中…

Angular 性能優化實戰

Angular 性能優化實戰 Angular 是一個非常強大的前端框架,但是如果不注意性能優化,應用程序可能會變得非常慢并增加加載時間。 以下是一些Angular性能優化經驗的實戰建議: 1. 使用 OnPush 變更檢測策略 默認情況下,Angular檢查…

vite跨域配置踩坑,postman鏈接后端接口正常,但是前端就是不能正常訪問

問題一:怎么都鏈接不了后端地址 根據以下配置,發現怎么都鏈接不了后端地址,proxy對了呀。 仔細看,才發現host有問題 // 本地運行配置,及反向代理配置server: {host: 0,0,0,0,port: 80,// cors: true, // 默認啟用并允…