论文浅尝 | 用于开放式文本生成的事实增强语言模型

news2024/11/21 0:24:02

7d4a37b7c43eaaa2ec87a60452c7711b.png

笔记整理:李煜,东南大学硕士,研究方向为知识图谱

链接:https://proceedings.neurips.cc/paper_files/paper/2022/hash/df438caa36714f69277daa92d608dd63-Abstract-Conference.html

1. 动机

生成式语言模型(例如 GPT-3)仅经过训练来对子词标记之间的统计相关性进行建模,并且生成事实上准确的文本的能力有限。因此,人们越来越担心关于大规模预训练 LM 的非事实生成。与具有事实信息的大量在线文本相比,结构化知识图仅编码有限数量的知识,因为它们需要昂贵的人工注释来进行高质量的构建。探索了一种无(信息检索) IR 的方法,通过对事实丰富的纯文本语料库的持续训练来增强 LM 的固有事实性。文章探索了一种无 IR 的方法,通过对事实丰富的纯文本语料库的持续训练来增强 LM 的固有事实性。

2. 主要贡献

文章设计了 FACTUALITYPROMPTS 测试集和指标来衡量 LM 生成的真实性。在此基础上,文章研究了参数大小范围从 126M 到 530B 的 LM 的事实准确性。作者发现较大的语言模型比较小的语言模型的回答更符合事实,尽管之前的研究表明较大的语言模型在误解方面可能不太真实。此外,开放式文本生成中流行的采样算法(例如 top-p)可能会由于每个采样步骤引入的“均匀随机性”而损害事实性。因此提出了事实核采样算法,该算法采取动态的适应随机性,以提高生成的真实性,同时保持质量。此外,文章分析了标准训练方法在从事实文本语料库(例如维基百科)中学习实体之间的正确关联方面的低效率。所以作者提出了一种事实增强训练方法,使用 TOPICPREFIX 更好地了解事实和完成句子作为训练目标,可以大大减少事实错误。

e71b8df707758b9b1676173aff14ba32.png

图1: 具有贪婪解码和核采样 p = 0.9 的 530B LM 的知识生成示例,以及具有事实核采样的事实增强型 530B LM 的生成。红色代表非事实,绿色代表事实,删除线代表重复。当 LM 生成 <|endoftext|> 或达到最大长度时,它们将停止生成

总之,文章建立了一个基准来衡量和分析开放式文本生成任务中的事实性。文章提出事实核采样,可以在保持质量和多样性的同时提高生成的真实性。并结合“句子完成损失”和 “TOPICPREFIX ”预处理,以通过持续训练提高事实性。

文章发现直接在事实文本数据上继续训练LM并不能保证事实准确性的提高。所以文章提出进行事实增强培训,以解决该基线的潜在低效率问题。方法包括 i) 添加一个 TOPICPREFIX 以提高训练期间对事实的认识,以及 ii) 一个句子完成任务作为持续 LM 训练的新目标。

3. 实验方法

文章的目标是自动测量和评估用于开放式文本生成的大规模预训练语言模型 (LM) 的真实性。事实性是指与 NLP 中提供的真实知识源保持一致。评估开放式文本生成的真实性的最大挑战与从无数的世界知识中定位真实知识有关。由于缺乏生成的真实参考资料,评估开放式文本生成可能具有挑战性。在本研究中,作者的真实知识源的范围设置为维基百科,因为这有助于简化评估设置。

文章的评估框架由以下阶段组成(如图2所示)。在第 1 阶段,LM 根据提供的测试提示生成文本。在第二阶段,首先识别值得检查的生成文本,这是指具有需要事实性评估的内容。此步骤是必要的,因为开放式文本生成可能会生成不包含个人观点或闲聊式文本等事实的文本(例如,“我喜欢吃苹果!”)。然后,对值得检查的延续进行事实验证所需的相关事实知识。最后计算事实性和质量指标。

