恒源云(GPUSHARE)_未聞Prompt名(論文學(xué)習(xí)筆記)

文章來(lái)源 | 恒源云社區(qū)

原文地址 |未聞Prompt名

原文作者 | Mathor


前言:

個(gè)人覺(jué)得2021年NLP最火的兩個(gè)idea梯啤,一個(gè)是對(duì)比學(xué)習(xí)(Contrastive Learning),另一個(gè)就是Prompt

淺談我對(duì) Prompt 的理解

Prompt 說(shuō)簡(jiǎn)單也簡(jiǎn)單,看了幾篇論文以及博客后發(fā)現(xiàn)其實(shí)就是構(gòu)建一個(gè)語(yǔ)言模版。但是細(xì)想起來(lái)又覺(jué)得復(fù)雜忙干,因?yàn)榭偢杏X(jué)里面還有很多細(xì)節(jié),因此本文就來(lái)從頭梳理一下 Prompt(Prompt 很多地方會(huì)翻譯成「范式」嘁酿,但是「范式」這個(gè)詞本身也不好理解徙硅,因此讀者把他看作是「模板」即可)

今天我還與室友討論預(yù)訓(xùn)練模型(例如 BERT)到底做了什么即碗,我給出的回答是

預(yù)訓(xùn)練模型提供了一個(gè)非常好的初始化參數(shù),這組參數(shù)在預(yù)訓(xùn)練任務(wù)上的表現(xiàn)非常好(預(yù)訓(xùn)練損失非常低)陌凳,但是由于下游任務(wù)千奇百怪剥懒,我們需要在這組參數(shù)的基礎(chǔ)上進(jìn)行 Fine-tune 以適應(yīng)我們的下游任務(wù)(使得下游任務(wù)的損失值非常低)

上面這段話其實(shí)隱含了目前做 NLP 任務(wù)的大致流程,即 "Pre-train, Fine-tune"合敦,而對(duì)我們來(lái)說(shuō)實(shí)際上大部分時(shí)候都是直接拿別人預(yù)訓(xùn)練好的模型做 Fine-tune初橘,并沒(méi)有 Pre-train 這一步

融入了 Prompt 的模式大致可以歸納成 "Pre-train, Prompt, and Predict",在該模式中充岛,下游任務(wù)被重新調(diào)整成類似預(yù)訓(xùn)練任務(wù)的形式保檐。例如,通常的預(yù)訓(xùn)練任務(wù)有 MLM(Masked Language Model)崔梗,在文本情感分類任務(wù)中展东,對(duì)于 "I love this movie" 這句輸入,可以在后面加上 Prompt:"the movie is ___"炒俱,組成如下這樣一句話:

I love this movie, the movie is ___

然后讓預(yù)訓(xùn)練模型用表示情感的答案(例如 "great"盐肃、"terrible" 等)做完形填空,最后再將該答案轉(zhuǎn)換為情感分類的標(biāo)簽权悟。這樣一來(lái)砸王,我們就可以通過(guò)構(gòu)造合適的「模板」,通過(guò)小樣本數(shù)據(jù)集訓(xùn)練一個(gè)模型來(lái)解決各種各樣的下游任務(wù)

注意峦阁,Prompt 設(shè)計(jì)的這種完形填空和 MLM 任務(wù)是有區(qū)別的谦铃,二者雖然都是都是詞分類,但是候選集不同榔昔,MLM 的候選詞是整個(gè)詞庫(kù)驹闰,不過(guò)如果是生成任務(wù),那么 Prompt 和 MLM 的候選集就是一樣的撒会,都是整個(gè)詞庫(kù)

如何構(gòu)建 Prompt

對(duì)于輸入文本 x嘹朗,存在一個(gè)函數(shù) fPrompt(x),將 x 轉(zhuǎn)化成 x′ 的形式诵肛,即
x^{’}=f_{\text{Prompt}}(x)
該函數(shù)通常會(huì)進(jìn)行兩步操作:

  1. 使用一個(gè)模板屹培,模板通常為一段自然語(yǔ)言句子,并且該句子包含兩個(gè)空位置:用于填輸入 x 的位置 [X]怔檩、用于生成答案文本 z 的位置 [Z]
  2. 把輸入 x 填到 [X] 的位置

