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

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 网站。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【图论】最小生成树(python和cpp)

文章目录 一、声明二、简介三、代码C代码Python代码 一、声明 本帖持续更新中如有纰漏望指正&#xff01; 二、简介 &#xff08;a&#xff09;点云建立的k近邻图&#xff08;b&#xff09;k近邻图上建立的最小生成树 最小生成树 (Minimum Spanning Tree&#xff0c;简称 M…

使用Tauri开发桌面应用

本文是对视频 Tauri入门教程[1]的学习与记录 Tauri官网[2] 对 node版本有要求 创建项目及目录介绍: 项目的目录结构如下 可以安装推荐的插件 执行npm run tauri build出错,根据 https://github.com/tauri-apps/tauri/issues/7430 执行 yarn add -D tauri-apps/cli && y…

缺陷预测(一)——论文复现

运行CGCN文件 问题一&#xff1a;CNN输入维度的问题出现的问题解决问题原因 问题二&#xff1a;mix时&#xff0c;输入的train_in和train_gen.inputs数据格式不一致出现的问题解决问题 最终结果 问题一&#xff1a;CNN输入维度的问题 出现的问题 数据集改好之后&#xff0c;出…

Python Flask: 构建轻量级、灵活的Web应用

大家好&#xff0c;我是涛哥&#xff0c;今天为大家分享 Python Web开发框架 Flask&#xff0c;文章3400字&#xff0c;阅读大约15分钟&#xff0c;大家enjoy~~ Flask是一个流行的Python Web框架&#xff0c;以其轻量级、灵活和易学的特性受到开发者的喜爱。本文将深入探讨Flas…

微服务简单理解与快速搭建

分布式和微服务 含义 微服务架构 微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法&#xff0c;每个服务运行在自己的进程中&#xff0c;服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服…

C语言进阶之指针(2)

✨ 猪巴戒&#xff1a;个人主页✨ 所属专栏&#xff1a;《C语言进阶》 &#x1f388;跟着猪巴戒&#xff0c;一起学习C语言&#x1f388; 目录 前情回顾 1.数组参数&#xff0c;指针参数 1.1一维数组传参 1.2二维数组传参 1.3一级指针传参 1.4二级指针传参 思考&#xf…

算法萌新闯力扣:同构字符串

力扣题&#xff1a;同构字符串 开篇 对于字符串相关的题目&#xff0c;哈希表经常会使用到&#xff0c;这道题更是如此&#xff0c;还用到了两个哈希表。拿下它&#xff0c;你对字符串题目的理解就会更上一层楼。 题目链接:205.同构字符串 题目描述 代码思路 看完题目后&a…

Django实战项目-学习任务系统-任务完成率统计

接着上期代码内容&#xff0c;继续完善优化系统功能。 本次增加任务完成率统计功能&#xff0c;为更好的了解哪些任务完成率高&#xff0c;哪些任务完成率低。 该功能完成后&#xff0c;学习任务系统1.0版本就基本完成了。 1&#xff0c;编辑urls配置文件&#xff1a; ./mysi…

原论文一比一复现 | 更换 RT-DETR 主干网络为 【ResNet-50】【ResNet-101】【ResNet-152】| 对比实验必备

本专栏内容均为博主独家全网首发,未经授权,任何形式的复制、转载、洗稿或传播行为均属违法侵权行为,一经发现将采取法律手段维护合法权益。我们对所有未经授权传播行为保留追究责任的权利。请尊重原创,支持创作者的努力,共同维护网络知识产权。 更深层的神经网络更难训练。…

香港科技大学广州|机器人与自主系统学域博士招生宣讲会—电子科技大学专场!!!(暨全额奖学金政策)

在机器人和自主系统领域实现全球卓越—机器人与自主系统学域 硬核科研实验室&#xff0c;浓厚创新产学研氛围&#xff01; 教授亲临现场&#xff0c;面对面答疑解惑助攻申请&#xff01; 一经录取&#xff0c;享全额奖学金1.5万/月&#xff01; &#x1f559;时间&#xff1a;…

基于谐波参数空间的卷积神经网络自动三维牙齿分割

