论文浅尝 | P-Adapters: 从具有不同提示的语言模型中鲁棒地提取事实信息

2c3f7696dfcd3da82c2089907be0df29.png

笔记整理:田玺,浙江大学硕士研究生。研究方向:知识图谱、自然语言处理

论文地址:https://openreview.net/forum?id=DhzIU48OcZh,录用于ICLR2022

摘要

之前的工作发现,从大型语言模型(LLMs)中提取事实信息的质量取决于用于查询的Prompt,但用不同的Prompt来查询相同的信息应该得到相同的答案。本文作者通过引入P-Adapters来解决这一问题:一个位于LLMs的embedding层和第一个attention层之间的轻量级模型。此外,作者还研究了混合专家(MoE)模型,在从BERT和RoBERTa中提取事实信息方面,P-Adapters的表现与更复杂的MoE模型相当,同时不需要额外注释。最后,作者研究发现是获得原始自然语言Prompt的LLM embedding,特别是实体对的主语是使P-Adapters成功的重要因素。

论文动机

为了使LLMs成为有效的知识库,它们必须对用户可能提供的不同查询具有鲁棒性。然而先前的工作表明LLMs并不鲁棒:语义等同的查询可能导致不一致的预测。之前的许多工作试图为一个给定的关系找到最佳的一个或一组prompt来让模型更好地提取事实信息,而本文中,作者提出P-Adapters的模型来帮助LLMs克服这种变化性,通过将自然语言prompt改变为连续的表征,使LLMs能够准确预测事实信息。它们是端到端的优化,在训练时只需要(prompt,宾语)对,并通过学习将不同的训练prompt映射到相同的宾语,从而隐性地鼓励一致性。

877af6c0883780d0b7f1a3fd1778cc1c.png

图1  P-Adapters的框架

作者还研究了其他可以提高自然语言prompt一致性的模型:专家混合(MoE)模型。并在四种情况中对模型进行了评估:

1.ID模板和宾语:模板和宾语来自同一个分布。

2.OOD Prompt:不同的自然语言prompt集

3.OOD Objects:不同的实体分布。

4.OOD Keyboard Errors:有拼写错误的自然语言prompt。

最后,作者深入研究了什么使P-Adapter有效,发现保持一些原始的自然语言prompt 的embedding,特别是主语的embedding很重要。

模型

P-Adapter模型训练函数  使  达到最大,LLMs的预测为

5c77430de1ee68083955f5348722d5fc.png

  有许多不同的可能参数设定,文章中描述了三个(见图2(a))。

Rewrite P-Adapter:原始的embedding经过一个双向的LSTM和一个MLP后全部被改写,成为完全不同的embedding。

Prefix P-Adapter:原始的embedding经过Bi-LSTM、max-pool和MLP后作为原始的embedding的前缀。

P-Tuning P-Adapter:基于P-Tuning的方法,只有主语和[MASK] token的embedding保持不变,但是此方法中需要知道主语的身份。

d88997d7b0b5a91ddba3c97e6dc2e86c.png

MoE模型:由一个预测自然语言prompt实体之间关系的分类器和一个用于将预测的关系映射到典型的连续prompt的查找表组成(见图2(b))。

Oracle方法:与MoE方法类似,只是不是使用分类器来预测关系,而是在推理时使用gold关系(见图2(b))。

Baseline:将自然语言prompt作为输入,没有任何前缀或优化。

4e05a22ac95b96051eab809c7d70152e.png

图2  P-Adapter、MoE和Oracle模型

实验

数据集:实体对方面,作者使用了LAMA进行评估,使用Shin等人[1]为每个关系收集的独立的实体对集进行训练和验证,对于OOD Objects的情况,使用了Cao等人[2]的uniform-wikidata数据集中的实体对;模板方面,作者使用了LAMA、LPAQA和ParaRel数据集,并使用Lee等人[3]的BERT词汇替换系统为每个模板生成五个改述来补充ParaRel模板,将这些模板分成两个同等大小的组,一个用于训练,一个用于OOD Prompt评估,OOD Keyboard Errors的情况,作者使用了训练的模板,然后使用nlpaug包在每个模板中引入至少一个拼写错误。

评价指标为P@1和一致性,一致性定义为

08386fced7f667a00de474ec3dde700b.png

其中,

688e9e7ab5167e7c6e0d3532418155b2.png

表1中为BERT Base的实验结果,BERT Large和RoBERTa Large的结果显示了类似的趋势,详细见文章附录。在所有的评估设置中,优化的prompt比自然语言的prompt有更高的精确度。