以前文提到的例子為例褪秀,在文本情感分類任務(wù)中,假設(shè)輸入是

x = "I love this movie"

使用的模板是

[X]. Overall, it was a [Z] movie

那么得到的 x′ 就應(yīng)該是

I love this movie. Overall, it was a [Z] movie

在實(shí)際情況中薛训,Prompt 來(lái)填充答案的位置一般在句中或句末媒吗。如果在句中,一般稱這種 Prompt 為 Cloze Prompt乙埃;如果在句末闸英,一般稱這種 Prompt 為 Prefix Prompt锯岖。[X][Z] 的位置、數(shù)量以及使用模板句的不同自阱,都有可能對(duì)結(jié)果造成影響嚎莉,因此需要靈活調(diào)整

上面講的都是簡(jiǎn)單的情感分類任務(wù)的 Prompt 設(shè)計(jì)米酬,讀者看到這里自然而然的會(huì)想到沛豌,其他 NLP 任務(wù)的 Prompt 如何設(shè)計(jì)呢?實(shí)際上劉鵬飛大神在他的論文中給我們提供了一些參考

Text Generation 中摘要任務(wù)里有一個(gè)關(guān)鍵字 TL;DR赃额,這其實(shí)是 Too Long; Don't Read 的縮寫

Prompt 的選擇非常重要且困難

有上述 Prompt 的基礎(chǔ)后加派,我們可以得知 Prompt 的設(shè)計(jì)主要包含兩部分:

  1. 模板 T:例如 [X]. Overall, It was [Z]
  2. 標(biāo)簽詞映射:即 [Z] 位置預(yù)測(cè)輸出的詞匯集合與真實(shí)標(biāo)簽 y 構(gòu)成的映射關(guān)系。例如跳芳,標(biāo)簽 positive 對(duì)應(yīng)單詞 great芍锦,標(biāo)簽 negative 對(duì)應(yīng)單詞 terrible

在基于 Prompt 的微調(diào)方法中,不同的模板和標(biāo)簽詞對(duì)最終結(jié)果影響很大飞盆,下圖是陳丹琦團(tuán)隊(duì)論文中的實(shí)驗(yàn)結(jié)果

從上圖我們可以看出兩點(diǎn):

  1. 使用相同的「模板」娄琉,不同的「標(biāo)簽詞」會(huì)產(chǎn)生不一樣的效果。例如 great/terribelcat/dog 這兩組標(biāo)簽詞的效果不一樣吓歇,而且即便是相同標(biāo)簽詞孽水,互換順序也會(huì)導(dǎo)致最終效果有所變化,例如 cat/dogdot/cat
  2. 使用相同「標(biāo)簽詞」城看,對(duì)「模板」進(jìn)行小改動(dòng)(例如增刪標(biāo)點(diǎn))也會(huì)呈現(xiàn)不同的結(jié)果

Prompt 的設(shè)計(jì)

Prompt 大概可以從下面三個(gè)角度進(jìn)行設(shè)計(jì):

  • Prompt 的形狀
  • 人工設(shè)計(jì)模板
  • 自動(dòng)學(xué)習(xí)模板

Prompt 的形狀

Prompt 的形狀主要指的是 [X][Z] 的位置和數(shù)量女气。上文提到的 Cloze Prompt 與 Maksed Language Model 的訓(xùn)練方式非常類似,因此對(duì)于 MLM 任務(wù)來(lái)說(shuō)测柠,Cloze Prompt 更合適炼鞠;對(duì)于生成任務(wù)或者使用自回歸 LM 解決的任務(wù),Prefix Prompt 更合適

人工設(shè)計(jì)模板

Prompt 的模板最開始是人工設(shè)計(jì)的轰胁,人工設(shè)計(jì)一般基于人類的自然語(yǔ)言知識(shí)谒主,力求得到語(yǔ)義流暢且高效的「模板」。例如赃阀,Petroni 等人在著名的 LAMA 數(shù)據(jù)集中為知識(shí)探針任務(wù)人工設(shè)計(jì)了 Cloze Templates瘩将;Brown 等人為問(wèn)答、翻譯和探針等任務(wù)設(shè)計(jì)了 Prefix Templates凹耙。人工設(shè)計(jì)模板的優(yōu)點(diǎn)是直觀姿现,但缺點(diǎn)是需要很多實(shí)驗(yàn)、經(jīng)驗(yàn)以及語(yǔ)言專業(yè)知識(shí)肖抱。下圖是 GPT Understands, Too 論文中的一個(gè)實(shí)驗(yàn)結(jié)果

