迁移Prompt–解决Prompt Tuning三大问题!

21f205620e98273e7fd3ce2ae46ba76b.png

文 | Harris

刘鹏飞博士将近代NLP的研究划归为四种范式 [1] 并把预训练语言模型加持下的Prompt Learning看作是近代自然语言处理技术发展的“第四范式”。当我们使用新范式的方法的时候,能够意识到它带来的优异性可能是以某种“人力”牺牲为代价的。而如何让这种人力代价降到最低,往往就是新范式里需要解决的核心问题 [2]。Prompt Learning刚兴起之时,prompts大多是人工设计的,为了减少人工,后来涌现出一系列用自动化方式获取prompts的研究工作。Soft prompts由于其易用性、易理解性和优异的性能在近一年来获得了广泛的关注。今年四月份,谷歌提出Prompt-tuning [3],其为每个任务分配一个可训练的soft prompt并保持预训练模型的参数不变,发现在使用较大的预训练模型时,Prompt-tuning可以媲美微调整个预训练模型(Model-tuning)的性能。虽然Prompt-tuning非常有效,其仍然面临如下三个问题:

  • 在使用较小的预训练模型时,Prompt-tuning的表现仍旧与Model-tuning的表现有明显的差距

  • Few-shot的场景下,Prompt-tuning的表现并不理想

  • 相比于Model-tuning,Prompt-tuning的收敛速度较慢,需要训练更多的步数

幸运的是,这些问题都可以通过更好地初始化soft prompts解决!一个直观的想法是可以通过预训练模型词汇表中的一些词来初始化,比如对于分类问题就可以用类别标签对应的词来初始化。但是类别标签词数目有限而且并没有很多任务相关的信息。

一个更好的方法是:用在源任务上训练的soft prompts来初始化目标任务的soft prompts!这个想法有点类似迁移学习的意思。迁移学习通俗来讲,就是运用已有的知识来学习新的知识。核心是找到已有知识和新知识之间的相似性。迁移prompts也类似,如果源任务与目标任务越相似,那么迁移的效果可能就越好。针对prompts的可迁移性问题,谷歌和清华的研究员们进行了初步的探索,笔者接下来为大家一一解读。想要快速浏览 takeaway 干货的读者,可以直接移步文末总结部分。

相关论文

  • PPT: Pre-trained Prompt Tuning for Few-shot Learning https://arxiv.org/abs/2109.04332

  • SPoT: Better Frozen Model Adaptation through Soft Prompt Transfer https://arxiv.org/abs/2110.07904

  • On Transferability of Prompt Tuning for Natural Language Understanding https://arxiv.org/abs/2111.06719

PPT: Pre-trained Prompt Tuning for Few-shot Learning

清华研究人员发现在Few-shot的场景下,即便使用非常大的预训练模型,相比于Model-tuning,Prompt-tuning的表现仍要差得多。受预训练模型的启发,他们想对prompts也进行预训练!他们关注的是分类任务,并把分类任务分成了三类:单句分类任务、句对分类任务和多项选择分类任务。之后,他们针对每一类都设计了一个自监督预训练任务,然后用预训练任务的prompts去初始化下游任务的prompts。此外,他们还提供了一个unified的版本,将所有的分类任务都看作是多项选择分类任务。999b63189ca15ad356b2713f926784aa.png从上图可以看到,在Few-shot的场景下,PPT比Prompt-tuning (图中Vanilla PT) 的表现明显要好。相比于Model-tuning (图中FT),PPT在所有中文任务上都取得了更好的表现,并在英文任务上取得了类似的性能。上述结果充分显示出预训练prompts在Few-shot场景下的有效性。但是当训练数据增多时,其优势就会越来越小,见下图1efb44ec2a2a577616474dfa13a57765.png

SPoT: Better Frozen Model Adaptation through Soft Prompt Transfer

不同于PPT需要人工设计预训练任务,SPOT用一个或多个源任务训练的prompts来初始化目标任务的prompts。SPOT在预训练模型比较小时,仍可以达到与Model-tuning相近的性能,显著超越Prompt-tuning, 见下图e8eb3935492630717faca164f46baba2.png

