0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

In-context learning介紹

深度學(xué)習(xí)自然語言處理 ? 來源:NLP日志 ? 2023-04-21 10:02 ? 次閱讀

1 簡介?????????

隨著大規(guī)模預(yù)訓(xùn)練語言模型(LLM)能力的不斷提升,in-context learning(ICL)逐漸成為自然語言處理領(lǐng)域一個(gè)新的范式。ICL通過任務(wù)相關(guān)的若干示例或者指令來增強(qiáng)上下文,從而提升語言模型預(yù)測效果,通過探索ICL的性能來評估跟推斷LLM能力也成為一種新的趨勢。

58c4df04-df6c-11ed-bfe3-dac502259ad0.png

圖1: In-context learning示例

2 介紹

In-context learning是一種學(xué)習(xí)范式,它允許語言模型通過以演示形式組織的若干個(gè)示例或者指令來學(xué)習(xí)任務(wù)。In-context learning的核心在于從任務(wù)相關(guān)的類比樣本中學(xué)習(xí),ICL要求若干示例以特定形式進(jìn)行演示,然后將當(dāng)前輸入x跟上述示例通過prompt拼接到一起作為語言模型的輸入。本質(zhì)上,它利用訓(xùn)練有素的語言模型根據(jù)演示的示例來估計(jì)候選答案的可能性。簡單理解,就是通過若干個(gè)完整的示例,讓語言模型更好地理解當(dāng)前的任務(wù),從而做出更加準(zhǔn)確的預(yù)測。

從定義上可以發(fā)現(xiàn)in-context learning跟其他相關(guān)概念的差異,比如prompt learning跟few-shot learning。Prompt learning是通過學(xué)習(xí)合適的prompt來鼓勵模型預(yù)測出更加合適的結(jié)果,而prompt既可以是離散型,也可以是連續(xù)型。嚴(yán)格來講,in-context learning可以視為prompt learning中的一小部分,如果將in-context learning中的若干示例的演示視作prompt的話。Few-shot learning指的是在給定少量監(jiān)督數(shù)據(jù)下利用參數(shù)更新來學(xué)習(xí)最佳模型參數(shù)的訓(xùn)練方法,但in-context learning則不然,它不要求參數(shù)更新。

In-context learning有以下幾個(gè)優(yōu)勢,

a)若干示例組成的演示是用自然語言撰寫的,這提供了一個(gè)跟LLM交流的可解釋性手段,通過這些示例跟模版讓語言模型更容易利用到人類的知識。

b)類似于人類類比學(xué)習(xí)的決策過程,舉一反三。

c)相比于監(jiān)督學(xué)習(xí),它不需要模型訓(xùn)練,減小了計(jì)算模型適配新任務(wù)的計(jì)算成本,更容易應(yīng)用到更多真實(shí)場景。

3 方法????????

In-context learning可以分為兩部分,分為作用于Training跟inference階段

3.1 Training

在推理前,通過持續(xù)學(xué)習(xí)讓語言模型的ICL能力得到進(jìn)一步提升,這個(gè)過程稱之為warmup,warmup會優(yōu)化語言模型對應(yīng)參數(shù)或者新增參數(shù),區(qū)別于傳統(tǒng)的finetune,finetune旨在提升LLM在特定任務(wù)上的表現(xiàn),而warmup則是提升模型整理的ICL性能。

Supervised in-context training

通過構(gòu)建對應(yīng)的in-context的監(jiān)督數(shù)據(jù)跟多任務(wù)訓(xùn)練,進(jìn)行對應(yīng)的in-context finetune,從而縮小預(yù)訓(xùn)練跟下游ICL的差距。除此之外,instruct tuning通過在instruction上訓(xùn)練能提升LLM的ICL能力。

Self-supervised in-context training

根據(jù)ICL的格式將原始數(shù)據(jù)轉(zhuǎn)換成input-output的pair對數(shù)據(jù)后利用四個(gè)自監(jiān)督目標(biāo)進(jìn)行訓(xùn)練,包括掩碼語言,分類任務(wù)等。

