可控文本生成,旨在讓語(yǔ)言模型的輸出帶有我們想要的某種屬性。比如情感、主題、三元組等。一般我們習(xí)慣采用 CTRL[1] 或者 PPLM[2] 等方式。但是,CTRL 是對(duì)整個(gè)語(yǔ)言模型進(jìn)行 Finetuning, PPLM 因?yàn)樾枰谏傻倪^(guò)程中迭代更新 hidden activations,所以推理速度非常慢。
隨著 Prompting 技術(shù)的大火,我們一直在思考,Prompt 究竟能夠帶來(lái)什么?我們都說(shuō),Prompt 本質(zhì)上是一種激發(fā)語(yǔ)言模型中知識(shí)的手段。因此,它應(yīng)該不僅僅局限于數(shù)據(jù)集或者說(shuō)任務(wù)的層面,激發(fā)模型對(duì)于某個(gè)任務(wù)的“知識(shí)”,還應(yīng)該擴(kuò)展到范圍更廣的控制屬性層面,激發(fā)模型對(duì)于某種輸出屬性的 sense !
于是,我們不妨把視角從 task scaling 挪開,更多地關(guān)注一下 Prompt 對(duì)于可控性的 buff 加成。
今天的這篇文章來(lái)自 UCSB 和微軟,提出通過(guò)對(duì)比學(xué)習(xí)的方法找尋到了這個(gè) buff 一般的 Prompt,能夠“調(diào)教”我們的語(yǔ)言模型進(jìn)行可控的生成。
論文標(biāo)題:
Controllable Natural Language Generation with Contrastive Prefixes
論文作者:
Jing Qian, Li Dong, Yelong Shen, Furu Wei, Weizhu Chen
論文鏈接:
https://arxiv.org/abs/2202.13257
模型方法
首先明確一個(gè)概念:Prefix。讀者可以簡(jiǎn)單看一下 Prefix-Tuning[3] 的方法圖,就大概知道:Prefix 相當(dāng)于一種控制指令,加在輸入的最前面,以控制生成文本的屬性。
本文提出了兩種方法,分別是監(jiān)督方法和無(wú)監(jiān)督方法。
下面的方法介紹以 Sentiment Control 為例(即生成給定帶有情感的文本)。該任務(wù)要訓(xùn)練的,正是 positive 和 negative 的兩種情感類別所對(duì)應(yīng)的 prefix.
監(jiān)督方法
整個(gè)訓(xùn)練過(guò)程和 Prefix-Tuning[3] 相似,LM 的參數(shù)是凍結(jié)的,只調(diào)整 Prefix 相關(guān)聯(lián)的參數(shù)。在訓(xùn)練的時(shí)候,除了LM loss 之外,新增一個(gè)判別損失:
其中, 代表生成文本, 代表控制信號(hào)的類別(positive 或 negative)。
無(wú)監(jiān)督方法
在監(jiān)督方法中,控制信號(hào)是已知的。實(shí)際場(chǎng)景中還會(huì)常常出現(xiàn)控制信號(hào)未知的情況,因此需要通過(guò)變分的無(wú)監(jiān)督方法找到這個(gè)“虛擬的類別信號(hào)“并使用 latent variable 表征,即 VQ-VAE[4] 的思想。
如圖,需要先通過(guò)一個(gè) encoder 預(yù)測(cè)相應(yīng)輸入對(duì)應(yīng)的 latent variable 作為 prefix index(指代當(dāng)前要使用哪個(gè) prefix)。設(shè) prefix index 為 ,則這個(gè) encoder 就是要學(xué)習(xí) 這個(gè)分布。
一方面,除了 LM loss ,還需要保證后驗(yàn)概率 或 盡可能的準(zhǔn)確,故引入 KL 散度:
這里的 假設(shè)是 uniform distribution。其中,
GS 表示 Gumbel Softmax, 是 GS 的 temperature 參數(shù)。
關(guān)于這塊兒的詳細(xì)原理,就是我們小學(xué)二年級(jí)就學(xué)過(guò)的 EM 算法啦~
幫讀者回憶一下:
......
另外,作者又提出了一個(gè)無(wú)監(jiān)督對(duì)比損失:其中, 和 是根據(jù) decoder 的文本生成概率得到的,具體計(jì)算方式如下:
最后總的損失函數(shù)為 ,, 的加權(quán)求和,
實(shí)驗(yàn)結(jié)果
Sentiment Control
Detoxification
Topic Control
推理速度
Multi-Aspect Control
實(shí)際場(chǎng)景中,很少有 multi-aspect labeled data,只有 single-aspect labeled data.
本文使用了兩種方式來(lái)解決多種屬性的可控生成問(wèn)題:
Ours (concatenation):使用 single-aspect labeled data 分別訓(xùn)練各自的 prefix, 然后在 multi-aspect control 任務(wù)中將其拼接起來(lái)。
Ours (semi-supervised):同時(shí)訓(xùn)練 multi-aspect prefixes, 在訓(xùn)練時(shí)把 single-aspect labeled example 當(dāng)做 partially labeled. 此外,multi-aspect prefixes 經(jīng)過(guò)了 trained single-aspect prefixes 的初始化。
Ours (semi-supervised) 是上述監(jiān)督方法和無(wú)監(jiān)督方法的組合,因此架構(gòu)圖和無(wú)監(jiān)督方法的圖是一樣的。
寫在最后
這里也推薦讀者品讀一下 DeepMind & ICL 的相似工作:Control Prefixes [5].
古人云:“君子生非異也,善假于物也”。我們把語(yǔ)言模型比作“人”,把可控性比作“物”,也許,大大小小的語(yǔ)言模型在能力的本質(zhì)上并沒有什么不同,但是如果可以通過(guò)不同的 Control Prefixes,假之以物,則語(yǔ)言模型可成“君子”也!(哈哈,搞一個(gè)俏皮的比喻~)
無(wú)論是本文介紹的 Contrastive Prefixes 也好,還是 Control Prefixes 也好,我們都可以從中發(fā)現(xiàn) Prompt 對(duì)于”調(diào)教“語(yǔ)言模型的偉大能力。從 task 到 controllability, 可能會(huì)是 prompt 向前發(fā)展的又一個(gè)新階段吧~
審核編輯 :李倩
-
語(yǔ)言模型
+關(guān)注
關(guān)注
0文章
538瀏覽量
10342 -
prompt
+關(guān)注
關(guān)注
0文章
14瀏覽量
2685
原文標(biāo)題:搭配對(duì)比學(xué)習(xí),萬(wàn)能的 prompt 還能做可控文本生成
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論