22df9c5672a025bcbe99d17db6b4e741.png

图2:整体评估框架

提示和评估:

文章设计了一个测试提示test prompts,它具有toxic和nontoxic提示来评估 LM 生成的内容。由事实提示和非事实提示组成,能够研究提示的真实性对于LM生成内容的影响。

准备相关的基本事实知识:

文档级别的真实知识,用wiki百科的文档,句子级别的真实知识,采用两种方法,一种是采用文本和维基百科句子视为候选池C,将生成的文本视为查询 q,通过获取 q 和 C 的 TF-IDF 向量表示并选择与 q 具有最高余弦相似度的 ci 来检索一个真实句子,另一种是采用SentenceTransformer获取 q 和 C 的上下文表示并选择具有最高余弦相似度的 cj 来检索。

评估指标:

采用基于命名实体 (NE) 的度量和基于文本蕴含的度量,每个指标都反映了事实的不同方面:

幻觉 NE 错误:如果语言模型生成的NE 未出现在真实知识源中,它就会产生幻觉(造成事实错误),基于 NE 的指标定义为:NEER = |HALLUNE| / |ALLNE|其中 ALLNE 是 LM 生成中检测到的所有 NE 的集合,HALLUNE 是 NEAll 的子集,它没有出现在真实的维基百科文档中。需要注意的是,评估 NEER 需要文档级的基本事实。

蕴含比例:基于蕴含的指标基于以下基本原理:事实生成将由真实知识所蕴含。

生成质量:流畅性,多样性,减少重复。

与人类判断的相关性:实验表明人类对事实的判断与所提出的自动度量 NEER 和 EntailR 之间存在很强的相关性。

4. 评估结果

文章从三个方面对 LM 进行事实分析:i)模型大小,ii)提示类型和 iii)解码算法。

22f11e8dc1ecccff0f24a5cca846fb7f.png

图3: 具有从 12M 到 530B 不同参数大小的 LM 的真实性。NEER 指命名实体错误,EntailR 指蕴涵比,Div.指的是不同的 4-gram,Rep. 指的是重复

  • 模型大小:生成的准确性确实随着模型规模的增加而提高,

  • 提示类型:事实提示和非事实提示都可以导致非事实生成,尽管事实提示总是导致较少的非事实生成。随着模型大小的增加,事实提示和非事实提示之间的性能差距变得更加突出。

  • 解码算法:文章介绍了两种解码算法,贪婪解码和核采样,核采样top-p解决了贪婪解码算法的退化问题(例如重复),尽管top-p解码获得了更高的生成多样性和更少的重复,但在事实性方面,top-p解码的性能不如贪婪解码。因为 top-p 可以被视为添加“随机性”以鼓励多样性,从而可能导致事实错误。因为它选择概率最高的单词的方式最大限度地减少了随机性,并最大限度地利用了 LM 的参数知识。然而,贪婪解码牺牲了生成多样性和质量。

  • 错误类型:两种典型错误类型,分别是命名实体混合,捏造事实。

5. 事实核采样

文章在实验结束以后提出了一种新的采样算法,与现有的解码算法相比,它可以在生成质量和真实性之间实现更好的权衡。

文章假设当采样的随机性用于生成句子的后半部分时,比用于生成句子的开头时,对事实性的危害更大。句子开头没有前面的文本,因此只要符合语法和上下文,LM 就可以随意地生成任何内容。然而,随着迭代的进行,前提变得更加确定,并且更少的单词选择可以使句子成为事实。因此,我们引入了事实核采样算法。

采样算法即在每个句子的生成过程中动态调整“核”p,随着时间的推移减少“随机性”。并且在每句话的开头重置p,减轻了重复的问题并提高了多样性。并且设置了最低限度ω。

