ReadAgent,一款具有要点记忆的人工智能阅读代理

人工智能咨询培训老师叶梓 转载标明出处

现有的大模型(LLMs)在处理长文本时受限于固定的最大上下文长度,并且当输入文本越来越长时,性能往往会下降,即使在没有超出明确上下文窗口的情况下,LLMs 的性能也会随着输入文本长度的增加而下降。为了克服这些限制,Google DeepMind 和 Google Research 的研究团队提出了一种新颖的解决方案——ReadAgent,一种能够显著扩展上下文理解能力的人工智能阅读代理

ReadAgent 的设计理念受到人类如何互动阅读长文档的启发。人类在阅读时往往会快速忘记具体信息,而对大意或主旨(gist)的记忆则更为持久。此外,人类的阅读是一个互动过程,当我们需要提醒自己完成任务(例如回答问题)的相关细节时,我们会回顾原文。基于这些观察,ReadAgent 通过三个主要步骤来模拟人类的阅读过程:分段(episode pagination)、要点压缩(memory gisting)和交互式查找(interactive look-up)。

在实验评估中,ReadAgent 在 QuALITY、NarrativeQA 和 QMSum 三个长文档阅读理解任务上的表现超越了基线方法。特别是在 NarrativeQA Gutenberg 测试集上,ReadAgent 将 LLM 的评分提高了 12.97%,ROUGE-L 提高了 31.98%,并将有效上下文长度增加了约 20 倍。

ReadAgent介绍

ReadAgent的工作流程,包括分页、主旨压缩和交互式查找

Figure 1 展示了 ReadAgent 的工作流程,这是一个模仿人类阅读习惯设计的系统,旨在有效处理和理解长文本。ReadAgent 通过三个主要步骤来实现这一目标:

  1. 分页(Episode Pagination):系统将长文本分解为一系列较小的、逻辑上连贯的文本块,即“剧集”,类似于将一本书分成多个章节。

  2. 要点压缩(Gisting):对每个文本块进行压缩,提取其核心要点,形成简洁的要点记忆,这有助于快速把握文本的主旨。

  3. 交互式查找(Interactive Look-Up):在需要详细回顾特定信息时,系统会根据任务需求和已有的要点记忆,选择性地查看原始文本的相关部分,以获取更详尽的细节。

在 ReadAgent 系统中,要点记忆(Gist Memory)扮演着至关重要的角色。它的核心思想是将长篇文本的信息压缩成易于管理和理解的要点集合。这种压缩不仅减少了处理文本所需的工作量,而且使得关键信息更加突出,便于后续的查找和使用。

构建要点记忆的过程涉及两个主要步骤:

  1. 分页(Pagination):这一步骤中,ReadAgent 将长文本分解为一系列的文本块,这些文本块被称为“剧集”或“页”。通过提示(prompting)大型语言模型(LLM),ReadAgent 决定在文本的自然断点处进行分页,如场景转换、对话结束或叙述的逻辑分界点。这种方法模仿了人类在阅读时自然停顿的习惯,有助于将文本组织成更易于处理的部分。

  2. 记忆要点化(Memory Gisting):在分页完成后,ReadAgent 对每一页的内容进行压缩,提取出关键信息并形成要点。这个过程类似于人类在阅读后对文本主旨的记忆,强调了文本的核心内容而非具体细节。通过这种方式,ReadAgent 能够将每一页的文本转化为简短、精炼的要点,便于存储和快速回顾。

示例分页提示

并行和顺序交互式查找是 ReadAgent 系统的另一个关键特性。这一功能使得 ReadAgent 能够在需要时,查找原始文本中的相关细节,从而补充和丰富其要点记忆。

并行查找(Parallel Look-Up):在这种模式下,ReadAgent 可以同时请求查看多个页面或文本块。这种方法允许模型快速获取广泛的上下文信息,适合于需要同时考虑多个信息源的任务。

顺序查找(Sequential Look-Up):与并行查找不同,顺序查找是一种逐步的过程,ReadAgent 一次只请求查看一个页面或文本块,并在查看前一个页面后再决定查看下一个页面。这种方法更适合于需要深入理解文本发展脉络的任务。

用于指导并行查找(Parallel Look-Up)的示例提示

计算开销和可扩展性是两个核心考量因素。尽管 ReadAgent 依赖于迭代推理,但设计上确保了这种推理的计算成本是可控的,并且随着处理文本长度的增加,系统能够良好地扩展。