可以看到不同的 Prompt 只有細(xì)微的區(qū)別备典,有的甚至只是增加減少一個(gè)詞,但是最后的結(jié)果會(huì)差幾十個(gè)點(diǎn)

自動(dòng)學(xué)習(xí)模板

為了解決人工設(shè)計(jì)模板的缺點(diǎn)意述,許多研究員開始探究如何自動(dòng)學(xué)習(xí)到合適的模板提佣。自動(dòng)學(xué)習(xí)的模板又可以分為離散(Discrete Prompts)和連續(xù)(Continuous Prompts)兩大類吮蛹。離散方法主要包括:Prompt Mining,Prompt Paraphrasing拌屏,Gradient-based Search潮针,Prompt GenerationPrompt Scoring;連續(xù)的則主要包括 Prefix Tuning倚喂,Tuning Initialized with Discrete prompts每篷,Hard-Soft Prompt Hybrid TuningP-Tuning v2

離散 Prompts

簡(jiǎn)單說(shuō)一下上述幾種方法端圈,首先是離散的 Prompt Mining焦读,這篇文章發(fā)表在 TACL 2020,講的是如何拿預(yù)訓(xùn)練語(yǔ)言模型當(dāng)作「知識(shí)庫(kù)」使用舱权,并且引入了依存樹和 Paraphrase(轉(zhuǎn)述)等方法來(lái)挖掘更好的「模板」矗晃,下圖是實(shí)驗(yàn)結(jié)果

可以看到,被挖掘出來(lái)的若干「連接謂詞」相比于人工設(shè)計(jì)的「模板」結(jié)果提升還是很明顯的

有很多種方法可以實(shí)現(xiàn) Prompt Paraphrsing宴倍,例如「回譯」张症,我們通過(guò) DeepL 翻譯看個(gè)例子:


這樣我們就得到了 x shares a border with y 的一個(gè) Prompt Paraphrasing:x and y share a boundary

論文 BARTScore 干脆給我們提供了一張表,里面有各種詞組的同義替換鸵贬,這個(gè)我再熟悉不過(guò)了俗他,因?yàn)橐郧坝⒄Z(yǔ)考試我也背過(guò)類似的東西

Gradient-based Search(基于梯度的搜索)是由論文 AUTOPROMPT 提出的,這篇文章發(fā)表在 EMNLP 2020恭理,它的主要思想用下面這張圖就可以表示

上圖中拯辙,a real joy 是原始的輸入句子 xinp,紅色的 Trigger tokens 是由 xinp「激發(fā)」的相關(guān)詞匯集合 xtrig颜价,根據(jù) Template λ 的配置涯保,將 xtrig 和 xinp 組合起來(lái)構(gòu)造最終的輸入 xprompt,送入 Masked LM 預(yù)測(cè)情感標(biāo)簽周伦。下面的表格增加了很多 NLP 其他任務(wù)的例子

關(guān)于如何生成 xtrig 集合夕春,實(shí)際上主要使用的是 HotFlip 和對(duì)抗訓(xùn)練的思想,感興趣的同學(xué)可以看原論文以及 HotFlip: White-box adversarial examples for text classification专挪、Universal Adversarial Triggers for Attacking and Analyzing NLP 這兩篇論文

Prompt Generation 是陳丹琦團(tuán)隊(duì)的一項(xiàng)工作及志,主要是把 Seq2Seq 預(yù)訓(xùn)練模型 T5 應(yīng)用到模板搜索的過(guò)程。T5 基于多種無(wú)監(jiān)督目標(biāo)進(jìn)行預(yù)訓(xùn)練寨腔,其中最有效的一個(gè)無(wú)監(jiān)督目標(biāo)就是:利用 <X>< Y > 替換一個(gè)或多個(gè)連續(xù) span速侈,然后生成對(duì)應(yīng)輸出。例如:

Thank you <X> me to your party <Y> week