Supervised training跟self-supervised training旨在通過引入更加接近于in-context learning的訓(xùn)練目標(biāo)從而縮小預(yù)訓(xùn)練跟ICL之間的差距。比起需要示例的in-context finetuning,只涉及任務(wù)描述的instruct finetuning更加簡單且受歡迎。另外,在warmup這個(gè)階段,語言模型只需要從少量數(shù)據(jù)訓(xùn)練就能明顯提升ICL能力,不斷增加相關(guān)數(shù)據(jù)并不能帶來ICL能力的持續(xù)提升。從某種角度上看,這些方法通過更加模型參數(shù)可以提升ICL能力也表明了原始的LLM具備這種潛力。雖然ICL不要求warmup,但是一般推薦在推理前增加一個(gè)warmup過程。

3.2 Inference

很多研究表明LLM的ICL性能嚴(yán)重依賴于演示示例的格式,以及示例順序等等,在使用目前很多LLM模型時(shí)我們也會發(fā)現(xiàn),在推理時(shí),同一個(gè)問題如果加上不同的示例,可能會得到不同的模型生成結(jié)果。

Demonstration Selection

對于ICL而言,那些樣本是好的?語言模型的輸入長度是有限制的,如何從眾多的樣本中挑選其中合適的部分作為示例這個(gè)過程非常重要。按照選擇的方法主要可以分為無監(jiān)督跟有監(jiān)督兩種。

其中無監(jiān)督的方法分為以下幾種,首先就是根據(jù)句向量距離或者互信息等方式選擇跟當(dāng)前輸入x最相似的樣本作為演示例,另外還有利用自使用方法去選擇最佳的示例排列,有的方法還會考慮到演示示例的泛化能力,盡可能去提高示例的多樣性。除了上述這些從人工撰寫的樣本中選擇示例的方式外,還可以利用語言模型自身去生成合適的演示示例。

至于監(jiān)督的方法也有幾種,第一種是先利用無監(jiān)督檢索器召回若干相似的樣本,再通過監(jiān)督學(xué)習(xí)訓(xùn)練的Efficient Prompt Retriever進(jìn)行打分,從而篩選出最合適的樣本。此外還有基于prompt tuning跟強(qiáng)化學(xué)習(xí)的方式去選擇樣本。

Demonstration ordering

挑選完演示示例后,如何對其進(jìn)行排序也非常重要。排序的方法既有不需要訓(xùn)練的,也有根據(jù)示例跟當(dāng)前輸入距離遠(yuǎn)近進(jìn)行排序的,也可以根據(jù)自定義的熵指標(biāo)進(jìn)行重排。

Demonstration Formatting

如何設(shè)計(jì)演示示例的格式?最簡單的方式就是將示例們的x-y對按照順序直接拼接到一起。但是對于復(fù)雜的推理問題,語言模型很難直接根據(jù)x推理出y,這種格式就不適用了。另外,有的研究旨在設(shè)計(jì)更好的任務(wù)指令instruction作為演示內(nèi)容,上述的格式也就不適用了。對于這兩類場景,除了人工撰寫的方式外,還可以利用語言模型自身去生成對應(yīng)的演示內(nèi)容。

4 總結(jié)????????????????

上面關(guān)于in-context learning的介紹可能會讓人感到些許困惑,instruction tuning也算是其中一種,但是instruction里不一定有演示示例,我個(gè)人想法也是如此,如果大多數(shù)instruction里也會提及對應(yīng)的任務(wù)示例,但是不排除部分instruction只涉及到任務(wù)定義,所以前面將in-context learning跟任務(wù)示例強(qiáng)綁定可能就不太嚴(yán)謹(jǐn)了。但是大家能理解其中的含義即可,也沒必要深究其中的某些表述。????