此外,SPOT关注的是full-data场景,研究人员发现即便当目标任务的数据充足时,选择合适的源任务训练的prompts仍能够对目标任务带来显著的增益。下图是用不同源任务的实验结果,多个任务是采用数据混合的方式进行训练,然后得到一个prompt。在GLUE的八个任务上训练的prompt在GLUE和SuperGLUE的多个下游任务上得到了最好的表现。值得关注的是使用单个任务如MNLI和SQUAD训练的prompt也带来了明显的提升。d8fa80653e66c1cd715bd1eb0002cb11.png

为了探究源任务到目标任务的prompt可迁移性受什么因素影响,作者用16个源任务和10个目标任务构造了160个任务对。对于每一对任务,用源任务训练得到的prompt去初始化目标任务的prompt。他们发现任务之间的相似度是一个重要的影响因素。作者假设不同任务prompts之间的相似度可以反映任务之间的相似度。这样的话,给定一个目标任务就可以去检索相似的源任务,用这些源任务来帮助模型执行目标任务。有如下几种方式

  • Best of top-k: 依次使用top-k源任务的prompts去初始化目标任务的prompt,然后选择表现最好的那个

  • Top-k weighted average: 用top-k源任务的prompts的线性加权去初始化目标任务的prompt,权重就是各个任务与目标任务的prompts的相似度

  • Top-k multi-task mixture: 混合top-k源任务的数据进行训练得到一个prompt去初始化目标任务的prompt

几种不同策略的实验结果见下图817fc8f78925e02e4220278d72181c4e.png可以看到使用不同的策略相比于baseline即随机初始化都能够得到显著的提升。

On Transferability of Prompt Tuning for Natural Language Understanding

相比于之前的两篇工作,这个工作定义了更多的衡量prompts之间的相似度的指标。作者还探究了prompts的zero-shot transfer的能力,即在源任务上训练的prompts直接用到目标任务上而不用目标任务的数据finetune,选择合适的源任务可以比使用随机prompts得到明显更好的表现,见下图e20651c8820f445aad5d1018edfd7861.png

此外,使用合适的源任务,目标任务Propmt-tuning的收敛速度明显加快,见下图b1f1a61b13f9e0281aef85eaeaf41804.png

cec0ad12f6007683c6bc980b6f80d619.png总结与展望e595d2fbba62e1e5a7110b0056b8ee81.png

基于之前三篇研究工作,我们可以得到如下结论:

  • 好的初始化对Prompt-tuning十分重要,可以解决Prompt-tuning的三大问题。Prompt transfer是初始化目标任务prompts的一种非常有效的方式

  • 源任务与目标任务之间的相似度是迁移有效性的一个重要因素。可以利用任务的prompts之间的相似度来估计任务的相似度。值得注意的是,这些实验结果都只是显示了一种趋势,更高的相似度并不能保证更好的迁移

  • 通过为多个源任务训练prompts可以得到一个prompts库,对于某个目标任务就可以检索一个或者是多个源任务的prompts去初始化目标任务的prompt。目标任务的prompt可以通过训练一定步数得到(不一定要等到收敛),检索可以通过prompts的相似度去进行排序,也可以通过源任务的prompts在目标任务上zero-shot transfer的表现去排序。如果使用多个源任务的prompts,有多种方式,例如逐个使用选最好或者是加权平均。更复杂的方式可能获得更好的性能。

  • PPT在目标任务训练数据较多时提升有限,而SPOT仍能有显著的提升。这可能是因为预训练任务与下游任务之间仍旧有显著的差距,更合适的源任务可能是更好的选择。

基于此,我们有如下展望:

  • 如果可以将一个任务分解成多个子任务,那么是否可以训练多个子任务的prompts然后用这些子任务的prompts去得到原任务的prompt?比如任务型对话系统有多个模块,并不是每个数据集都有所有模块的标注,通过这种方式就可以利用几乎所有现存的数据集,每个prompt只需要编码对应子任务的信息,然后将多个子任务的prompt组合起来就可以为原任务提供很好的初始化。

  • 更进一步,是否可以设计任务相关的prompts,综合考虑原任务与子任务的特点与联系,使得子任务上训练的prompt直接在原任务上复用

  • 是否可以结合Prompt-tuning和Model-tuning在目标任务上得到更好的表现?结合第二点展望,能否将此推广到多任务学习,多个任务之间设计相关的prompts然后一起训练

