国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

這篇具有很好參考價(jià)值的文章主要介紹了預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

作者?|?上杉翔二????????

悠閑會(huì)?·?信息檢索?

整理?|?NewBeeNLP

「Prompt Tuning也許會(huì)是深度學(xué)習(xí)時(shí)代的Feature Engineering問題,如何給各大任務(wù)設(shè)計(jì)合理的Prompts將會(huì)是很有意思的科學(xué)問題」

--劉知遠(yuǎn)

雖然博主以前也看到了基于 Prompt-tuning 可以讓GPT-3處理各種類型的任務(wù),甚至擁有直接處理零樣本和小樣本學(xué)習(xí)能力。也整理過GPT,OpenAI CLIP,DALL-E[1] 這些文章,見 GPT Plus Money!B O O M

但但但,沒想到這個(gè)領(lǐng)域沖的好快,新范式、綜述和應(yīng)用都層出不窮,并且看到小伙伴的應(yīng)用實(shí)驗(yàn)效果奇佳。便想重新整理一些文章,再重新認(rèn)識一下Prompt-tuning!

預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

GPT-3

Language Models are Few shot Learners

眾所周知GPT-3的優(yōu)勢在于它超級大大大大 ,可以針對特定任務(wù)來進(jìn)行微調(diào),即核心理念為:「將所有自然語言處理的任務(wù)轉(zhuǎn)換為語言模型任務(wù)?!?/strong>

所有任務(wù)都可以被統(tǒng)一建模,任務(wù)描述與任務(wù)輸入視為語言模型的歷史上下文,而輸出則為語言模型需要預(yù)測的未來信息。即轉(zhuǎn)變問題為根據(jù)文本的走向來 " 搞清楚 " 它們應(yīng)該做什么事情,通過給模型一些提示(prompt),來讓它根據(jù)任務(wù)直接學(xué)習(xí)。這種方法也被稱為情境學(xué)習(xí)(in-context learning)或提示(prompting)。

NLP中Prompt綜述

然后直接來看大佬關(guān)于Prompt的綜述。

  • 論文:Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing

  • 地址:https://arxiv.org/abs/2107.13586

NLP技術(shù)的發(fā)展可分為4個(gè)階段/范式,如下圖。

  • 全監(jiān)督學(xué)習(xí)(非神經(jīng)網(wǎng)絡(luò))。僅在目標(biāo)任務(wù)的輸入輸出樣本數(shù)據(jù)集上訓(xùn)練特定任務(wù)模型,其嚴(yán)重依賴特征工程。

  • 全監(jiān)督學(xué)習(xí)(神經(jīng)網(wǎng)絡(luò))。使得特征學(xué)習(xí)與模型訓(xùn)練相結(jié)合,于是研究重點(diǎn)轉(zhuǎn)向了架構(gòu)工程,即通過設(shè)計(jì)一個(gè)網(wǎng)絡(luò)架構(gòu)(如CNN,RNN,Transformer)能夠?qū)W習(xí)數(shù)據(jù)特征。

  • Pre-train,F(xiàn)ine-tune。先在大數(shù)據(jù)集上預(yù)訓(xùn)練,再根據(jù)特定任務(wù)對模型進(jìn)行微調(diào),以適應(yīng)于不同的下游任務(wù)。在這種范式下,研究重點(diǎn)轉(zhuǎn)向了目標(biāo)工程,設(shè)計(jì)在預(yù)訓(xùn)練和微調(diào)階段使用的訓(xùn)練目標(biāo)(損失函數(shù))。

  • Pre-train,Prompt,Predict。無需要fine-tune,讓預(yù)訓(xùn)練模型直接適應(yīng)下游任務(wù)。方便省事,不需要每個(gè)任務(wù)每套參數(shù),突破數(shù)據(jù)約束。預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?具體“Prompt”的做法是,將人為的規(guī)則給到預(yù)訓(xùn)練模型,使模型可以更好地理解人的指令的一項(xiàng)技術(shù),以便更好地利用預(yù)訓(xùn)練模型。例如,在文本情感分類任務(wù)中,輸入為"I love this movie.",希望輸出的是"positive/negative"中的一個(gè)標(biāo)簽。那么可以設(shè)置一個(gè)Prompt,形如:"The movie is ___",然后讓模型用來表示情感狀態(tài)的答案(label),如positive/negative,甚至更細(xì)粒度一些的“fantastic”、“boring”等,將空補(bǔ)全作為輸出。

