万能的prompt还能做可控文本生成

可控文本生成,旨在让语言模型的输出带有我们想要的某种属性。比如情感、主题、三元组等。一般我们习惯采用 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 相当于一种控制指令,加在输入的最前面,以控制生成文本的属性。
本文提出了两种方法,分别是监督方法和无监督方法。
下面的方法介绍以 sentiment control 为例(即生成给定带有情感的文本)。该任务要训练的,正是 positive 和 negative 的两种情感类别所对应的 prefix.
监督方法
整个训练过程和 prefix-tuning[3] 相似,lm 的参数是冻结的,只调整 prefix 相关联的参数。在训练的时候,除了lm loss 之外,新增一个判别损失:
其中, 代表生成文本, 代表控制信号的类别(positive 或 negative)。
无监督方法
在监督方法中,控制信号是已知的。实际场景中还会常常出现控制信号未知的情况,因此需要通过变分的无监督方法找到这个“虚拟的类别信号“并使用 latent variable 表征,即 vq-vae[4] 的思想。
如图,需要先通过一个 encoder 预测相应输入对应的 latent variable 作为 prefix index(指代当前要使用哪个 prefix)。设  prefix index 为 ,则这个 encoder 就是要学习 这个分布。
一方面,除了 lm loss  ,还需要保证后验概率 或 尽可能的准确,故引入 kl 散度:
这里的 假设是 uniform distribution。其中,
gs 表示 gumbel softmax, 是 gs 的 temperature 参数。
关于这块儿的详细原理,就是我们小学二年级就学过的 em 算法啦~
帮读者回忆一下:
......
另外,作者又提出了一个无监督对比损失:其中, 和 是根据 decoder 的文本生成概率得到的,具体计算方式如下:
最后总的损失函数为 ,, 的加权求和,
实验结果
sentiment control
detoxification
topic control
推理速度
multi-aspect control
实际场景中,很少有 multi-aspect labeled data,只有 single-aspect labeled data.
本文使用了两种方式来解决多种属性的可控生成问题:
ours (concatenation):使用 single-aspect labeled data 分别训练各自的 prefix, 然后在 multi-aspect control 任务中将其拼接起来。
ours (semi-supervised):同时训练 multi-aspect prefixes, 在训练时把 single-aspect labeled example 当做 partially labeled. 此外,multi-aspect prefixes 经过了 trained single-aspect prefixes 的初始化。
ours (semi-supervised) 是上述监督方法和无监督方法的组合,因此架构图和无监督方法的图是一样的。
写在最后
这里也推荐读者品读一下  deepmind & icl 的相似工作:control prefixes [5].
古人云:“君子生非异也,善假于物也”。我们把语言模型比作“人”,把可控性比作“物”,也许,大大小小的语言模型在能力的本质上并没有什么不同,但是如果可以通过不同的 control prefixes,假之以物,则语言模型可成“君子”也!(哈哈,搞一个俏皮的比喻~)
无论是本文介绍的 contrastive prefixes 也好,还是 control prefixes 也好,我们都可以从中发现 prompt 对于”调教“语言模型的伟大能力。从 task 到 controllability, 可能会是 prompt 向前发展的又一个新阶段吧~


该如何构建好安全的HTTPS站点
你需要了解变频电源的系统原理
光电耦合器工作原理详细解说
传承悠远文化,爱普生进博会潮玩匠心艺术
大陆未来在NAND市场将占一席之地,NANDFlash市况吃紧
万能的prompt还能做可控文本生成
microLED的材料应用需求方案
蒲公英异地组网解决方案
华为首款智能音箱专利曝光
µC/OS-II三种临界区管理方式
高通推出骁龙XR2+ Gen 2芯片,与苹果Vision Pro展开竞争
人工智能项目失败的三个原因
三星亦推出人工智能语音服务 预装应用均可使用
铁路局发布《调度集中与计算机联锁接口规范》等13项铁道行业技术标准
具有轨至轨输出级的LTC6241模数转换器的性能及应用分析
马斯克宣布:跟“小蓝鸟”说再见 TWTR的LOGO将换成“X”标志
华为p10怎么样?华为p10最新消息:双摄加持,功能丰富,华为P10堪称摄影师利器
扬尘检测仪安装在哪里?扬尘在线监测仪布点位置
外汇局跨境区块链平台是怎样展示自己的
关于小米6和红米Pro 2的那些新鲜事!