T5 會(huì)在 <X> 生成 for inviting迫卢,在 <Y> 生成 last倚搬。很顯然,T5 這種方式很適合生成模板乾蛤,而且不需要指定模板的 token 數(shù)每界。具體來(lái)說(shuō)捅僵,有三種可能的生成方式

<S_1> <span>→</span> <{X}> {M}(y) <{Y}> <S_1>

<S_1> <span>→</span> <S_1><{X}>{M}(y) <{Y}>

<S_1> <S_2><span>→</span> <S_1> <{X}> {M}(y) <{Y}> <S_2>

具體的模板生成過(guò)程如下圖所示:

首先在標(biāo)簽詞前后添加填充位 <X>< Y>(上面提到的三種生成方式),然后將其送入 T5 模型中眨层,T5 會(huì)自動(dòng)在填充位生成序列庙楚,最后將標(biāo)簽詞(great 或 terribel)轉(zhuǎn)換為 [MASK] 標(biāo)簽,形成多個(gè)模板趴樱。具體過(guò)程中采用 Beam Search 的方法生成多個(gè)候選模板馒闷,然后對(duì)每一個(gè)候選模板利用 dev 集進(jìn)行微調(diào),選擇其中一個(gè)最佳模板

我還想說(shuō)一下這篇論文中另外一個(gè)有意思的點(diǎn)伊佃,最后送入模型進(jìn)行預(yù)測(cè)的句子還拼接上了每種類別的「示例」(Demonstration)窜司,如下圖所示

這種 Prompt 的設(shè)計(jì)有點(diǎn)像是在做語(yǔ)義相似度任務(wù)沛善,X 為原始 Input 句子航揉,已知 Y 為正例,Z 為負(fù)例金刁,構(gòu)造了如下形式的輸入:

X是[MASK]例帅涂?Y為正例;Z為負(fù)例

這有點(diǎn)像是編程語(yǔ)言中的三目運(yùn)算符尤蛮,或者說(shuō)相當(dāng)于讓模型比較 XY媳友、Z 的語(yǔ)義相似度。這里我們自然而然會(huì)想問(wèn):Y产捞、Z 是如何挑選出來(lái)的醇锚?實(shí)際上是依據(jù)下面兩條規(guī)則:

  1. 對(duì)于每個(gè)原始輸入句子,從每個(gè)類別中隨機(jī)采樣一個(gè)樣本「示例」拼接到 Prompt 中
  2. 對(duì)于每個(gè)原始輸入句子坯临,在每個(gè)類別中焊唬,通過(guò)與 Sentence-BERT 進(jìn)行相似度計(jì)算,從相似度最高的前 50% 樣本中隨機(jī)選擇一個(gè)樣本「示例」

連續(xù) Prompts

構(gòu)造 Prompt 的初衷是能夠找到一個(gè)合適的方法看靠,讓 Pre-trained Language Model(PLM)更好地輸出我們想要的結(jié)果赶促,但其實(shí)并不一定要將 Prompt 的形式設(shè)計(jì)成人類可以理解的自然語(yǔ)言,只要機(jī)器理解就行了挟炬。因此鸥滨,還有一些方法探索連續(xù)型 Prompts—— 直接作用到模型的 Embedding 空間。連續(xù)型 Prompts 去掉了兩個(gè)約束條件:

  1. 模版中詞語(yǔ)的 Embedding 可以是整個(gè)自然語(yǔ)言的 Embedding谤祖,不再只是有限的一些 Embedding
  2. 模版的參數(shù)不再直接取 PLM 的參數(shù)婿滓,而是有自己獨(dú)立的參數(shù),可以通過(guò)下游任務(wù)的訓(xùn)練數(shù)據(jù)進(jìn)行調(diào)整

Prefix Tuning 最開始由 Li 等人提出粥喜,這是一種在輸入句子前添加一組連續(xù)型向量的方法凸主,該方法保持 PLM 的參數(shù)不動(dòng),僅訓(xùn)練前綴(Prefix)向量容客。Prefix Tuning 的提出主要是為了做生成任務(wù)秕铛,因此它根據(jù)不同的模型結(jié)構(gòu)定義了不同的 Prompt 拼接方式约郁,在 GPT 類的 Auto-Regressive(自回歸)模型上采用的是 [Prefix;x;y] 的方式,在 T5 類的 Encoder-Decoder 模型上采用的是 [Prefix;x;Prefix;y] 的方式