Fine-tune和Prompt的區(qū)別?

prompting 更加依賴先驗(yàn),而 fine-tuning 更加依賴后驗(yàn)。

  • Fine-tuning中:是預(yù)訓(xùn)練語言模型“遷就“各種下游任務(wù)。具體體現(xiàn)就是通過引入各種輔助任務(wù)loss,將其添加到預(yù)訓(xùn)練模型中,然后繼續(xù)pre-training,以便讓其更加適配下游任務(wù),這個(gè)過程中,預(yù)訓(xùn)練語言模型做出了更多的犧牲。

  • Prompting中,是各種下游任務(wù)“遷就“預(yù)訓(xùn)練語言模型。具體體現(xiàn)也是上面介紹的,我們需要對不同任務(wù)進(jìn)行重構(gòu),使得它達(dá)到適配預(yù)訓(xùn)練語言模型的效果,這個(gè)過程中,是下游任務(wù)做出了更多的犧牲。

這種方法的優(yōu)點(diǎn)是給定一組合適的 prompt,以完全無監(jiān)督的方式訓(xùn)練的單個(gè) LM 就能夠用于解決大量任務(wù)。然而該方法也存在一個(gè)問題——這種方法引入了 prompt 挖掘工程的必要性,即需要找出最合適的 prompt 來讓 LM 解決面臨的任務(wù),即怎么做Prompt Engineering。

Fine-tune和Prompt的性能?

Prompt當(dāng)然參數(shù)量要小很多啦。如下圖是對于T5的兩者對比圖。

  • Fine-tune需要為每個(gè)下游任務(wù)都存下整個(gè)預(yù)訓(xùn)練模型的副本,并且推理必須在單獨(dú)的批次中執(zhí)行。

  • Prompt只需要為每個(gè)任務(wù)存儲一個(gè)特定于下游任務(wù)的小單元,并使用原始的預(yù)先訓(xùn)練過的模型啟用混合任務(wù)推理即可。

Fine-tune模型的每個(gè)副本都需要110億個(gè)參數(shù)。而Prompt每個(gè)任務(wù)只需要20480個(gè)參數(shù)——減少超過5個(gè)數(shù)量級。預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

Prompt Engineering

主要目標(biāo)是設(shè)計(jì)Prompt。比如 Overall it was a [z] movie,[z]是需要模型進(jìn)行填充的空位,[z]的位置和數(shù)量決定了Prompt的類型?;仡櫼幌翪LIP就是使用的“A photo of a [z]”的prompt。

  • cloze prompt([z]在句中)。適合使用掩碼 (Mask) LM 解決的任務(wù)。

  • prefix prompt([z]在句末)。適合有關(guān)生成的任務(wù)或使用標(biāo)準(zhǔn)自回歸 LM 解決的任務(wù),因?yàn)樗鼈兣c模型從左到右的性質(zhì)剛好吻合。

對于一些涉及多個(gè)輸入的任務(wù)例如文本對分類,prompt 模板則必須包含至少兩個(gè)輸入的空間。人工設(shè)計(jì)模版或者自動(dòng)化搜索模版一般是常用的方式。預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

Answer Engineering

與 prompt 工程相反,answer 工程的目的是搜索一個(gè) answer 空間 Z 和一個(gè)到原始輸出 Y 的映射,從而得到更細(xì)粒度的預(yù)測模型。比如把純“positive”或“negative”的標(biāo)簽轉(zhuǎn)變成選擇恰當(dāng)?shù)脑~匯填空如“fantastic”,使情感分類任務(wù)轉(zhuǎn)變?yōu)檎Z言模型構(gòu)建任務(wù)。下圖是一些可參考的模版,當(dāng)然此后的一些新方法都是想通過自動(dòng)構(gòu)建模版,以進(jìn)一步釋放語言模型潛能。預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

為什么Prompt會(huì)更有效?

