[ACL2023] Exploring Lottery Prompts for Pre-trained Language Models

Exploring Lottery Prompts for Pre-trained Language Models

文章链接

清深的工作,比较有意思的一篇。作者先给出假设,对于分类问题,在有限的语料空间内总能找到一个prompt让这个问题分类正确,作者称之为lottery prompt。为此,作者组织了一个prompt集合,每个prompt的组成都很简单,名词+动词+介词/形容词/副词+<MASK>,语料都是从常用英语词库中选出的,整个prompt集合一共包含76725个prompt。

之后,作者在RoBERTa-large和GPT-2上进行了测试,每个数据集1000个样例,对于每个样例,只要76725个prompt里有一个prompt能让模型预测正确,那么就算这个样例回答正确,结果表明几乎每个输入都有一个prompt可以作对这个分类。说明至少对于这些分类问题,lottery prompt是存在的。

之后作者分析了搜索到一个正确的prompt所需要的次数,这里的搜索按照作者的说法其实就是在7w个prompt里面枚举的。发现任务越困难,需要的搜索次数就越多,同时在同一个任务中,需要的搜索次数多的也是困难的输入。

而模型的能力也对搜索次数有影响,越大的模型需要的搜索次数越少。同时没有训练过的模型很难找到有效的prompt,经过一定的训练后成功找到的概率则显著上升,搜索次数显著下降。这说明lottery prompt存在确实不是考运气,而是基于模型确实掌握了语言知识。

除了多个prompt对一个input,那自然也有一个prompt对多个input,作者统计了prompt在整个数据集上的表现,除了有66个类的最难的Few-NERD,其他数据集都能找到一个表现不错的prompt。

分析这些优秀的prompt作者也发现他们有一些相似的特征,这里就不详述了。

基于此,作者提出了一种集成prompt方法,在少量的训练集上选出优秀的prompt以后,根据他们的表现赋予不同的权重,表现越好的prompt权重越高,之后将这些prompt的分类预测加权在一起,得到最后的分类。他们的整个集合只有10个prompt,训练集大小为16shot和32shot,效果惊人的不错。

这个方法可以说是很简洁,得到的prompt结构都很简单,集成方式同样简单,整个方法甚至都没有参数,但是打败了像RLPrompt这样参数量巨大的prompt方式。

相关推荐
边缘计算社区37 分钟前
FPGA与边缘AI:计算革命的前沿力量
人工智能·fpga开发
飞哥数智坊1 小时前
打工人周末充电:15条AI资讯助你领先一小步
人工智能
Tech Synapse1 小时前
基于CARLA与PyTorch的自动驾驶仿真系统全栈开发指南
人工智能·opencv·sqlite
layneyao1 小时前
深度强化学习(DRL)实战:从AlphaGo到自动驾驶
人工智能·机器学习·自动驾驶
被放养的研究生1 小时前
ChatGPT、deepseek、豆包、Kimi、通义千问、腾讯元宝、文心一言、智谱清言代码能力对比
语言模型
海特伟业2 小时前
隧道调频广播覆盖的实现路径:隧道无线广播技术赋能行车安全升级,隧道汽车广播收音系统助力隧道安全管理升级
人工智能
CareyWYR2 小时前
每周AI论文速递(250421-250425)
人工智能
追逐☞2 小时前
机器学习(10)——神经网络
人工智能·神经网络·机器学习
winner88812 小时前
对抗学习:机器学习里的 “零和博弈”,如何实现 “双赢”?
人工智能·机器学习·gan·对抗学习
Elastic 中国社区官方博客2 小时前
使用 LangGraph 和 Elasticsearch 构建强大的 RAG 工作流
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索