分页(Pagination)是 ReadAgent 处理长文本的第一步。理想情况下,一个大型语言模型(LLM)可以一次性阅读整个文档并进行分页。然而,ReadAgent 采用了一种算法,将文档分解为长度不超过 max_words 的块,并确保每个处理步骤至少处理 min_words 的文本。这种方法不仅提高了处理效率,而且使得 LLM 在面对长文档时的计算负担变得可管理。

要点压缩(Gisting)是随后的一个步骤,它涉及将每一页的文本压缩成更简洁的要点。这种压缩是对原始文本的额外处理,但与处理完整文本相比,它显著减少了需要处理的信息量。这种方法使得并行查找可以基于要点而不是完整的文本,从而减少了处理时间。

在响应(Response)阶段,模型生成最终答案的过程类似于并行查找。尽管提示模板可能会增加一些额外的计算开销,但这种方法允许模型在生成答案时更加精确和高效。

ReadAgent 变体提供了不同的配置选项,以适应不同的应用场景。这包括无条件 ReadAgent 和条件 ReadAgent。

无条件 ReadAgent:在这种设置中,要点压缩时不包含特定任务的描述。这种方法适用于任务未知或要点需要用于多个任务的情况。虽然这可能会牺牲一些压缩率,并增加一些干扰信息,但它确保了生成的要点具有更广泛的适用性。

条件 ReadAgent:当任务在阅读长文档之前已知时,可以在要点压缩步骤中包含任务描述。这种方法使得 LLM 能够更有效地压缩与任务无关的信息,从而提高效率并减少干扰。

通过这些设计,ReadAgent 能够灵活地适应不同的任务需求,同时保持计算效率和可扩展性。这种方法不仅提高了处理长文本的能力,还使得系统在面对不断变化的任务和文档长度时,能够持续提供高质量的服务。

实验

作者采用了两种自动评估方法,旨在模拟人类评估者对模型生成答案的评判。这两种方法分别是严格的 LLM Rater 和宽容的 LLM Rater。

严格的 LLM Rater

这种方法要求模型生成的答案与参考答案完全一致,才能被判定为正确。评估时,模型会接收到一个提示,提示中包含了问题和模型的答案,然后模型需要判断这个答案是否与参考答案完全匹配。例如,如果问题要求解释某个概念,而模型生成的答案与专家提供的参考答案完全一致,那么这个答案就会被严格 LLM Rater 判定为正确。

宽容的 LLM Rater

与严格 LLM Rater 不同,宽容的 LLM Rater 允许一定程度的偏差。即便模型生成的答案不完全与参考答案一致,只要答案中包含正确的关键信息或部分匹配,也会被判定为正确或部分正确。这种方法更加灵活,允许模型在理解问题的基础上,提供与参考答案不同的但仍然合理的回答。

在比较 ReadAgent 与其他基线方法时,作者考虑了几种不同的方法:

Retrieval-Augmented Generation (RAG):这种方法结合了检索和生成,通过检索长文本中相关的“页面”或文本片段,然后将这些片段作为上下文,辅助生成答案。这种方法的优势在于能够利用大量文本信息来辅助回答,但可能在整合信息时面临挑战。

Full or Truncated Text Content:在这种方法中,模型直接使用完整的或截断的原始文本作为上下文来生成答案。这种方法简单直接,但可能会因为文本过长而导致模型难以捕捉到所有相关信息。

Gist Memory:这种方法利用压缩后的要点记忆来回答问题。通过将长文本压缩成简短的要点,模型能够更快速地理解和回应问题,但可能会丢失一些细节信息。

在QuALITY数据集上,使用不同方法(包括BM25检索、神经检索、完整原始内容、主旨记忆和ReadAgent不同变体)的实验结果

作者探讨了 ReadAgent 在处理长文本阅读理解任务时的表现,特别是在 QuALITY、NarrativeQA 和 QMSum 三个不同的数据集上。这些数据集提供了多样化的挑战,涉及不同长度和类型的文本,从而全面评估 ReadAgent 的能力。

QuALITY 数据集

QuALITY 挑战是一个典型的多项选择题问答任务,要求模型从四个选项中选择正确答案。在这项任务中,ReadAgent 的表现通过准确性来衡量。

作者特别关注了压缩率(CR)和查找次数(LU)对 ReadAgent 性能的影响。压缩率衡量了文本在压缩成要点记忆后保留信息的能力,而查找次数则反映了模型在回答问题时需要回顾的原始文本量。

实验结果显示,ReadAgent 在压缩文本的同时,能够有效地查找相关信息,从而在保持高准确性的同时减少了对原始文本的依赖。

QuALITY数据集中原始文本和压缩后的主旨(gist)的字数统计

NarrativeQA 数据集

NarrativeQA 包含了书籍和电影剧本,文本长度更长,上下文更复杂。这个数据集对模型的理解和推理能力提出了更高的要求。