52f580163ddcec19c814fd828e97e48a.png

  • λ -decay: 在每个生成步骤中用衰减因子逐渐衰减 p 值,以随着时间的推移减少“随机性”。

  • p-reset:在生成过程中每个新句子的开头将 p 值重置为默认值(我们通过检查上一步是否生成了句号来识别新句子的开头)。p-reset 减轻了重复问题并提高了多样性指标,而不会损失太多事实性指标。

  • ω-bound:p 值可能会变得太小而无法等同于贪婪解码并损害多样性。为了克服这个问题,文章引入了下界ω限制 p 值可以衰减的程度。

文章通过消融研究来展示每个部分的重要性。

54a777d8e5114ca609a099ea81dd3009.png

6db1f7e0cc3b81df3bcf2f32e250c89b.png

图4: 核采样(蓝线)和事实核采样(橙线)之间的比较。x 轴被命名为实体误差 NEER。y 轴分别是(a)和(b)中的多样性和重复性。重复次数越低越好。显然,事实核心抽样在事实性和多样性/重复性之间具有更好的权衡

添加 λ-decay 有助于提高 top-p 0.9 事实性结果,例如,当衰减率 λ= 0.5 时,NEER 下降 12.5%,EntailR 增益 10.1%。然而,这会影响多样性和重复性,使其变得类似于贪婪解码。p-reset 减轻了重复问题并提高了多样性指标,而不会损失太多事实性指标。λ= 0.5 选项的效果更为显着,它在多样性指标上实现了 0.26 的增益,而事实分数的变化可以忽略不计。通过添加ω-bound,与贪婪解码相比,生成质量有了很大的提高;当 p=0.9, λ=0.9, ω=0.3 时,在多样性方面实现了x11的改进,在重复方面比贪婪实现了x4.6 的改进。尽管这种事实核采样在多样性方面仍然低于 top-p 0.9,但这是一个可以接受的权衡,可以提高 LM 对于事实敏感的开放式生成任务的事实性。

6. 事实强化训练

句子可以包含代词(例如,她、他、它),使得这些句子实际上独立时毫无用处,作为补救措施,作者建议在事实文档中的句子前面添加 TOPICPREFIX,使每个句子都充当独立的事实。文章中将维基百科文档名称作为 TOPICPREFIX。

句子完成损失:一种通过更多地关注句子的末尾部分(通常存在关键细节)来提高语言模型生成的事实准确性的方法。通过引入一种称为句子完成损失的新损失函数来实现此目的。在句子中建立一个枢轴点“t”,该点之前的所有子词预测损失在模型的优化过程中都会被赋予较小的权重(通过零掩蔽实现)。这将模型的注意力转移到确保对枢轴点之后出现的子词进行更准确的预测。理由是句子的后半部分通常对事实性更为关键,这种方法可以帮助确保生成更准确和上下文相关的信息。比如“Samuel Witwer’s father is a Lutheran minister”,找到的枢纽点是is,后半部分明显更为重要。

对于训练阶段,为每个句子确定合适的枢轴点至关重要,而在推理阶段不需要枢轴点,从而保证了模型的可用性和效率。

在文章中探索了三种策略(从简单到复杂)来确定枢轴 t:

f598b9afe458cd0a1bdba2351898e334.png

文章实验表明:最简单的 SCHALF 与复杂的 SCROOT(例如 SCROOT)性能相当,因此建议未来的工作选择 SCHALF 策略。

7. 总结

文章建立了一个基准来衡量和分析开放式文本生成任务中的事实性。同时提出了事实核心采样算法,可以提高推理时生成事实知识的准确性,并结合句子完成损失和 TOPICPREFIX 预处理,通过增强知识进行强化训练来提高事实性。实验结果表明该方法可以有效地提高生成知识的事实性,同时也揭示了该方法在多样性和事实性之间存在的权衡。


OpenKG

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

058757fdaa5b2c7cdb5212f5d2cf3d23.png

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

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

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

相关文章

本田发布全新CB1000 Hornet,是杜卡迪街霸劈了腿还是Z1000红杏出墙?