實(shí)際上,prompt 可以看做是對預(yù)訓(xùn)練語言模型中已經(jīng)記憶的知識的一種檢索方式,由于 prompt 任務(wù)形式就是預(yù)訓(xùn)練任務(wù),所以相比于 fine-tuning,當(dāng)使用 prompt 形式向模型中輸入樣本時(shí),預(yù)測時(shí)得到了“提示”,因此所需使用到的信息量是更多的。因?yàn)橐玫礁嗟男畔⒘?,所以樣本的類別分布在 prompt 視角之下都是稀疏的,這應(yīng)該也是 prompt 在 few-shot 上效果顯著的原因。預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

Prefix-Tuning

之前的工作如Prompting主要是人工設(shè)計(jì)模版或者自動(dòng)化搜索模版(如上一篇綜述所展示了很多模版)來進(jìn)行預(yù)訓(xùn)練的,但人工設(shè)計(jì)的未知性比較影響模型性能+自動(dòng)化搜索成本較高,為什么不從離散tokens轉(zhuǎn)向連續(xù)的“soft prompt”呢?

  • 論文:Prefix-Tuning: Optimizing Continuous Prompts for Generation

  • paper:https://arxiv.org/abs/2101.00190

  • code:https://github.com/XiangLi1999/PrefixTuning

因此prefix-tuning 的主要貢獻(xiàn)是提出任務(wù)特定的trainable前綴prefix,這樣直接為不同任務(wù)保存不同的前綴即可。如上圖的下方,只需要不同任務(wù)設(shè)置不同的Prefix即可,因此實(shí)現(xiàn)上只需要存儲一個(gè)大型transformer模型和多個(gè)學(xué)習(xí)的任務(wù)特定的prefix參數(shù)。

基于prompting方法的直覺,作者認(rèn)為具有適當(dāng)?shù)纳舷挛目梢栽诓桓淖儏?shù)的情況下來引導(dǎo)LM。因此作者給模型若干的字詞作為提示,比如想讓模型生成“Obama”,那可以在其常見的搭配前加上上下文(例如abama的名字Barack),那么LM就會(huì)把更高的可能性分配給想要的單詞,就能自動(dòng)生成一個(gè)模版。符號化表示可以有兩種形式:

  • 對于自回歸模型,加入前綴后的模型輸入表示:

  • 或者為編碼器和編碼器都添加prefix:。

???

然后其他的不變,語言模型參數(shù)固定,只更新前綴參數(shù)。這種連續(xù)性的生成方法在后續(xù)的P-tuning中也持續(xù)被探索。

GPT Understands, Too

P-tuning V1的動(dòng)機(jī)和prefix-tuning是類似的,也是探索可學(xué)習(xí)的可微模版,主要貢獻(xiàn)是首次提出了用連續(xù)空間搜索的 embedding 做 prompt。如這篇清華文章的題目“GPT Understands, Too”,代表著它的表現(xiàn)想顛覆一直以來“GPT只能做生成,不能做理解”的結(jié)論。

  • paper:https://arxiv.org/abs/2103.10385

  • code:https://github.com/THUDM/P-tuning

首先關(guān)于“什么是模版”,直觀上模版就是由自然語言構(gòu)成的前綴/后綴。比如人工定義的話會(huì)變成類似「The capital of Britain is [MASK]」這種形式,然后也可是「Britain' capital is [MASK]」或者「[MASK] is the capital of Britain 」等等。通過這些模版才能使得下游任務(wù)跟預(yù)訓(xùn)練任務(wù)一致,這樣才能更加充分地利用原始預(yù)訓(xùn)練模型。

而P-tuning的目標(biāo)是:不關(guān)心模版長什么樣, 只需要知道模版由哪些 token 組成,該插入到哪里,插入后能不能完成我們的下游任務(wù),輸出的候選空間是什么就可以了。即不關(guān)心模版的“自然語言”要求,它只是為了更好地實(shí)現(xiàn)“一致性”但不是必須的。因此P-tuning 的做法是用上下文 x (「Britain」)、目標(biāo) y(「[MASK]」) 和去組合成一個(gè)prompt模版 t (「The capital of ... is ....」)。如下圖,預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?上下文指藍(lán)色的“Britain”,目標(biāo)是紅色的“[MASK]”,橘色的區(qū)域是想生成的模版。左邊的圖a是離散化搜索的做法,不一定是最優(yōu)的。右邊的是P-tuning,它通過預(yù)訓(xùn)練的嵌入層將一組離散輸入 token (即pseudo prompts)映射到embedding,然后結(jié)合(capital,Britain)生成得到結(jié)果,再優(yōu)化生成的encoder部分。這種方法可以找到更好的連續(xù) prompt,并通過下游損失函數(shù)對連續(xù) prompt 進(jìn)行優(yōu)化。