论文连接&#xff1a;https://www.sciencedirect.com/science/article/abs/pii/S1524070320300151 机构&#xff1a; a英国卡迪夫大学计算机科学与信息学院 b中国科学院大学北京 c中国科学院计算技术研究所北京 d深圳大数据研究院&#xff0c;深圳518172 代码链接&#x…

4路光栅尺磁栅尺编码器解码转换5MHz高速差分信号转Modbus TCP网络模块 YL97-RJ45

特点&#xff1a; ● 光栅尺磁栅尺解码转换成标准Modbus TCP协议 ● 光栅尺5V差分信号直接输入&#xff0c;4倍频计数 ● 模块可以输出5V的电源给光栅尺供电 ● 高速光栅尺磁栅尺计数&#xff0c;频率可达5MHz ● 支持4个光栅尺同时计数&#xff0c;可识别正反转 ● 可网…

Looking for downloadable pre-built shared indexes关闭

这个功能很烦,把他关闭就行了 PyCharm的“Looking for downloadable pre-built shared indexes”是指PyCharm IDE中的一个功能&#xff0c;用于搜索和下载可共享的预构建索引。 这个功能的主要用途是帮助开发人员在开发过程中快速地获取和使用预构建的索引&#xff0c;以提高…

算法笔记-第七章-链表(未完成)

算法笔记-第七章-链表 链表的遍历链表结点的个数链表的头插法!链表删除元素链表反转例题思路一:原地反转思路二:头插法链表去除重复元素(有些复杂了)思路题目一题目二链表的遍历 #include<cstdio> const int N = 100; struct Node {int data, next;//表示的是当前数据和…

基于K7的PXIPXIe数据处理板(Kintex-7 FMC载板)

基于PXI&PXIe总线架构的高性能数据预处理FMC 载板&#xff0c;板卡具有 1 个 FMC&#xff08;HPC&#xff09;接口&#xff0c;1 个 X8 PCIe 和1个PCI主机接口&#xff1b;板卡采用 Xilinx 的高性能 Kintex-7 系列 FPGA 作为实时处理器&#xff0c;实现 FMC 接口数据的采集…

网络安全-学习手册

前言 前几天发布了一篇 网络安全&#xff08;黑客&#xff09;自学 没想到收到了许多人的私信想要学习网安黑客技术&#xff01;却不知道从哪里开始学起&#xff01;怎么学 今天给大家分享一下&#xff0c;很多人上来就说想学习黑客&#xff0c;但是连方向都没搞清楚就开始学习…

【postgresql】CentOS7 安装Pgweb

Pgweb Pgweb是PostgreSQL的一个基于web的数据库浏览器&#xff0c;用Go编写&#xff0c;可在Mac、Linux和Windows机器上运行。以零依赖性的简单二进制形式分布。非常易于使用&#xff0c;并具有适当数量的功能。简单的基于web和跨平台的PostgreSQL数据库浏览器。 特点 跨平台…

ubuntu22.04 x86环境上使用QEMU搭建arm虚拟机

1、安装qemu及相关依赖 apt-get -y install qemu apt-get -y install bridge-utils apt-get -y install vnc4server apt-get -y install qemu-kvm apt install -y qemu-system-arm apt-get -y install libvirt0 apt-get -y install libvirt-daemon apt-get -y install l…

Maya动画怎么云渲染?如何避免渲染出错?100%解决方案在这!

1.为什么Maya要使用云渲染&#xff1f; Autodesk Maya是一款3D动画和视觉效果软件&#xff0c;在影视、游戏和广告等各个领域中得到了广泛应用。许多知名的动画制作公司和工作室都使用Maya来制作角色动画和特效。然而&#xff0c;随着视觉效果的不断提升&#xff0c;渲染工作量…

​如何解决SSD NAND Path冲突导致的性能问题?

1.引言 最近看到一篇关于SSD的NAND并发瓶颈相关的论文&#xff0c;思路非常好&#xff0c;这里分享给大家。本篇论文的解读&#xff0c;也是小编上周末在高铁上完成的。存储随笔的论文解读&#xff0c;不是直接翻译&#xff0c;是小编先研读一遍后&#xff0c;再结合自己的理解…