輸入部分 Prefix,x,y 的 Position id 分別記作 Pidx,Xidx,Yidx但两。Prefix Tuning 初始化一個(gè)可訓(xùn)練的矩陣鬓梅,記作 Pθ∈R|Pidx|×dim?(hi),其中

上述公式的含義是谨湘,索引 i 如果屬于前綴的部分绽快,則從 Pθ 中抽取向量;i 如果不是前綴部分紧阔,則由參數(shù)固定的預(yù)訓(xùn)練模型生成對(duì)應(yīng)的向量坊罢。訓(xùn)練目標(biāo)為:
\mathop{\text{max}}\limits_{\phi} \ \log p_{\phi}(y\mid x) = \sum\limits_{i\in \text{Y}{\text{idx}}} \log p{\phi} (z_i\mid h_{<i})

Pθ本質(zhì)上是一個(gè)矩陣,而生成一個(gè)矩陣的方法又很多擅耽,可以用 nn.Embedding()活孩,或者 nn.Linear()

同樣是在連續(xù)空間上搜索 Prompt,OptiPrompt 構(gòu)建的「模板」并不局限于前綴乖仇,也可以在句子的中間

首先根據(jù) AutoPrompt 定義一個(gè) Prompt 模板:
[x]\ [v]_1\ [v]_2\ …\ [v]_m\ [\text{MASK}]
其中 [v]i 為一個(gè)連續(xù)型向量(與 BERT 的輸入維度一致)憾儒。OptiPrompt 還考慮以人工構(gòu)建的離散 Prompt 作為起點(diǎn),在連續(xù)空間上進(jìn)行搜索以構(gòu)建較優(yōu)的 Prompt乃沙。例如 [x] is [MASK] citizen 可以轉(zhuǎn)換為
[x]\ [v]_1\ [\text{MASK}]\ [v]_2
iscitizen 對(duì)應(yīng)的 input Embedding 作為 [v]1[v]2 的初始化

Hard-Soft Prompt Hybrid Tuning 方法可以說(shuō)是人工設(shè)計(jì)和自動(dòng)學(xué)習(xí)的結(jié)合起趾,它通常不單純使用可學(xué)習(xí)的 Prompt 模板,而是在人工設(shè)計(jì)的模板中插入一些可學(xué)習(xí)的 Embedding警儒。實(shí)際上有了上面的基礎(chǔ)我們都知道训裆,連續(xù)的 Prompt 要比離散的 Prompt 好一點(diǎn),但是在此基礎(chǔ)上還有什么改進(jìn)的余地嗎蜀铲?Liu 等人提出的 P-Tuning 解決了 Prompt token 之間的關(guān)聯(lián)性問(wèn)題

之前連續(xù)的 Prompt 生成方式無(wú)非都是訓(xùn)練一個(gè)矩陣边琉,然后通過(guò)索引出矩陣的某幾行向量拼起來(lái)。坦白地說(shuō)蝙茶,我們希望這些 prompt token Embedding 之間有一個(gè)比較好的關(guān)聯(lián)性艺骂,而不是獨(dú)立地學(xué)習(xí),為了解決這個(gè)問(wèn)題隆夯,P-Tuning 引入了一個(gè) Prompt Encoder(如下圖 b 所示)

上圖 a 是傳統(tǒng)的離散型 Prompt钳恕,我們把生成離散 Prompt token 的東西叫做 Prompt Generator;上圖 b 首先傳入一些 Virtual(Pseudo)token蹄衷,例如 BERT 詞表中的 [unused1],[unused2],... 當(dāng)然忧额,這里的 token 數(shù)目是一個(gè)超參數(shù),插入的位置也可以調(diào)整愧口。將這些 Pseudo token 通過(guò)一個(gè) Prompt Encoder 得到連續(xù)的向量 h0,...,hm睦番,其中