米兰车展上&#xff0c;本田带来了全新的大黄蜂CB1000 Hornet&#xff0c;外观方面抛弃了之前的本田推出的Neo Sports Caf风格&#xff0c;新款的外观看起来要更加战斗一点。不过新的这个前脸改的&#xff0c;我只能说是杜卡迪街霸劈了腿还是Z1000红杏出墙&#xff1f;外观方面…

【LLM】0x00 大模型简介

0x00 大模型简介 个人问题学习笔记大模型简介LLM 的能力&#xff1a;LLM 的特点&#xff1a; LangChain 简介LangChain 核心组件 小结参考资料 个人问题 1、大模型是什么&#xff1f; 2、ChatGPT 在大模型里是什么&#xff1f; 3、大模型怎么用&#xff1f; 带着问题去学习&a…

石原子科技亮相2023成都市信息领域新产品发布会

2023年11月13日至15日&#xff0c;由成都市互联网信息办公室、四川天府新区管委会、成都市经信局市新经济委、成都市农业农村局指导的以“信息创造价值 创新引领未来”为主题的成都市信息领域新产品发布会在科创生态岛1号馆举行。围绕人工智能、区块链、数字化绿色化、数字乡村…

c题目8:打印斐波那契数列前100项

每日小语 终日寻春不见春&#xff0c;芒鞋踏破领投云。 归来偶把梅花嗅&#xff0c;春在枝头已十分。——无尽藏 解析题目 1.斐波那契数列是什么&#xff1f; 斐波那契数列是一个数列&#xff0c;其中每个数字等于前两个数字的和。数列的前几个数字是0、1、1、2、3、5、8、…

软件外包开发的开发文档

软件开发文档是一个重要的工具&#xff0c;用于记录和传达项目信息&#xff0c;帮助开发团队和利益相关者理解项目的各个方面。以下是一般性的软件开发文档编写格式&#xff0c;不同组织和项目可能有所不同&#xff0c;但这些通用准则可以帮助确保文档的清晰性和易读性&#xf…

Docker - 网络

Docker - 网络 理解Docker0 # 我们发现这个容器带来网卡&#xff0c;都是一对对的 # evth-pair 就是一对的虚拟设备接口&#xff0c;他们都是成对出现的&#xff0c;一段连着协议&#xff0c;一段彼此相连 # 正因为有了这个特性&#xff0c;evth-pair 充当一个桥梁&#xff0…

八股文-面向对象的理解

近年来&#xff0c;IT行业的环境相较以往显得有些严峻&#xff0c;因此一直以来&#xff0c;我都怀有一个愿望&#xff0c;希望能够创建一个分享面试经验的网站。由于个人有些懒惰&#xff0c;也较为喜欢玩乐&#xff0c;导致计划迟迟未能实现。然而&#xff0c;随着年底的临近…

466. 回文日期

题目&#xff1a; 466. 回文日期 - AcWing题库 思路&#xff1a; 1.如果正向考虑&#xff0c;计算两天之间所以的回文数&#xff0c;应该如何枚举&#xff1f;没有明确的进制&#xff0c;那么只能列一个日历&#xff0c;这样会比较麻烦。 2.我们不妨采用逆向思维&#xff0…

esp32cam串口问题

选择的串口 Failed to execute script esptool不存在或开发板没有连接 设置串口参数时出错&#xff1a;9,600 N 8 1注意到他说的串口设置错误,但是在设置里不能设置串口参数 所以说是串口打印的问题 把他换成esp32用的115200就行

一文了解VR全景拍摄设备如何选择,全景图片如何处理

引言&#xff1a; 在如今的数字化时代&#xff0c;虚拟现实&#xff08;VR&#xff09;技术不仅为我们的生活增添了许多乐趣&#xff0c;也为摄影领域带来了新的摄影方式&#xff0c;那么VR全景拍摄如何选择设备&#xff0c;全景图片又怎样处理呢&#xff1f; 一. VR全景拍摄设…