毋庸置疑,在大規(guī)模語言模型能力快速提升的今天,in-context learning的熱度還將持續(xù)一段時(shí)間,如何通過構(gòu)建合適的in-context來進(jìn)一步激發(fā)語言模型在特定任務(wù)下的表現(xiàn)是值得思考的問題,如果能讓語言模型自身去寫對應(yīng)的任務(wù)示例或者指令,讓模型自己指導(dǎo)自己執(zhí)行任務(wù),不就進(jìn)一步解放生產(chǎn)力了嘛。細(xì)品下autoGPT,不也是ai自己指導(dǎo)自己完成任務(wù)嘛。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • icl
    icl
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    17234
  • 語言模型
    +關(guān)注

    關(guān)注

    0

    文章

    524

    瀏覽量

    10277

原文標(biāo)題:In-context learning綜述篇

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙開發(fā)接口Ability框架:【Context

    Context模塊提供開發(fā)者運(yùn)行代碼的上下文環(huán)境的能力,包括查詢和設(shè)置應(yīng)用信息、ResourceManager等信息。
    的頭像 發(fā)表于 05-21 17:33 ?864次閱讀
    鴻蒙開發(fā)接口Ability框架:【<b class='flag-5'>Context</b>】

    Ensemble Learning Task

    學(xué)習(xí)地址:https://github.com/datawhalechina/team-learning-data-mining/tree/master/EnsembleLearningTask
    發(fā)表于 07-07 07:06

    追溯ChatGPT各項(xiàng)能力的起源

    上下文學(xué)習(xí) (in-context learning) : 遵循給定任務(wù)的幾個(gè)示例,然后為新的測試用例生成解決方案。很重要的一點(diǎn)是,GPT-3雖然是個(gè)語言模型,但它的論文幾乎沒有談到“語言建模
    的頭像 發(fā)表于 02-17 10:05 ?1007次閱讀

    把ChatGPT加入Flutter開發(fā),會有怎樣的體驗(yàn)?

    與以往的統(tǒng)計(jì)模型不行,ChatGPT 不是那種「一切都從語料統(tǒng)計(jì)里學(xué)習(xí)」的 AI,相反 ChatGPT 具備有臨場學(xué)習(xí)的能力,業(yè)內(nèi)稱之為 in-context learning ,這也是為什么 ChatGPT 可以在上下文中學(xué)習(xí)的原因。
    的頭像 發(fā)表于 03-06 09:43 ?883次閱讀

    一文解析In-Context Learning

    本文主要以實(shí)驗(yàn)為主,探究以上影響 ICL 的因素。 實(shí)驗(yàn)設(shè)置 作者采用 12 個(gè)模型進(jìn)行了實(shí)驗(yàn)。我們包括 6 種語言模型(表 1),所有這些模型都是僅限解碼器的 dense LM。LMs 的大小從 774M 到 175B 不等。
    發(fā)表于 03-22 15:21 ?3647次閱讀

    In-context learning如何工作?斯坦福學(xué)者用貝葉斯方法解開其奧秘

    In-context learning允許用戶為新用例快速構(gòu)建模型,而無需為每個(gè)任務(wù)微調(diào)和存儲新參數(shù)。它通常只需要很少的訓(xùn)練示例就可以使模型正常工作,而且即使對于非專家來說,也可以通過直觀的自然語言來進(jìn)行交互。
    的頭像 發(fā)表于 04-11 14:07 ?1468次閱讀

    大模型LLM領(lǐng)域,有哪些可以作為學(xué)術(shù)研究方向?

    隨著全球大煉模型不斷積累的豐富經(jīng)驗(yàn)數(shù)據(jù),人們發(fā)現(xiàn)大模型呈現(xiàn)出很多與以往統(tǒng)計(jì)學(xué)習(xí)模型、深度學(xué)習(xí)模型、甚至預(yù)訓(xùn)練小模型不同的特性,耳熟能詳?shù)娜鏔ew/Zero-Shot LearningIn-Context Learning、Ch
    的頭像 發(fā)表于 05-29 14:36 ?1139次閱讀
    大模型LLM領(lǐng)域,有哪些可以作為學(xué)術(shù)研究方向?

    In-Context-Learning在更大的語言模型上表現(xiàn)不同

    最近,在語言模型領(lǐng)域取得了巨大的進(jìn)展,部分是因?yàn)樗鼈兛梢酝ㄟ^In-Context- Learning ( ICL)來完 成各種復(fù)雜的任務(wù)。
    的頭像 發(fā)表于 06-12 14:35 ?700次閱讀
    In-<b class='flag-5'>Context-Learning</b>在更大的語言模型上表現(xiàn)不同

    首篇!Point-In-Context:探索用于3D點(diǎn)云理解的上下文學(xué)習(xí)

    隨著基于廣泛數(shù)據(jù)訓(xùn)練的大模型興起,上下文學(xué)習(xí)(In-Context Learning)已成為一種新的學(xué)習(xí)范式,在自然語言處理(NLP)和計(jì)算機(jī)視覺(CV)任務(wù)中表現(xiàn)出了巨大的潛力。
    的頭像 發(fā)表于 07-13 14:41 ?776次閱讀
    首篇!Point-In-<b class='flag-5'>Context</b>:探索用于3D點(diǎn)云理解的上下文學(xué)習(xí)

    基于Tansformer架構(gòu)的ChatGPT原理解析

    學(xué)習(xí)(In-Context Learning)、思維鏈(Chain of Thought,CoT)等概念也隨之進(jìn)入大眾視野。市面上甚至出現(xiàn)了提示工程師這個(gè)職業(yè),專門為指定任務(wù)編寫提示模板。
    發(fā)表于 09-04 14:36 ?524次閱讀
    基于Tansformer架構(gòu)的ChatGPT原理解析

    關(guān)于GO CONTEXT機(jī)制實(shí)現(xiàn)原則

    Context接口沒有提供方法來設(shè)置其值和過期時(shí)間,也沒有提供方法直接將其自身撤銷。也就是說,Context不能改變和撤銷其自身。那么該怎么通過Context傳遞改變后的狀態(tài)呢?
    的頭像 發(fā)表于 11-16 16:15 ?364次閱讀

    基于單一LLM的情感分析方法的局限性

    LLM的發(fā)展為情感分析任務(wù)帶來的新的解決方案。有研究人員使用LLM,在上下文學(xué)習(xí)(in-context learning, ICL)的范式下,僅使用少量的訓(xùn)練示例就能夠?qū)崿F(xiàn)與監(jiān)督學(xué)習(xí)策略旗鼓相當(dāng)?shù)男阅鼙憩F(xiàn)。
    的頭像 發(fā)表于 11-23 11:14 ?864次閱讀
    基于單一LLM的情感分析方法的局限性

    無監(jiān)督域自適應(yīng)場景:基于檢索增強(qiáng)的情境學(xué)習(xí)實(shí)現(xiàn)知識遷移

    本文對比了多種基線方法,包括無監(jiān)督域自適應(yīng)的傳統(tǒng)方法(如Pseudo-labeling和對抗訓(xùn)練)、基于檢索的LM方法(如REALM和RAG)和情境學(xué)習(xí)方法(如In-context learning)。
    發(fā)表于 12-05 14:14 ?626次閱讀
    無監(jiān)督域自適應(yīng)場景:基于檢索增強(qiáng)的情境學(xué)習(xí)實(shí)現(xiàn)知識遷移

    谷歌提出大規(guī)模ICL方法

    谷歌DeepMind團(tuán)隊(duì)近日取得了一項(xiàng)突破性的研究成果。他們提出了強(qiáng)化和無監(jiān)督兩種新型的ICL(In-Context Learning)學(xué)習(xí)方法,這一創(chuàng)新技術(shù)能夠在多個(gè)領(lǐng)域顯著提升模型的性能。
    的頭像 發(fā)表于 05-14 14:17 ?360次閱讀

    鴻蒙開發(fā)組件:FA模型的Context

    FA模型下只有一個(gè)ContextContext中的所有功能都是通過方法來提供的,它提供了一些featureAbility中不存在的方法,相當(dāng)于featureAbility的一個(gè)擴(kuò)展和補(bǔ)全。
    的頭像 發(fā)表于 06-21 09:43 ?301次閱讀
    鴻蒙開發(fā)組件:FA模型的<b class='flag-5'>Context</b>