即,Prompt Encoder 是由 BiLSTM+MLP 組成的一個(gè)簡(jiǎn)單網(wǎng)絡(luò)。作者還發(fā)現(xiàn)加入一些 anchor token(領(lǐng)域或者任務(wù)相關(guān)的 token)可以有助于 Template 的優(yōu)化托嚣。例如文本蘊(yùn)含任務(wù)巩检,輸入是前提和假設(shè),判斷是否蘊(yùn)含示启。一個(gè)連續(xù)的模版是
\text{[PRE]} [\text{continuous tokens}][\text{HYP}][\text{continuous tokens}] [\text{MASK}]
在其中加入一個(gè)anchor token:[?]效果會(huì)更好兢哭,此時(shí)模板變成
\text{[PRE]} [\text{continuous tokens}][\text{HYP}]?[\text{continuous tokens}] [\text{MASK}]

大家可能想問(wèn),如何優(yōu)化 P-tuning夫嗓?實(shí)際上根據(jù)標(biāo)注數(shù)據(jù)量的多少迟螺,分兩種情況討論

  1. 標(biāo)注數(shù)據(jù)比較少。這種情況舍咖,我們固定 PLM 的參數(shù)矩父,只優(yōu)化 [P0]~[Pm] 這幾個(gè) token 的 Embedding。換句話說(shuō)排霉,我們只是要更新 Prompt Encoder 的參數(shù)
  2. 標(biāo)注數(shù)據(jù)很充足窍株。這種情況直接放開所有參數(shù)微調(diào)

就在 P-Tuning 方法提出不久后,Liu 等人又提出了 P-Tuning v2郑诺,主要解決 P-Tuning 的兩個(gè)問(wèn)題:

  1. 當(dāng)預(yù)訓(xùn)練模型的參數(shù)量低于 100 億(10B)時(shí)夹姥,Prompt tuning 會(huì)比傳統(tǒng)的 Fine-tuning 差
  2. 諸如序列標(biāo)注這樣對(duì)推理和理解要求高的任務(wù)杉武,prompt tuning 效果會(huì)變差

Liu 等人認(rèn)為先前的 P-Tuning 只用了一層 BiLSTM 來(lái)編碼 Pseudo token辙诞,這是其推理能力不足的原因之一,因此 v2 版本提出 Deep Prompt Tuning轻抱,用 Prefix Tuning 中的深層模型替換 BiLSTM飞涂,如下圖所示

P-Tuning v2 相比于 P-Tuning,區(qū)別在于:

  • 取消 Reparameterization:以前的方法利用重參數(shù)化功能來(lái)提高訓(xùn)練速度和魯棒性(例如祈搜,用于 Prefix-Tuning 的 MLP 和用于 P-Tuning 的 LSTM)较店。在 P-Tuning v2 中,作者發(fā)現(xiàn)重參數(shù)化的改進(jìn)很小容燕,尤其是對(duì)于較小的模型梁呈,同時(shí)還會(huì)影響模型的表現(xiàn)
  • Multi-task Learning:Deep Prompt Tuning 的優(yōu)化難題可以通過(guò)增加額外的任務(wù)數(shù)據(jù)或者無(wú)標(biāo)注數(shù)據(jù)來(lái)緩解,同時(shí)可微調(diào)的 Prefix Continuous Prompt 也可以用來(lái)做跨任務(wù)的知識(shí)共享蘸秘。例如在 NER 中官卡,可以同時(shí)訓(xùn)練多個(gè)數(shù)據(jù)集,不同數(shù)據(jù)集使用不同的頂層 Classifier醋虏,但是 Prefix Continuous Prompt 是共享的
  • 取消 verbalizer:v2 取消了標(biāo)簽映射寻咒,完全變?yōu)樯赡P停梢栽?[CLS] 部分輸出句子級(jí)別的標(biāo)簽(Sentence-level label)颈嚼,也可以在每個(gè) token 位置輸出 token 級(jí)別的標(biāo)簽(Token-level label)毛秘,直接輸出真實(shí)標(biāo)簽

關(guān)于 P-Tuning 還有一些碎碎念,主要是從各個(gè)博客上看到的,匯總在這里叫挟。首先是 v1 版本的 LSTM艰匙,實(shí)際上引入 LSTM 目的是為了幫助「模板」生成的 token(某種程度上)更貼近自然語(yǔ)言,或者說(shuō) token 之間的語(yǔ)義更流暢抹恳,但更自然的方法應(yīng)該是在訓(xùn)練下游任務(wù)的時(shí)候姑曙,不僅預(yù)測(cè)下游任務(wù)的目標(biāo) token(例如 "great"征炼、"terrible"),還應(yīng)該同時(shí)做其他 token 的預(yù)測(cè)