表1  BERT Base的P@1和一致性实验结果

40260922160b6b691b86aab77838edbd.png

从表1的结果中观察到,让LLM访问其未修改的自然语言prompt的embedding是有帮助的。因此作者进行了消融实验,探究自然语言prompt的哪一部分是需要保留的。

图3(左)显示了LLM的哪些embedding是重要的,可以保持不修改。作者得出结论,prompt中主语token的embedding不被修改使得P-Adapter表现突出,但需要在训练和推理时知道主语token的索引,这与之前不使用额外注释的要求相矛盾。因此,作者提出了另一种版本的P-Adapter将未经修改的LLM的自然语言prompt加入到P-Adapter的输出中,如下:

41cfbc4fb02d37fafd2047503b5699ae.png

图3(右)显示了α等于0.5时,模型表现最好。当主语和[MASK] token被替换进来时,尽管表现比P-Tuning P-Adapter差,但优于Rewrite P-Adapter。

f7acf050728f0a6c7a32a940c3e7d4af.png

图3  左图为LLM的哪些embedding是重要的,可以保持不修改。右图为不同的α与P-Tuning P-Adapter和Rewrite P-Adapter进行比较。

参考文献

[1] Auto- Prompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts. (EMNLP2020)

[2] Knowledgeable or educated guess? revisiting language models as knowledge bases. (ACL2021)

[3] Swords: A benchmark for lexical substitution with improved data coverage and quality. (NAACL2021)


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

6a8557dc9d4158186c5b68e0826b7d5e.png

点击阅读原文,进入 OpenKG 网站。

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

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

相关文章

LeetCode 470. 用 Rand7() 实现 Rand10()(随机概率)

1. 题目 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。 不要使用系统的 Math.random() 方法。 示例 1: 输入: 1 输出: [7]示例 2: 输入: 2 输出: [8,4]示例 3: 输入: 3 输出: [8,1,10]提示: rand…

Spring Cloud Stream同一通道根据消息内容分发不同的消费逻辑

应用场景 有的时候,我们对于同一通道中的消息处理,会通过判断头信息或者消息内容来做一些差异化处理,比如:可能在消息头信息中带入消息版本号,然后通过if判断来执行不同的处理逻辑,其代码结构可能是这样的…

图谱实战 | 再谈图谱表示:图网络表示GE与知识图谱表示KGE的原理对比与实操效果分析...

转载公众号 | 老刘说NLP知识图谱嵌入是一个经典话题,在之前的文章《知识表示技术:图谱表示VS图网络表示及基于距离函数的表示学习总结》中,围绕知识图谱嵌入学习这一主题,对比了知识图谱嵌入与图网络嵌入的异同。而在实际工作中&a…

LeetCode 1247. 交换字符使得字符串相同

1. 题目 有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 “x” 和 “y”,你需要通过「交换字符」的方式使这两个字符串相同。 每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。 交换只能发生在两个不同的字…

图深度学习前沿工作汇总与解析

图深度学习除了可以应用于标准图推理任务以外,还广泛应用于推荐、疾病或药物预测、自然语言处理、计算机视觉、交通预测等领域。可见,基于图的深度学习不仅有助于挖掘现有图数据背后的丰富价值,而且还通过将关系数据自然地建模为图&#xff0…

Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

应用场景 之前我们已经通过《Spring Cloud Stream消费失败后的处理策略(一):自动重试》一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试功能:重新入队。 动手试试 准备一个会…

图谱实战 | 华农夏静波:深层语义知识图谱在药物重定位中的应用