笔者认为Prompt-tuning是一个十分有前景的技术,如何使其更加有效、适用更多场景还需要进一步探索。这就仰仗各位研究者(包括正在读文章的你)的努力啦~~

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

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

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

a7acbff861fa0585b4911e6d63780c87.gif 3d806debd54ccb0916e9fc656d810121.png

[1] Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing. https://arxiv.org/abs/2107.13586

[2] https://mp.weixin.qq.com/s/2U6sk-LzYx4GtRitwEQnBw

[3] The Power of Scale for Parameter-Efficient Prompt Tuning. https://arxiv.org/abs/2104.08691

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

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

相关文章

征文 | 2022年全国知识图谱与语义计算大会(CCKS 2022) 征稿通知

2022年全国知识图谱与语义计算大会征稿通知Call for Papers2022年8月25日-28日,秦皇岛征稿截止: 2022年5月22日第十六届全国知识图谱与语义计算大会(CCKS: China Conference on Knowledge Graph and Semantic Computing)由中国中文信息学会语…

Spring Cloud 和 Dubbo 哪个会被淘汰?

今天在知乎上看到了这样一个问题:Spring Cloud 和 Dubbo哪个会被淘汰?看了几个回答,都觉得不在点子上,所以要么就干脆写篇小文瞎逼叨一下。 简单说说个人观点 我认为这两个框架大概率会长期都存在。 时至今日,这两个…

DNN与推荐两大门派,一念神魔,功不唐捐

文 | 水哥源 | 知乎Saying1. embeddingDNN范式有两个流派,一个更关注DNN,叫逍遥派;一个更关注embedding,叫少林派2. embeddingDNN这种结构中,embedding一般是模型并行;DNN一般是数据并行3. 逍遥派能够创造奇…

会议交流—PPT下载|DataFunSummit2022:知识图谱在线峰会PPT合集!

点击上方公众号卡片,后台回复『20220312』,即可下载!有哪些PPT?下载方式点击下方公众号卡片,后台回复『20220312』,即可下载!OpenKGOpenKG(中文开放知识图谱)旨在推动以中…

Spring Cloud 2020年路线图发布,涵盖Spring Boot 2.3、2.4,Spring Cloud Ilford等重磅内容!

Spring Cloud 开发团队昨日公布了 Spring Cloud 2020 年的路线图,并对 Spring Cloud Greenwich 和 Hoxton 的生命周期进行了一些讲解。 Spring Cloud Ilford 开发团队称 Spring Cloud Ilford 将是下一个主要版本,这也将是自 Spring Cloud Finchley 发布…

LeetCode 398. 随机数索引(概率)

1. 题目 给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。 注意: 数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。 示例: int[] nums new int[] {1,2,3,3,3}; Solutio…

再论推荐特征与embedding生成

文 | 水哥源 | 知乎Saying1. 工业特征处理和学术特征处理存在巨大差异,这里建议同学们一定认真阅读。这个差异可能引发未来各种方法落地的矛盾。2. full embedding在概念上和one-hot的操作等价,但在操作上省略了这个过程。3. hash是最省事的,…

图谱实战 | 李翔:美团到店综合知识图谱的构建与应用

转载公众号 | DataFunTalk分享嘉宾:李翔 美团 算法专家编辑整理:王惠灵 合肥工业大学出品平台:DataFunTalk导读:美团到店综合业务涵盖了本地生活中的休闲玩乐、丽人、亲子、结婚、宠物等多个行业。为了不断提升到店综合业务场景下…

Spring Cloud Hoxton正式发布,Spring Boot 2.2 不再孤单

距离Spring Boot 2.2.0的发布已经有一个半月左右时间,由于与之匹配的Spring Cloud版本一直没有Release,所以在这期间碰到不少读者咨询的问题都是由于Spring Boot和Spring Cloud版本不匹配导致。 很多时候,我们在学习或重建系统的时候都喜欢直…