比如,如果是 MLM 模型默色,那么也隨機(jī) MASK 掉其它的一些 token 來(lái)預(yù)測(cè),如果是 LM 模型萤衰,則預(yù)測(cè)完整的序列像捶,而不單單是目標(biāo)詞。這樣做的理由是:因?yàn)槲覀兊?MLM/LM 都是經(jīng)過(guò)自然語(yǔ)言預(yù)訓(xùn)練的扬跋,所以我們認(rèn)為它能夠很好的完成序列的重構(gòu)阶捆,即便一開始不能,隨著迭代輪數(shù)的增加钦听,模型也能很好完成這項(xiàng)任務(wù)洒试。所以這本質(zhì)上是讓模型進(jìn)行「負(fù)重訓(xùn)練」

* 為什么要引入 Prompt?

在標(biāo)準(zhǔn)的 Fine-tune 過(guò)程中(如上圖 b 所示)朴上,新引入的參數(shù)量可能會(huì)很大(獨(dú)立于原始預(yù)訓(xùn)練模型外的參數(shù))垒棋,例如基于 RoBERTa-large 的二分類任務(wù)會(huì)新引入 2048 個(gè)參數(shù)(nn.Linear(1024, 2)),如果你僅有例如 64 個(gè)標(biāo)注數(shù)據(jù)這樣的小樣本數(shù)據(jù)集痪宰,微調(diào)會(huì)非常困難

為解決這一問(wèn)題叼架,Prompt 應(yīng)運(yùn)而生(如上圖 a 所示),直接將下游任務(wù)轉(zhuǎn)換為輸出空間有限的 MLM 任務(wù)衣撬。值得注意的是:上述方法在預(yù)訓(xùn)練參數(shù)的基礎(chǔ)上進(jìn)行微調(diào)乖订,并且沒(méi)有引入任何新參數(shù),同時(shí)還減少了微調(diào)和預(yù)訓(xùn)練任務(wù)之間的差距具练≌Ч梗總的來(lái)說(shuō),這可以更有效地用于小樣本場(chǎng)景

Prompt 的挑戰(zhàn)與展望

盡管 Prompt 研究搞得如火如荼扛点,但目前仍存在許多問(wèn)題值得研究者們?nèi)ヌ骄?/p>

  1. Prompt 的設(shè)計(jì)問(wèn)題哥遮。目前使用 Prompt 的工作大多集中于分類任務(wù)和生成任務(wù),其它任務(wù)則較少占键。另外昔善,「模板」和「答案」的聯(lián)系也亟待解決。模型的表現(xiàn)同時(shí)依賴于使用的「模板」和「答案」的映射畔乙,如何同時(shí)搜索或者學(xué)習(xí)出兩者聯(lián)合的最好效果仍然很具挑戰(zhàn)性
  2. Prompt 的理論分析和可解釋性君仆。盡管 Prompt 方法在很多情況下都取得了成功,但是目前 Prompt-based Learning 理論分析還很少,人們很難了解 Prompt 為什么能達(dá)到好的效果返咱,又為什么在自然語(yǔ)言中意義相近的 Prompt 有時(shí)效果卻相差很大
  3. Prompt 在 PLM debias 方面的應(yīng)用钥庇。由于 PLM 在預(yù)訓(xùn)練過(guò)程中見(jiàn)過(guò)了大量的人類世界的自然語(yǔ)言,所以很自然地會(huì)受到一些影響咖摹。舉一個(gè)簡(jiǎn)單的例子评姨,比如說(shuō)訓(xùn)練語(yǔ)料中有非常多 "The capital of China is Beijing",導(dǎo)致模型每次看到 "capital" 的時(shí)候都會(huì)預(yù)測(cè)出 "Beijing"萤晴,而不是去分析到底是哪個(gè)國(guó)家的首都吐句。在應(yīng)用的過(guò)程中,Prompt 還暴露了 PLM 學(xué)習(xí)到的很多其它 bias店读,比如種族歧視嗦枢、性別對(duì)立等。這也許會(huì)是一個(gè)值得研究的方向

