谷歌新大招UDG|直接生成训练数据送给你

卷友们好,我是rumor。

最近我越来越相信Prompt概念了,不光是paper数量越来越多,关键是用过的都说好。比如我的同事,比如我面试到的同学,再比如我看到的一些实践博客。估计在它席卷所有任务和domain之前还会火很久。

Prompt的兴起和大模型息息相关,之前BERT阶段的时候大家都搞预训练,在预训练任务和模型结构上下功夫,结果发现不管怎么调,来个大模型就给干翻了。但大模型不是所有人都能搞呀,于是挖了Prompt这个坑,开始花式改变输入形态,期待从大模型里挖出惊喜,最近我就看到了两种:

  1. 把输入参数化:Prompt-tuning

  2. 把输入变成更具体的任务描述:Instruction-tuning

但之前这些工作都是围绕着激发Y(label)做文章,昨天刷到了一篇谷歌的工作,改而激发X(text),输入任务描述、文本样例和Y,直接输出X,作为训练语料再去精调模型。如果把该方法用做数据增强,可以在SuperGLUE上提升近1个点:

4bf1537bcb22218b399692a5e55cffe4.png

效果还是很硬的。有意思的是,这篇文章的方法在去年年底(2020.12.20)就有了,当时是第一个在SuperGLUE上超越人类的方法,但不知为什么最近(2021.9.19)才发出来(可能圣诞节去休假了?)。

题目:Towards Zero-Label Language Learning
地址:https://arxiv.org/abs/2109.09193
b2a7aef37fccd96dd5f9a8cde14be92d.png

原理

作者的motivation主要是把大模型生成和预测解耦。虽然完形填空or语言模型的预测方式已经被证明有效,但作者认为Prompt的效果主要是因为X和Y再训练语料中有共现,而且在真实语料里,Y经常在X前面,所以Prompt的预测模版会导致训练和生成的不一致,是次优解

所以作者采用Y->X的方式,把大模型的知识拿到之后再去训练下游模型。

这篇文章的方法还是挺优雅的,输入由三部分构成:

  1. 任务描述:很短的一句话,比如「Yelp Review」

  2. 文本样例:这个样例也是没有label的,比如分类任务,就输入一些待分类的文本,论文里是32个。而文本对任务就输入一些文本对,不给标签或者说unknown

  3. Label:也是文字描述,用来指导模型的输出

举个简单的例子,比如你是一个模型,我和你说:咱们来做一个情感分类任务,输入的句子可以是「这家店的火锅真香」、「昨天分手了,想哭」,请问还有什么表达高兴的句子?

34d8af21fd455348b536819c2dc22190.png

比较有意思的是输入样例这个点,完全没有标签,却能指导模型,说明模型里真是有不少东西。而且输入样例个数K对效果的影响还挺大:

86f3604e492f36f35b0d051e216948eb.png

效果

真正用到下游精调的时候,作者还是稍微清洗了下数据,采用NLA(Noisy Label Annealing)方法,把精调模型预测结果和label差距太大的删掉。效果提升了0.2-0.8左右。

最终在T5-XXL单模型上超越了BERT系列的模型:

556a0eae39e6b91f61d49a46485d4cc0.png

而且比Prompt-tuning的效果也更好,下图是Prompt-tuning的效果截图(不过ensemble后难分伯仲):

6952b54eb6330c70cdb5d7e40c26021e.png

总结

这篇文章的主要贡献是验证了在完全无监督的情况下,用大模型生成训练语料的可行性。这样的好处是有了训练语料后,对大模型的依赖就停止了,我可以再训练一个更小的模型保证线上速度。同时这又跟蒸馏有点像,只不过之前的蒸馏都是学习teacher的隐层分布,而UDG直接把知识拿出来再去学习,可解释性和可控性更强

卷到现在,大模型的应用方式越来越可控且多样了,可以直接用它做下游任务,也可以把它的知识拿出来学习。

那我们再进一步想,是不是通过Prompt、Instruction得到的Y和输入X也可以作为训练数据?而且Instruction的结果可能更加准确(做判别比做生成容易),兜兜转转又回到了知识蒸馏上?

bca26223504d9a434f2e504c6f1deebc.png

7e4fbae1f56ab4cd0f9af63a9711c582.png


大家好我是rumor

一个热爱技术,有一点点幽默的妹子

欢迎关注我

带你学习带你肝

一起在人工智能时代旋转跳跃眨巴眼

「最近Paper超多,着急」da711494979671826dc382fd1509304d.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值