作者使用 ROUGE 分数和 LLM Ratings 来评估 ReadAgent 的表现。ROUGE 分数衡量了模型生成的文本与参考答案的相似度,而 LLM Ratings 则通过模型自身来评估答案的质量。

在 NarrativeQA 上,不同压缩率和查找策略对 ReadAgent 的表现有显著影响。作者发现,适当的压缩和有效的查找策略可以提高模型在长文本任务中的表现。

NarrativeQA数据集的实验结果

QMSum 数据集

QMSum 由会议记录组成,任务通常是生成摘要而非回答具体问题。这要求模型不仅要理解文本,还要能够提炼关键信息。

与 QuALITY 和 NarrativeQA 不同,QMSum 更注重模型的摘要生成能力。作者通过 ROUGE 分数和 LLM Ratings 来评估 ReadAgent 在生成摘要方面的表现。

实验结果表明,ReadAgent 能够有效地处理长文本,并生成高质量的摘要,同时通过不同的查找策略来优化其表现。

QMSum数据集的验证结果

在消融研究中,作者进一步分析了 ReadAgent 不同组件对整体性能的贡献。特别是,他们比较了使用 GistMem 结合神经检索与使用 ReadAgent 查找单页的效果。

研究发现,ReadAgent 的检索策略在准确性上优于传统的 GistMem 结合神经检索方法。这表明 ReadAgent 在处理长文本时,能够更有效地利用压缩后的要点记忆和原始文本,从而提高任务完成的准确性。

比较了使用GistMem结合神经检索与ReadAgent检索单页的性能

ReadAgent 的成功展示了通过模仿人类的阅读和记忆策略,可以显著提升 AI 在处理长文本时的能力。这项工作不仅为长文本理解提供了新的解决方案,也为未来 AI 的发展开辟了新的可能性。

论文链接:https://arxiv.org/abs/2402.09727


http://www.ppmy.cn/news/1516887.html

相关文章

Python爬虫技术终端协议分析与抓包应用

内容导读 分析PC客户端抓包 分析App客户端抓包 一、分析PC客户端抓包 以爬取某音乐PC客户端为例,实现网页内容爬取与分析。 任务描述: 终端协议是网络上设备之间通信规则的集合,通过终端协议可以获取PC客户端和App客户端数据。常用的PC…

Node.js中的pipe方法:深入解析与应用指南

在Node.js中,pipe方法是处理流(Stream)数据的一种非常高效的方式。它允许你将一个可读流(Readable Stream)的数据直接传输到一个可写流(Writable Stream)中,而无需手动编写读取和写入…

React 实现请求接口封装

