搭配对比学习,万能的 prompt 还能做可控文本生成

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Eureka Client注册到Eureka Server的秘密

前言 我们知道Eureka分为两部分,Eureka Server和Eureka Client。Eureka Server充当注册中心的角色,Eureka Client相对于Eureka Server来说是客户端,需要将自身信息注册到注册中心。本文主要介绍的就是在Eureka Client注册到Eureka Server时R…

论文浅尝-综述 | 基于强化学习的知识图谱综述

转载公众号 | 人工智能前沿讲习论文来源:https://crad.ict.ac.cn/CN/10.7544/issn1000-1239.20211264摘要:知识图谱是一种用图结构建模事物及事物间联系的数据表示形式,是实现认知智能的重要基础,得到了学术界和工业界的广泛关注.…

AI当下要破局,不能没有知识图谱!

AI或AI赋能已是传统行业智能化升级和转型的基本模式。近年来越来越多的传统行业的核心战略转移到人工智能领域,但随着大数据红利的消失殆尽,以深度学习为代表的感知智能水平日益接近其“天花板”(来自肖仰华老师分享)。数据驱动的…

LeetCode 495. 提莫攻击

1. 题目 在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输…

Spring Cloud Config的配置中心获取不到最新配置信息的问题

本篇源于Spring Cloud Config的一个问题,但这个问题并非所有人都会遇到。如果您遇到了,那必须得看看这篇,如果没有遇到您也应该看看,防患于未然! 问题描述 之前有朋友提出Spring Cloud Config的配置中心在运行一段时间…

图谱实战 | 京东基于时序知识图谱的问答系统

转载公众号 | DataFunSummit分享嘉宾:商超博士 京东硅谷研究院 研究员编辑整理:张存旺 北航杭州创新研究院出品平台:DataFunTalk导读:本文将分享Temporal Knowledge Graphs方向的一个最新尝试,如何在时序知识图谱上去做…

请不要吸开源的血

文 | 琴梨梨源 | 知乎今天无聊刷GitHub看到一个让我血压上来的项目乍一看,2.4k star,应该不像是什么小项目应该是比较有用的项目,但接下来的事情属实是让我气的很对于开源项目我是不喜欢下载预构建的成品的,我更喜欢自己动手从源代…

LeetCode 357. 计算各个位数不同的数字个数(DP)

1. 题目 给定一个非负整数 n&#xff0c;计算各位数字都不同的数字 x 的个数&#xff0c;其中 0 ≤ x < 10n。 示例: 输入: 2 输出: 91 解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外&#xff0c;在 [0,100) 区间内的所有数字。来源&#xff1a;力扣&#xff08;Lee…

SpringCloud实战小贴士:Zuul的路径匹配

路径匹配 不论是使用传统路由的配置方式还是服务路由的配置方式&#xff0c;我们都需要为每个路由规则定义匹配表达式&#xff0c;也就是上面所说的path参数。在Zuul中&#xff0c;路由匹配的路径表达式采用了Ant风格定义。 Ant风格的路径表达式使用起来非常简单&#xff0c;…

技术动态 | 一文读懂事件知识图谱

转载公众号 | 普适极客文章来源 | 中国科学院网络数据重点实验室【导读】随着事件这类动态知识得到越来越多的关注&#xff0c;学术界涌现出许多事件知识图谱相关的概念。但究竟事件知识图谱是怎么发展而来的&#xff1f;什么是事件知识图谱&#xff1f;它和其他相关概念之间有…

华为开源CTR Benchmark,学术界SOTAs的照妖镜?

文 | 卖萌酱大家好&#xff0c;我是卖萌酱。众所周知&#xff0c;与CV、NLP不同&#xff0c;搜索、广告、推荐领域的学术界paper在很多问题上喜欢各玩各的&#xff0c;缺乏一个统一可比的benchmark。就推荐/广告中核心的CTR预估问题来讲&#xff0c;从传统的LR、FM到Wide&D…

LeetCode 376. 摆动序列(贪心 动态规划)

文章目录1. 题目2. 解题2.1 贪心2.2 动态规划1. 题目 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为摆动序列。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。少于两个元素的序列也是摆动序列。 例如&#xff0c; [1,7,4,9,2…

Spring Cloud实战小贴士:Zuul的饥饿加载(eager-load)使用

上一篇我们介绍了如何使用Ribbon的earger-load配置加速Spring Cloud中对服务接口的第一次调用。可是这样只是解决了内部服务间的调用&#xff0c;另外一个问题依然经常困扰我们&#xff0c;那就是网关到内部服务的访问。由于Spring Cloud Zuul的路由转发也是通过Ribbon实现负载…

论文浅尝 | ESimCSE:无监督句子表示对比学习的增强样本构建方法

笔记整理&#xff1a;高超尘&#xff0c;中国科学院信息工程研究所硕士动机对比学习在学习无监督句向量方面引起了广泛的关注。其中最受关注的无监督方法是unsup-SimCSE&#xff08;Gao et al., EMNLP 2021)。Unsup-SimCSE使用Dropout作为数据增强方法&#xff0c;将相同的输入…

一份北大信科内部流传的 “CS 自救指南”

本文转载自公众号“夕小瑶的卖萌屋”&#xff0c;专业带逛互联网算法圈的神操作 -----》我是传送门 关注后&#xff0c;回复以下口令&#xff1a; 回复【789】 &#xff1a;领取深度学习全栈手册&#xff08;含NLP、CV海量综述、必刷论文解读&#xff09; 回复【入群】&#xf…

LeetCode 678. 有效的括号字符串(栈)

1. 题目 给定一个只包含三种字符的字符串&#xff1a;&#xff08; &#xff0c;&#xff09; 和 *&#xff0c;写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则&#xff1a; 任何左括号 ( 必须有相应的右括号 )。任何右括号 ) 必须有相应的左括号 ( 。…

Spring Cloud实战小贴士:Ribbon的饥饿加载(eager-load)模式

我们在使用Spring Cloud的Ribbon或Feign来实现服务调用的时候&#xff0c;如果我们的机器或网络环境等原因不是很好的话&#xff0c;有时候会发现这样一个问题&#xff1a;我们服务消费方调用服务提供方接口的时候&#xff0c;第一次请求经常会超时&#xff0c;而之后的调用就没…

图谱实战 | 图谱问答在小米小爱中的实践探索

转载公众号 | DataFunTalk分享嘉宾&#xff1a;代文博士 小米 高级算法工程师编辑整理&#xff1a;何雨婷 湖北工业大学出品平台&#xff1a;DataFunTalk导读&#xff1a;今天的介绍会围绕以下三点展开&#xff1a;小爱同学应用场景信息抽取图谱问答01小爱同学应用场景介绍首先…

稀疏大模型简述:从MoE、Sparse Attention到GLaM

文 | 唐工源 | 知乎Sparsity, ..., is another important algorithmic advance that can greatly improve efficiency. 稀疏性&#xff0c;是&#xff08;神经架构搜索&#xff09;之外另一个重要的算法进步&#xff0c;可以大大提高效率。The use of sparsity in models is .…

LeetCode 777. 在LR字符串中交换相邻字符(双指针)

1. 题目 在一个由 ‘L’ , ‘R’ 和 ‘X’ 三个字符组成的字符串&#xff08;例如"RXXLRXRXL"&#xff09;中进行移动操作。一次移动操作指用一个"LX"替换一个"XL"&#xff0c;或者用一个"XR"替换一个"RX"。现给定起始字符…