One More Thing

最后我還想提一個(gè)實(shí)際 Code 過(guò)程中存在的問(wèn)題屯断。我們知道 MLM 任務(wù)會(huì)輸出句子中 [MASK] 位置最有可能的詞文虏,而 Prompt 也類似的,例如下面的例子

這是一條__新聞殖演。中國(guó)足球出線的可能性只有0.001%氧秘,留給中國(guó)隊(duì)的時(shí)間不多了

這是一個(gè)新聞分類問(wèn)題,真實(shí)標(biāo)簽有 "體育"趴久、"財(cái)經(jīng)"丸相、"娛樂(lè)" 等,上面的樣本很明顯是一條體育新聞朋鞍,因此我們希望模型對(duì) [MASK] 部分輸出 "體育"已添,但事實(shí)真的如此嗎?實(shí)際情況模型的輸出可能是 "足球"滥酥,但你認(rèn)為模型預(yù)測(cè)的 "足球" 有問(wèn)題嗎?好像也沒(méi)啥毛病畦幢,因此這就引申出了 Prompt 的一個(gè)問(wèn)題坎吻,是否應(yīng)該限制模型的輸出空間?

還是上面新聞分類的例子宇葱,我們是否應(yīng)該限制模型輸出的空間瘦真,讓他固定只能預(yù)測(cè) "體育"、"財(cái)經(jīng)"黍瞧、"娛樂(lè)" 這幾個(gè)標(biāo)簽诸尽?或者我們干脆把這幾個(gè)標(biāo)簽換成索引,那就是讓模型從 0印颤,1您机,2 這三個(gè)數(shù)字選一個(gè)。Wait Wait Wait,如果這么做的話际看,和 Fine-Tune 有什么區(qū)別咸产,F(xiàn)ine-Tune 也是把標(biāo)簽轉(zhuǎn)換成索引,讓模型看了句子之后仲闽,從這幾個(gè)索引中選一個(gè)作為預(yù)測(cè)值

這么說(shuō)的話脑溢,那我們就不應(yīng)該限制模型的輸出空間,可是這樣的話 [MASK] 位置的輸出就限制的太死了赖欣,必須一定是 "good"屑彻、"財(cái)經(jīng)" 才算對(duì),如果輸出 "nice"顶吮、"財(cái)政" 就算錯(cuò)酱酬。實(shí)際上輸出近義詞或者相似詞,在零樣本的情況下會(huì)經(jīng)常出現(xiàn)云矫,但是如果你用一些有標(biāo)簽的樣本去訓(xùn)練膳沽,模型自己就會(huì)慢慢固定輸出空間。例如 "財(cái)經(jīng)"让禀,它不會(huì)預(yù)測(cè)成 "財(cái)政"挑社,只會(huì)預(yù)測(cè)成其它類型的新聞,例如 "體育"

References

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市糜工,隨后出現(xiàn)的幾起案子弊添,更是在濱河造成了極大的恐慌,老刑警劉巖捌木,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件油坝,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡刨裆,警方通過(guò)查閱死者的電腦和手機(jī)澈圈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)帆啃,“玉大人瞬女,你說(shuō)我怎么就攤上這事∨耍” “怎么了诽偷?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵坤学,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我渤刃,道長(zhǎng)拥峦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任卖子,我火速辦了婚禮略号,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘洋闽。我一直安慰自己玄柠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布诫舅。 她就那樣靜靜地躺著羽利,像睡著了一般。 火紅的嫁衣襯著肌膚如雪刊懈。 梳的紋絲不亂的頭發(fā)上这弧,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音虚汛,去河邊找鬼匾浪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛卷哩,可吹牛的內(nèi)容都是我干的蛋辈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼将谊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼冷溶!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起尊浓,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤逞频,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后眠砾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虏劲,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年褒颈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片励堡。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谷丸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出应结,到底是詐尸還是另有隱情刨疼,我是刑警寧澤泉唁,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站揩慕,受9級(jí)特大地震影響亭畜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜迎卤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一拴鸵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜗搔,春花似錦劲藐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至缝龄,卻和暖如春汰现,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叔壤。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工瞎饲, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人百新。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓企软,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親饭望。 傳聞我的和親對(duì)象是個(gè)殘疾皇子仗哨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容