接口封装 一、正常接口请求 useEffect(()>{//获取下拉数据async function fetchDateWrapper() {try{const res await 接口();console.log("res",res.data);const value res.data.map(item {return { label: item.valueName,value:valueCode }});setData(value…

大数据5v特性、集群、分布式

目录 数据分析六部曲 大数据的特点 (5v特征) 分布式与集群的区别 常用的分布式方案 数据分析六部曲 明确分析目的和思路:确保分析框架的体系化和逻辑性,简单来说就是先分析什么,后分析什么,使得各个分析…

PHPShort轻量级网址缩短程序源码开心版,内含汉化包

需要网址缩短并且想获得更多有关链接点击率和流量的数据分析,那么 PHPShort 可能是一个非常好的选择。PHPShort 是一款高级的 URL 缩短器平台,可以帮助你轻松地缩短链接,并根据受众群体的位置或平台来定位受众。 该程序基于 Laravel 框架编写…

不同应用场景对于HDR ISP的需求

文章目录 HDR ISP HDR ISP 需求方面应用场景具体需求动态范围宽度安全监控系统需要非常宽的动态范围,以应对高对比度场景,如强光直射、夜间监控等,确保在极端光照条件下获取清晰图像。汽车辅助驾驶系统(ADAS)要求动态…

Java学习Day33:HTML 第三章:挟魂崖

1.js的DOM介绍 JavaScript中,dom是一套操作文档内容的方法,可以完成查、增、删、改(先删后增)的操作。而且dom的开发效率很高,还可以用于服务器渲染、weex 开发等。本文向大家介绍JavaScript中的dom。 1、什么是dom&am…

二叉搜索树:数据结构之美

目录 引言基础知识 定义性质操作详解 插入节点删除节点查找节点遍历 前序遍历中序遍历后序遍历高级主题 平衡问题AVL树简介应用案例总结 引言 二叉搜索树(Binary Search Tree, BST)是一种特殊的二叉树,它的每个节点具有以下性质:左子树上的所有节点的键…

Android开发语言Kotlin简介

官方认可:自 2017 年 Google 正式宣布 Kotlin 成为 Android 开发的官方语言后,它在 Android 开发中的流行度就有了显著提升。 与 Java 的兼容性:Kotlin 在设计时就考虑到了与 Java 的互操作性,这让开发者能够在 Android 项目中轻…

Postman接口自动化测试:从入门到实践!

前言 在软件开发过程中,接口测试是确保软件各组件之间正确交互的关键环节。Postman作为一款强大的API开发工具,不仅支持接口请求的发送与调试,还提供了丰富的自动化测试功能,使得接口自动化测试变得更加高效和便捷。本文将从Post…

机器人走路问题优化解法

public class Test53 {//假设有N个位置,记为1-N,N大于或等于2//开始机器人在M位置上(M为1-N中的一个)//如果机器人来到1位置,那么下一步只能向右来到2位置//如果机器人来到N位置,那么下一步只能向左来到N-1…

【算法题】找到任意一个峰值数字 要求时间复杂度为logn

在数组中找到一个峰值数字,‌其中峰值定义为比其相邻元素大的元素,‌可以使用二分查找算法来实现时间复杂度为O(log n)。‌ 以下是一个Java示例,‌演示如何在一个整数数组中找到任意一个峰值数字:‌ public class PeakFinder {p…

读取FTP中不同文件格式的文件流后导出到浏览器

序言 有一个新的需求&#xff0c;前端提供下载的入口&#xff0c;后端能将指定了全路径的各种文件格式的文件下载到浏览器。 对于压缩的zip文件格式需要解析后写入到txt文件格式的文件中&#xff0c;其他的写入原本的文件格式的文件中。 1、连接ftp <!-- jsch-sftp连接…

项目策划书六度自由双足机器人

一、项目的简要介绍 双足机器人的机构是所有部件的载体,也是设计双足机器人最基本的和首要的工作。本文根据项目规划和控制任务要求&#xff0c;按照从总体到部分、由主到次的原则&#xff0c;设计了一种适合仿人双足机器人控制的机构.文章首先从机构的设计目标出发&#xff0c…

【通俗理解】混合专家模型中的导诊与流程处理

【通俗理解】混合专家模型中的导诊与流程处理 关键词提炼 #混合专家模型 #导诊系统 #流程处理 #router #expert #token处理 第一节&#xff1a;混合专家模型中的导诊与流程处理类比 1.1 导诊与流程处理的类比 在混合专家模型中&#xff0c;导诊系统&#xff08;router&…

Android12 显示框架之Transaction----server端

目录&#xff1a;Android显示终极宝典 上篇讲完了在client端Transaction的内容&#xff0c;最后调用setTransactionState()把所有的参数都交给了surfaceflinger&#xff0c;那么任务就交给server来完成了。本节我们一起接着看看下面的内容。 setTransactionState() //framew…

学懂C++(四十五 ):深入详解C++ STL 容器:从基础到进阶

目录 1. 向量&#xff08;Vector&#xff09; 概念 特点 核心点 实现 适用场景 代码解析 2. 双端队列&#xff08;Deque&#xff09; 概念 特点 核心点 实现 适用场景 代码解析 3. 列表&#xff08;List&#xff09; 概念 特点 核心点 实现 适用场景 代码…

大模型备案重难点最详细说明【评估测试题+附件】

2024年3月1日&#xff0c;我国通过了《生成式人工智能服务安全基本要求》&#xff08;以下简称《AIGC安全要求》&#xff09;&#xff0c;这是目前我国第一部有关AIGC服务安全性方面的技术性指导文件&#xff0c;对语料安全、模型安全、安全措施、词库/题库要求、安全评估等方面…

设计模式(二):工厂模式

一&#xff0c;什么是工厂模式 工厂模式&#xff08;Factory Pattern&#xff09; 是一种创建型设计模式&#xff0c;它定义了一个用于创建对象的接口&#xff0c;而不需要显式地指定对象所属的具体类。换句话说&#xff0c;工厂模式将对象的实例化过程延迟到子类或其他工厂方…

【论文阅读】NGD-SLAM: Towards Real-Time SLAM for Dynamic Environments without GPU

arxiv上一篇很新的视觉SLAM论文&#xff0c;能够在不使用GPU的情况下进行语义分割的辅助运算。 一、跟踪流程 作为一个语义结合的视觉SLAM&#xff0c;其基本的思路和以前看过的DynaSLAM基本类似&#xff0c;都是依赖语义分割模型对场景中动态的特征点进行剔除&#xff0c;这…