【提示学习】AUTOPROMPT: Eliciting Knowledge from Language Models with Automatically Generated Prompts

简介: Prompt任务需要构建合适的Pattern,但是编写合适的Pattern需要手动工作和人为猜测,有很大的不确定性。为了解决这个问题,提出AUTOPROMPT模型,基于梯度下降搜索来创建Pattern。

阅读摘要


 Prompt任务需要构建合适的Pattern,但是编写合适的Pattern需要手动工作和人为猜测,有很大的不确定性。为了解决这个问题,提出AUTOPROMPT模型,基于梯度下降搜索来创建Pattern。


[0] 摘要


 这篇论文并提出了一种名为AUTOPROMPT的自动化方法,用于为多样的任务创建适当的提示模板Pattern。


 传统的MLM任务虽然可以评估语言模型的知识水平,但需要手动编写合适的Pattern,涉及较大的人力成本和猜测成分。AUTOPROMPT基于梯度下降搜索Pattern的方法解决了这个问题。


 AUTOPROMPT无需额外的参数或微调,有时甚至能够与最新的监督模型取得相当的性能。


[1] 介绍


 论文指出,传统的分析方法,如探测分类器和注意力可视化,存在一定的局限性和不足。而通过提示prompting的方式,将任务转化为语言模型的形式,可以更直接地获取模型所具备的知识。


 然而,现有的提示方法需要手动构建上下文,这一过程耗时且容易出错,且模型对上下文的敏感性较高。为了解决这一问题,研究人员提出了AUTOPROMPT方法,通过自动化地生成提示来替代手动构建,从而提高分析的效率和广泛应用性。


 AUTOPROMPT方法基于梯度搜索策略,结合了原始任务输入和触发词(trigger tokens)集合,生成适用于所有输入的提示。通过将语言模型对提示的预测结果与相关标签词的类别概率相结合,可以将语言模型作为分类器进行评估。


 论文通过多个实验证明了AUTOPROMPT的有效性。首先,研究人员使用AUTOPROMPT构建了针对情感分析和自然语言推理的提示,无需微调,仅仅使用预训练的掩码语言模型(MLMs)就可以取得良好的性能,在SST-2数据集上达到了91%的准确率,优于经过微调的ELMo模型。其次,研究人员将AUTOPROMPT应用于LAMA的事实检索任务,通过构建更有效的提示,成功提取了MLMs的事实知识。此外,研究人员还引入了一种类似于关系抽取的任务变体,测试MLMs是否能够从给定的文本中提取知识。实验结果表明,在提供真实事实的上下文句子的情况下,MLMs可以超越现有的关系抽取模型,但在提供人工Pattern模板的上下文句子时表现不佳。


 最后,论文还指出AUTOPROMPT相比微调具有一定的实际优势。在低数据量情况下,AUTOPROMPT实现了更高的平均和最差情况准确率。与微调不同,使用提示的LMs不需要大量的磁盘空间存储模型检查点,一旦找到一个提示,就可以在现有的预训练LMs上使用。这在为多个任务提供模型服务时具有益处。


[2] 模型总览


 编写Pattern模板既耗时又不清楚同样的Pattern模板是否适用于每个模型,以及何种标准决定了某个Pattern模板是否最适合引出所需的信息。基于这一考虑,引入了AUTOPROMPT,其结构如下图所示。



[2.1] 背景和数学符号


 为了构建提示模板,区分了原始任务输入X i n p、触发令牌X t r i g和作为输入给MLM的提示X p r o m p t。通过使用模板 λ,将X i n p映射到X p r o m p t


【注】看上图的左下方,n个[T]其实就是触发令牌X t r i g,它们就是将要被梯度下降搜索的token,最开始被[MASK]初始化,[P]才是我们平时会预测的真正的[MASK]。

————————————————


  对于Verbalizer部分,采用多映射token概率求和的形式:


[2.2] 基于梯度的提示模板搜索


 思路是在prompts中添加一些被所有prompts共享的trigger tokens,就是模板中的[T], 这些token在一开始由[MASK]进行初始化,然后不断迭代更新来最大化似然估计。


 在每一步中,计算出将第j个trigger token替换成另一个tokenw(w属于词汇表中的单词) 梯度的最大值。将引起最大变化的t o p − k个tokens构成候选集合V c a n d :


[2.3] 自动化标签词选择


 尽管在某些任务中label tokens的选择是非常明显的,但在某些abstract class labels的问题中选择什么label tokens则是不清晰的。因此在论文中,作者提出了一种通用的两阶段用来自动选择label tokens集合V y的方法。


 在第一步中,训练一个logistic classifier使用 [MASK] token作为输入来预测class label:


 classifier input:



  classifier output:


image.png


【注】Pattern会分为硬模板和软模板。AutoPrompt属于硬模板的范畴,我个人还是觉得Soft Prompt来训练连续的伪标记会更好一点。硬模板不管再怎么搜索,寻找的词依然是PLM词表中的,而连续的向量自由度更高。

相关文章
|
机器学习/深度学习 自然语言处理 算法
文本分析-使用jieba库进行中文分词和去除停用词(附案例实战)
文本分析-使用jieba库进行中文分词和去除停用词(附案例实战)
7755 0
|
机器学习/深度学习 PyTorch API
PyTorch 深度学习实用指南:6~8
PyTorch 深度学习实用指南:6~8
290 0
|
存储 机器学习/深度学习 人工智能
深入浅出 AI 智能体(AI Agent)|技术干货
随着人工智能技术的发展,智能体(AI Agents)逐渐成为人与大模型交互的主要方式。智能体能执行任务、解决问题,并提供个性化服务。其关键组成部分包括规划、记忆和工具使用,使交互更加高效、自然。智能体的应用涵盖专业领域问答、资讯整理、角色扮演等场景,极大地提升了用户体验与工作效率。借助智能体开发平台,用户可以轻松打造定制化AI应用,推动AI技术在各领域的广泛应用与深度融合。
24990 1
|
机器学习/深度学习 人工智能 自然语言处理
未来深度学习技术的发展趋势与挑战
随着人工智能的快速发展,深度学习作为其核心技术之一,正面临着多样化和复杂化的挑战。本文探讨了未来深度学习技术的发展趋势,分析了当前面临的技术挑战,并提出了应对策略。 【7月更文挑战第10天】
430 0
|
11月前
|
存储 缓存 NoSQL
【赵渝强老师】Memcached集群的架构
Memcached 是一个高性能的分布式内存对象缓存系统,通过在内存中维护一个巨大的 Hash 表来存储各种格式的数据,如图像、视频、文件及数据库检索结果等。它主要用于减轻数据库压力,提高网站系统的性能。Memcached 不支持数据持久化,因此仅作为缓存技术使用。其数据分布式存储由客户端应用程序实现,而非服务端。
218 0
【赵渝强老师】Memcached集群的架构
|
机器学习/深度学习 存储 负载均衡
深度学习之数据并行与模型并行
深度学习的数据并行(Data Parallelism)和模型并行(Model Parallelism)是两种主要的并行化策略,用于加速大规模模型训练。
501 1
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战
【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战
1365 0
|
人工智能
快来围观!我自制的 AI 周报小能手:自动收集整理周报,一键发送邮件
快来围观!我自制的 AI 周报小能手:自动收集整理周报,一键发送邮件
365 0
|
JavaScript 小程序 前端开发
【Vue篇】mac上Vue 开发环境搭建、运行Vue项目(保姆级)
【Vue篇】mac上Vue 开发环境搭建、运行Vue项目(保姆级)
4059 2
|
存储 C++ 索引
C++程序字符数组:深入理解与实践
C++程序字符数组:深入理解与实践
197 2