CRM系统对科技企业有哪些帮助

随着国家政策的倾斜和5G等相关基础技术的发展&#xff0c;中国人工智能产业在各方的共同推动下进入爆发式增长阶段&#xff0c;市场发展潜力巨大。CRM客户管理系统作为当下最热门的企业应用&#xff0c;同样市场前景广阔。那么&#xff0c;CRM系统对科技企业有哪些帮助&#xf…

C++算法:全 O(1) 的数据结构

题目 请你设计一个用于存储字符串计数的数据结构&#xff0c;并能够返回计数最小和最大的字符串。 实现 AllOne 类&#xff1a; AllOne() 初始化数据结构的对象。 inc(String key) 字符串 key 的计数增加 1 。如果数据结构中尚不存在 key &#xff0c;那么插入计数为 1 的 key…

C++中关于多线程并发访问实例函数与静态函数

问题 1 C中多个线程共同执行一个实例函数&#xff0c;该函数是在线程的栈空间吗&#xff1f;对于函数中的多线程共享变量又是存储在哪里呢&#xff1f; example: 在该例子中线程绑定当前对象(this)的实例函数captureVideo, 并将int参数传递过去。但是对于captureVideo中多个线…

【Git】第五篇:基本操作(添加文件)

.git目录结构 我们在前文中提过了.git目录&#xff0c;也明确说了我们不能手动去.git目录下创建修改等任何操作。 添加文件 我们现在已经了解到&#xff0c;git是一个版本控制器&#xff0c;可以对我们的文件进行管理。而我们需要使用git管理文件的时候&#xff0c;我们必须将…

【工艺库】SMIC数字后端工艺库

工艺库文件 Calibredigital文件夹apollolefprimetimesynopsys TD系列文件夹 本来是想找一个工艺库&#xff0c;想要其包含逻辑综合和SPICE Model相关的库文件&#xff0c;但是找了很久也没有直接找到想要的&#xff0c;主要原因还是自己对工艺库文件的构成不是很清楚&#xff0…

Sentinel浅层介绍(上)

一、概述 Sentinel是阿里开源的一款面向分布式、多语言异构化服务架构的流量治理组件。 主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 二、核心概念 1、资源 资…

【机器学习】决策树算法理论:算法原理、信息熵、信息增益、预剪枝、后剪枝、算法选择

1. 决策树概念 通过不断的划分条件来进行分类&#xff0c;决策树最关键的是找出那些对结果影响最大的条件&#xff0c;放到前面。 我举个列子来帮助大家理解&#xff0c;我现在给我女儿介绍了一个相亲对象&#xff0c;她根据下面这张决策树图来进行选择。比如年龄是女儿择偶更…

【万字长文】Python 日志记录器logging 百科全书 之 日志过滤

Python 日志记录器logging 百科全书 之 日志过滤 前言 在Python的logging模块中&#xff0c;日志过滤器&#xff08;Filter&#xff09;用于提供更细粒度的日志控制。通过过滤器&#xff0c;我们可以决定哪些日志记录应该被输出&#xff0c;哪些应该被忽略。这对于复杂的应用…

【开发工具】gitee还不用会?我直接拿捏 >_>

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 git的一些前置操作 如何获取本地仓库 本地仓库的操作 远程仓库操作 合并两个仓库&#xff08;通用方法&#xff09; 从远程仓库拉取文件报错 fatal:refusing to merge unrelated histories 分支操作 注意&…

MHA实验和架构

什么是MHA&#xff1f; masterhight availabulity&#xff1a;基于主库的高可用环境下可以实现主从复制、故障切换 MHA的主从架构最少要一主两从 MHA的出现是为了解决MySQL的单点故障问题。一旦主库崩溃&#xff0c;MHA可以在0-30秒内自动完成故障切换。 MHA的数据流向和工…