離散 vs 連續(xù)

最早研究自動(dòng)模版的工作,有些是挖掘?qū)嶓w關(guān)系,有些需要大量樣本進(jìn)行基于梯度搜索(如autoprompt),在離散空間下搜索的自然語言模版。也有梯度粗篩+代入模版精篩等等。而連續(xù)的Prefix-Tuning和P-tuning 放棄了“模版由自然語言構(gòu)成”這一要求,從而將其變成了可以簡單梯度下降求解的連續(xù)參數(shù)問題,效果還更好??赡躳rompt的關(guān)鍵在于它是怎么用的,不在于它由什么構(gòu)成。

P-Tuning v2

P-tuning在一些復(fù)雜的自然語言理解NLU任務(wù)上效果很差(任務(wù)不通用)+預(yù)訓(xùn)練的參數(shù)量不能?。ㄒ?guī)模不通用)。因此V2版本主要是基于P-tuning和Prefix-tuning,引入Deep Prompt Encoding和Multi-task Learning等策略進(jìn)行優(yōu)化的。

  • P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks

  • paper:https://arxiv.org/abs/2110.07602

  • code:https://github.com/thudm/p-tuning-v2

直接看模型圖如下,左邊是p-tuning的做法,右邊是v2的改進(jìn)。預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?對比起來主要的變動(dòng)有:

  • Deep Prompt Encoding:采用 Prefix-tuning 的做法,在輸入前面的每層加入可微調(diào)的參數(shù)。

  • 無重參數(shù)化編碼器:對pseudo token,不再使用重參數(shù)化進(jìn)行表征(如用于 prefix-tunning 的 MLP 和用于 P-tuning 的 LSTM),且不再替換pre-trained model word embedding,取而代之的是直接對pseudo token對應(yīng)的深層模型的參數(shù)進(jìn)行微調(diào)。

  • Multi-task learning:對于pseudo token的continous prompt,隨機(jī)初始化比較難以優(yōu)化,因此采用multi-task方法同時(shí)訓(xùn)練多個(gè)數(shù)據(jù)集,prefix continuous prompt共享。

  • 回到CLS:可以在[CLS]部分輸出sentence-level class,以及每個(gè)token位置上輸出token-level class,可以解決一些沒有語義標(biāo)簽的問題。

OpenPrompt 工具包

預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?Pipeline工具來了!先放link:

  • https://github.com/thunlp/OpenPrompt

一起交流

想和你一起學(xué)習(xí)進(jìn)步!『NewBeeNLP』目前已經(jīng)建立了多個(gè)不同方向交流群(機(jī)器學(xué)習(xí) / 深度學(xué)習(xí) / 自然語言處理 / 搜索推薦 / 圖網(wǎng)絡(luò) / 面試交流 /?等),名額有限,趕緊添加下方微信加入一起討論交流吧?。ㄗ⒁庖欢╫要備注信息才能通過)

本文參考資料

[1]

GPT,OpenAI CLIP,DALL-E: https://nakaizura.blog.csdn.net/article/details/116903995

-?END?-

預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

2022年 預(yù)訓(xùn)練的下一步是什么?

2022-01-11

預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

NLP 預(yù)訓(xùn)練家族再思考

2021-12-22

預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

萬字綜述!從21篇最新論文看多模態(tài)預(yù)訓(xùn)練模型研究進(jìn)展

2021-11-17

預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

NLP 語義匹配:經(jīng)典前沿方案整理

2021-11-10文章來源地址http://www.zghlxwxcb.cn/news/detail-402314.html

預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?

到了這里,關(guān)于預(yù)訓(xùn)練新范式!為什么Prompt會(huì)更有效?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包