加了元学习之后,少样本学习竟然可以变得这么简单!

文 | Rukawa_Y编 | Sheryc_王苏,小轶去年年初 GPT-3 的论文在 arxiv 上出现,论文名为 “Language Models are Few-Shot Learners”,引起一阵轰动。除了前无古人的模型规模外,最抓人眼球的是, GPT-3 能够不需要 fine-tu…

Spring Cloud Alibaba基础教程:与Dubbo的完美融合

很早以前,在刚开始搞Spring Cloud基础教程的时候,写过这样一篇文章:《微服务架构的基础框架选择:Spring Cloud还是Dubbo?》,可能不少读者也都看过。之后也就一直有关于这两个框架怎么选的问题出来&#xff…

DIN+DIEN,机器学习唯一指定涨点技Attention

文 | 水哥源 | 知乎Saying1. 如果你面对一个全新的机器学习任务,让你来涨点。你可能第一个想到的往往是attention,第一个实现的是attention,第一个真的涨点了的技术也是attention;2. DIN的最主要的意义,把attention引入…

RabbitMQ延迟消息的极限是多少?

之前在写Spring Cloud Stream专题内容的时候,特地介绍了一下如何使用RabbitMQ的延迟消息来实现定时任务。最近正好因为开发碰到了使用过程中发现,延迟消息没有效果,消息直接就被消费了的情况。因此就继续深入研究了一下问题原因,在…

推荐中的attention有什么作用?

文 | 水哥源 | 知乎Saying1. attention要解决两个问题:(1)attention怎么加,在哪个层面上做attention;(2)attention的系数怎么来,谁来得到attention2. Attention常见的本质原因是求和…

LeetCode 667. 优美的排列 II(找规律)

1. 题目 给定两个整数 n 和 k,你需要实现一个数组,这个数组包含从 1 到 n 的 n 个不同整数,同时满足以下条件: ① 如果这个数组是 [a1, a2, a3, ... , an] ,那么数组 [|a1 - a2|, |a2 - a3|, |a3 - a4|, ... , |an-1…

图谱实战 | 医学知识图谱的价值与应用场景

转载公众号 | OMAHA联盟随着技术的进步和市场的逐渐成熟,人工智能在医疗等领域的应用日益广泛和深入。而知识图谱技术作为一种从海量文本和图像中抽取结构化知识的手段,正在成为推动人工智能发展的核心驱动力之一。◆ ◆ ◆知识图谱概述知识图谱是一种…

Spring Cloud Alibaba基础教程:Sentinel Dashboard中修改规则同步到Nacos

上一篇我们介绍了如何通过改造Sentinel Dashboard来实现修改规则之后自动同步到Apollo。下面通过这篇,详细介绍当使用Nacos作为配置中心之后,如何实现Sentinel Dashboard中修改规则同步到Nacos。关于下面改造的原理和分析可以见上一篇《Sentinel Dashboa…

OCR完整技术栈10天掌握!教程完全开源,更有产学研大佬们联合授课!

你日常会用到OCR(光学字符识别)技术吗?“妈妈再也不用担心我的学习了”、“老板来问进度了,文献还没整”... ...除了点读机广告,很多人对OCR的印象主要是肝文章的时候被OCR“救过命”,这项技术最早也是被用…

论文浅尝 - ACL2022 | 基于多语言语义解耦表示的跨语言迁移方法实现多语言阅读理解...

论文作者:吴林娟,天津大学,研究方向为自然语言理解论文链接:http://arxiv.org/abs/2204.00996代码地址:https://github.com/wulinjuan/SSDM_MRC摘要多语言预训练模型在机器阅读理解(Machine Reading Comprehension, MR…

LeetCode 1017. 负二进制转换(负数进制转换)

1. 题目 给出数字 N,返回由若干 “0” 和 "1"组成的字符串,该字符串为 N 的负二进制(base -2)表示。 除非字符串就是 “0”,否则返回的字符串中不能含有前导零。 示例 1: 输入:2 输…