4a002a300610f9392e6ba108f6a19d76.png

文 | ZenMoore
编 | 小轶

可控文本生成,旨在让语言模型的输出带有我们想要的某种属性。比如情感、主题、三元组等。一般我们习惯采用 CTRL[1] 或者 PPLM[2] 等方式。但是,CTRL 是对整个语言模型进行 Finetuning, PPLM 因为需要在生成的过程中迭代更新 hidden activations,所以推理速度非常慢。

随着 Prompting 技术的大火,我们一直在思考,Prompt 究竟能够带来什么?我们都说,Prompt 本质上是一种激发语言模型中知识的手段。因此,它应该不仅仅局限于数据集或者说任务的层面,激发模型对于某个任务的“知识”,还应该扩展到范围更广的控制属性层面,激发模型对于某种输出属性的 sense !

于是,我们不妨把视角从 task scaling 挪开,更多地关注一下 Prompt 对于可控性的 buff 加成。

今天的这篇文章来自 UCSB 和微软,提出通过对比学习的方法找寻到了这个 buff 一般的 Prompt,能够“调教”我们的语言模型进行可控的生成。

论文标题:
Controllable Natural Language Generation with Contrastive Prefixes

论文作者:
Jing Qian, Li Dong, Yelong Shen, Furu Wei, Weizhu Chen

论文链接:
https://arxiv.org/abs/2202.13257

模型方法

首先明确一个概念:Prefix。读者可以简单看一下 Prefix-Tuning[3] 的方法图,就大概知道:Prefix 相当于一种控制指令,加在输入的最前面,以控制生成文本的属性。

1c4f83af50173196d2f926464f833cfe.png

本文提出了两种方法,分别是监督方法和无监督方法。

下面的方法介绍以 Sentiment Control 为例(即生成给定带有情感的文本)。该任务要训练的,正是 positive 和 negative 的两种情感类别所对应的 prefix.

监督方法

37b7601d18ea2984b51647c3e5336a94.png

整个训练过程和 Prefix-Tuning[3] 相似,LM 的参数是冻结的,只调整 Prefix 相关联的参数。在训练的时候,除了LM loss 之外,新增一个判别损失

其中, 代表生成文本, 代表控制信号的类别(positive 或 negative)。

无监督方法

在监督方法中,控制信号是已知的。实际场景中还会常常出现控制信号未知的情况,因此需要通过变分的无监督方法找到这个“虚拟的类别信号“并使用 latent variable 表征,即 VQ-VAE[4] 的思想。

ee767b688341285c500a2f6b99966c91.png

如图,需要先通过一个 encoder 预测相应输入对应的 latent variable 作为 prefix index(指代当前要使用哪个 prefix)。设  prefix index 为 ,则这个 encoder 就是要学习 这个分布。

一方面,除了 LM loss  ,还需要保证后验概率 或 尽可能的准确,故引入 KL 散度:

这里的 假设是 uniform distribution。其中,

402 Payment Required

GS 表示 Gumbel Softmax, 是 GS 的 temperature 参数。

关于这块儿的详细原理,就是我们小学二年级就学过的 EM 算法啦~

帮读者回忆一下:

402 Payment Required

......

另外,作者又提出了一个无监督对比损失

402 Payment Required

其中, 和 是根据 decoder 的文本生成概率得到的,具体计算方式如下:

402 Payment Required

最后总的损失函数为 ,, 的加权求和,

实验结果

Sentiment Control

5f9bde70301e29e814a76022d6c413b9.png

Detoxification

0a293f9b0e8c6b894121a0ec400f9b65.png

Topic Control

720160d10bc516f15e2246216667d7a7.png

推理速度

8e79d7fc60633a72717f904f871e9092.png

Multi-Aspect Control

实际场景中,很少有 multi-aspect labeled data,只有 single-aspect labeled data.

本文使用了两种方式来解决多种属性的可控生成问题:

  1. Ours (concatenation):使用 single-aspect labeled data 分别训练各自的 prefix, 然后在 multi-aspect control 任务中将其拼接起来。

  2. Ours (semi-supervised):同时训练 multi-aspect prefixes, 在训练时把 single-aspect labeled example 当做 partially labeled. 此外,multi-aspect prefixes 经过了 trained single-aspect prefixes 的初始化。

Ours (semi-supervised) 是上述监督方法和无监督方法的组合,因此架构图和无监督方法的图是一样的。

fdd7f8abad589b367cc29709c10f5659.png

写在最后

这里也推荐读者品读一下  DeepMind & ICL 的相似工作:Control Prefixes [5].

古人云:“君子生非异也,善假于物也”。我们把语言模型比作“人”,把可控性比作“物”,也许,大大小小的语言模型在能力的本质上并没有什么不同,但是如果可以通过不同的 Control Prefixes,假之以物,则语言模型可成“君子”也!(哈哈,搞一个俏皮的比喻~)

无论是本文介绍的 Contrastive Prefixes 也好,还是 Control Prefixes 也好,我们都可以从中发现 Prompt 对于”调教“语言模型的伟大能力。从 task 到 controllability, 可能会是 prompt 向前发展的又一个新阶段吧~

a4cfe457d23390b64e4a5ab855d70678.png萌屋作者:ZenMoore

北航本科生🧐,爱数学爱物理爱 AI🌸
想从 NLP 出发探索人工认知人工情感的奥秘🧠🤖!
个人主页🌎 zenmoore.github.io
知乎🤔 ZenMoore, 微信📩 zen1057398161
在澜舟科技实习ing,欢迎来一起玩耍 🤗
嘤其鸣矣,求其友声✨!

作品推荐

  1. 一文跟进Prompt进展!综述+15篇最新论文逐一梳理

  2. 图灵奖大佬+谷歌团队,为通用人工智能背书!CV 任务也能用 LM 建模!

  3. 以4%参数量比肩GPT-3!Deepmind 发布检索型 LM,或将成为 LM 发展新趋势!?

fab579efceb45ccccc4b1ec6dc39f298.png后台回复关键词【入群

加入卖萌屋NLP、CV与搜推广与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

d563ccbd93e953ce7e9f98e789e802f0.gif c3c3b7fe07ab0169fa37a7f36d8a748d.png

[1] CTRL: A Conditional Transformer Language Model for Controllable Generation.https://arxiv.org/abs/1909.05858
[2] Plug and Play Language Models: A Simple Approach to Controlled Text Generation.https://arxiv.org/abs/1912.02164
[3] Prefix-Tuning : https://arxiv.org/abs/2101.00190
[4] VQ-VAE : https://arxiv.org/abs/1711.00937
[5] Control Prefixes : https://arxiv.org/abs/2110.08329
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