转载公众号 | DataFunSummit分享嘉宾:夏静波 华中农业大学 副教授编辑整理:王金华 电科32所出品平台:DataFunTalk导读:自新冠病毒肺炎疫情发生以来,由于传统药物研发周期长,药物重定位(老药新用…

LeetCode 738. 单调递增的数字(贪心)

1. 题目 给定一个非负整数 N&#xff0c;找出小于或等于 N 的最大的整数&#xff0c;同时这个整数需要满足其各个位数上的数字是单调递增。 &#xff08;当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。&#xff09; 示例 1…

晋升挂了,leader说不是我技术不行

本文授权转载自公众号“算法圈的小破事”&#xff0c;点击以上卡片进行关注大家好&#xff0c;我是在互联网危险边缘疯狂试探的皮皮虾。今天跟大家分享一个故事。晋升去年秋季&#xff0c;我参加了校招入职以来的第一场晋升答辩。答辩前&#xff0c;我比来比去&#xff0c;觉得…

Spring Cloud Stream消费失败后的处理策略(二):自定义错误处理逻辑

应用场景 上一篇《Spring Cloud Stream消费失败后的处理策略&#xff08;一&#xff09;&#xff1a;自动重试》介绍了默认就会生效的消息重试功能。对于一些因环境原因、网络抖动等不稳定因素引发的问题可以起到比较好的作用。但是对于诸如代码本身存在的逻辑错误等&#xff…

论文浅尝 | DEKR: 一个基于描述增强知识图谱的机器学习方法推荐系统

笔记整理&#xff1a;刘尧锟&#xff0c;天津大学硕士链接&#xff1a;https://dl.acm.org/doi/pdf/10.1145/3404835.3462900动机面对大量的机器学习&#xff08;ML&#xff09;方法&#xff0c;为给定的数据集和任务选择合适的方法是一个挑战。一般来说&#xff0c;ML方法或数…

Meta AI 发布 data2vec!统一模态的新里程碑!

文 | ZenMoore编 | 小轶如果让大家举一个最成功的自监督模型的例子&#xff0c;尤其对于各位 NLPer&#xff0c;肯定毫不犹豫地祭出我大 BERT. 想当年 BERT 打了一个名叫 MLM (Masked Language Model) 的响指&#xff0c;直接成了 NLP 灭霸。视觉界、语音界闻声而来&#xff0c…

LeetCode 946. 验证栈序列(栈)

1. 题目 给定 pushed 和 popped 两个序列&#xff0c;每个序列中的 值都不重复&#xff0c;只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时&#xff0c;返回 true&#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;…

Spring Cloud Stream消费失败后的处理策略(一):自动重试

之前写了几篇关于Spring Cloud Stream使用中的常见问题&#xff0c;比如&#xff1a; 如何处理消息重复消费如何消费自己生产的消息 下面几天就集中来详细聊聊&#xff0c;当消息消费失败之后该如何处理的几种方式。不过不论哪种方式&#xff0c;都需要与具体业务结合&#xf…

会议交流 | DataFunSummit 2022:图机器学习在线峰会

深度学习模型是当今人工智能研究的核心。众所周知&#xff0c;对欧几里得数据&#xff08;例如图像&#xff09;和序列数据&#xff08;例如文本&#xff09;具有颠覆性学习能力的深度学习技术不能直接适用于图结构数据。这种差距推动了图深度学习研究的浪潮&#xff0c;在学术…

专访邱锡鹏:人工智能开源社区的「先行者」

文 | 刘冰一、Echo源 | 极市平台邱锡鹏&#xff0c;复旦大学理学学士和博士。任职复旦大学计算机科学技术学院教授&#xff0c;博导。发表 CCF A/B 类论文 70 余篇&#xff0c;获得 ACL 2017 杰出论文奖&#xff08;CCF A类&#xff09;、CCL 2019 最佳论文奖。出版开源专著《神…

Spring Cloud Stream如何消费自己生产的消息

在上一篇《Spring Cloud Stream如何处理消息重复消费》中&#xff0c;我们通过消费组的配置解决了多实例部署情况下消息重复消费这一入门时的常见问题。本文将继续说说在另外一个被经常问到的问题&#xff1a;如果微服务生产的消息自己也想要消费一份&#xff0c;应该如何实现呢…

LeetCode 400. 第N个数字(数学)

1. 题目 在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …中找到第 n 个数字。 注意: n 是正数且在32为整形范围内 ( n < 2^31)。 示例 1: 输入: 3 输出: 3示例 2: 输入: 11 输出: 0 说明: 第11个数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 1--0--, 11, ... 里是0&a…

图谱实战 | 开源知识图谱融合工具剖析:Dedupe与OpenEA工具实现思想、关键环节与实操分析...

转载公众号 | 老刘说NLP实体对齐旨在发现不同知识图谱中的共指实体&#xff0c;如百度百科的360与Wikipedia中的360 qihoo。实体对齐是知识融合的重要任务&#xff0c;通过实体对齐集成多源知识图谱可以为下游任务提供更加全面的知识表示。实际上&#xff0c;实体对齐本质上就是…

算法岗SSP offer收割指南!

文 | 林小平源 | 知乎前序在本文开始以前&#xff0c;林小平首先需要声明的是这篇超详细面经并不是笔者本人的求职笔记&#xff0c;它是笔者学校隔壁实验室22届毕业学弟的面试心路历程和经验心得。由于笔者和这位学弟经常讨论校招求职和职业发展的问题&#xff0c;并且在秋招以…