阿里发布大模型发布图结构长文本处理智能体,超越GPT-4-128k

随着大语言模型的发展,处理长文本的能力成为了一个重要挑战。虽然有许多方法试图解决这个问题,但都存在不同程度的局限性。最近,阿里巴巴的研究团队提出了一个名为GraphReader的新方法,通过将长文本组织成图结构,并利用智能体来探索这个图,成功提升了模型处理长文本的能力。

GraphReader的核心思想是将长文本分解成关键元素和原子事实,构建成一个图,然后让智能体在这个图中探索和推理。这种方法不仅能有效处理超长文本,还在多跳问答等复杂任务上取得了优异表现。与目前主流的长文本处理方法相比,GraphReader展现出更强的扩展性和鲁棒性。

这个创新方法为大语言模型处理长文本开辟了新的思路,有望在各种需要长文本理解的应用场景中发挥重要作用。接下来,让我们一起深入了解GraphReader的原理和优势。

图片

论文标题:

GraphReader: Building Graph-based Agent to Enhance Long-Context Abilities of Large Language Models

论文链接:

https://arxiv.org/pdf/2406.14550

长文本处理的机遇与挑战

随着人工智能技术的快速发展,大语言模型在各种自然语言处理任务中展现出惊人的能力。然而,处理长文本仍然是一个棘手的问题。现有的方法往往受限于固定的上下文窗口大小,难以有效处理超长文本或需要多步推理的复杂任务。

目前,解决长文本处理问题的方法主要包括模型层面的优化、检索增强生成(RAG)和基于智能体的方法。但这些方法都存在各自的局限性,如需要大量计算资源、难以捕捉长距离依赖关系,或在处理极长文本时效果下降。

面对这些挑战,阿里巴巴的研究团队提出了GraphReader方法。GraphReader通过将长文本组织成图结构,并利用智能体在图中探索,成功提升了模型处理长文本的能力。在LV-Eval数据集上,GraphReader在各种长度的文本(从16k到256k tokens)上都显著优于其他方法,包括GPT-4-128k。特别是在处理256k tokens长度的文本时,GraphReader仍然保持了较高的性能,而其他方法的性能则大幅下降。

图片

GraphReader为长文本处理提供了创新思路,通过智能组织信息和探索策略,有效突破了传统方法的限制。它不仅能处理超长文本,还在复杂的多跳问答任务中表现出色,为大模型处理长文本提供了一种新的方法。

GraphReader:图结构与智能体的完美结合

GraphReader方法的核心在于将长文本转化为图结构,并通过智能体在图中进行探索。GraphReader整体的流程如下图所示,整体可以分为图构建与图探索:

图片

这个过程始于图的构建。首先将长文本分割成最大长度为  的块,保留段落结构。对每个块,GraphReader提取原子事实和关键元素。

  • 原子事实是最小的、不可分割的事实单元,以简洁的句子形式呈现。

  • 关键元素则包括重要的名词、动词和形容词。

图片

构建完图后,GraphReader初始化智能体来探索这个图。

图片

  1. 智能体首先根据问题制定一个理性计划,这个计划会分步骤解析问题,确定需要收集的关键信息。

  2. 然后,智能体从所有节点中选择最相关的N个节点作为起点。

下图展示了智能体的探索过程,它会探索原子事实、文本块和相邻节点,不断更新笔记本中的信息。这个过程通过一系列预定义的函数来实现,如 read_chunkstop_and_read_neighborsearch_more 等。

图片

在探索过程中,智能体采用粗到细的策略,先阅读原子事实,再根据需要阅读原始文本块。当智能体探索原子事实时,它可以选择 read_chunk 函数来读取相关的文本块,或者选择 stop_and_read_neighbor 函数来探索相邻节点。

最后,GraphReader根据笔记本中记录的信息进行推理,生成最终的答案。这个过程结合了多路径探索的结果,能够处理复杂的多跳问题。智能体会分析每条探索路径的笔记本内容,考虑其他笔记中的补充信息,并使用多数投票策略解决任何不一致,最终综合所有可用信息生成答案。

图片

通过这种方法,GraphReader能够在有限的上下文窗口内灵活地处理长文本和复杂推理任务。它不仅能有效捕捉长距离依赖关系,还能在多跳问答等任务上展现出优异的性能。

GraphReader的长文本处理结果

GraphReader在多个实验中展现出了卓越的性能,证明了它在处理长文本和复杂推理任务方面的强大能力。

首先,在多跳问答任务上,GraphReader表现出色。在HotpotQA、2WikiMultihopQA和MuSiQue这三个数据集上,GraphReader均取得了最佳性能。特别值得注意的是,GraphReader仅使用4k的上下文窗口,就超越了包括GPT-4-128k在内的所有基线方法。例如,在HotpotQA数据集上,GraphReader的LR-1和LR-2评分分别达到84.3%和89.7%,而GPT-4-128k的评分为83.3%和88.3%。这一结果充分证明了GraphReader在处理复杂推理任务时的优势。

图片

在单跳长文本问答任务上,GraphReader同样表现优异。在NarrativeQA数据集上,GraphReader的LR-1和LR-2评分分别为65.0%和80.0%,显著高于其他方法。这证明了GraphReader不仅在多跳任务上有优势,在处理长文本的单跳问题上也表现出色。

GraphReader在超长文本处理上展现出较好的表现。在HotpotWikiQA-mixup数据集上,GraphReader在从16k到256k不同长度的文本上都保持了优异的性能。特别是在256k长度的文本上,GraphReader的LR-1和LR-2评分分别为30.0%和38.0%,而GPT-4-128k的评分仅为14.0%和16.0%。

图片

下图进一步展示了GraphReader在不同文本长度下的支持事实召回率。可以看到,随着文本长度的增加,所有方法的召回率都有所下降,但GraphReader的下降幅度最小。在256k长度的文本上,GraphReader仍然保持约60%的召回率,而其他方法的召回率大幅下降。

图片

为了深入理解GraphReader的工作机制,研究团队还进行了详细的功能调用分析和图结构统计。在不同类型的任务中,GraphReader会采用不同的功能调用模式。例如,在多跳问答任务中,读取相邻节点是最常用的操作,而在单跳问答任务中,读取文本块是最频繁的操作。这种灵活的调用策略使GraphReader能够适应不同类型的问题。

图片

下表展示了构建的图结构统计数据。可以看到,随着文本长度的增加,图中的节点数和原子事实数也相应增加。平均每个节点有约10个相邻节点,每个节点平均关联2个原子事实。这种结构使得GraphReader能够有效地组织和利用长文本中的信息。

图片

总的来说,这些实验结果充分证明了GraphReader在处理长文本和复杂推理任务方面的卓越能力。它不仅在各种长度的文本上都表现出色,而且在多跳和单跳问答任务中都展现出了显著的优势。GraphReader的这种"魔法"般的表现,为长文本处理领域带来了新的可能性。

GraphReader的潜力与未来方向

GraphReader为长文本处理开辟了一条创新之路。通过将长文本组织成图结构,并利用智能体进行探索,它成功突破了传统方法的限制。实验结果表明,GraphReader不仅能处理超长文本,还在复杂的多跳问答任务上表现出色,甚至超越了GPT-4-128k等强大模型。

尽管取得了显著成果,GraphReader仍有进一步改进的空间。未来的研究方向可以包括:优化图的构建和探索过程以提高效率;验证GraphReader在其他长文本处理任务中的效果;探索与其他先进自然语言处理技术的结合;以及开发开源版本以促进更广泛的应用和改进。

总的来说,GraphReader为解决长文本处理这一关键挑战提供了一个有前景的解决方案。随着进一步的研究和优化,它有望在各种需要长文本理解的应用场景中发挥重要作用,推动自然语言处理技术的进一步发展。

图片

图片

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

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

相关文章

2,区块链、数字货币及其应用场景(react+区块链实战)

2,区块链、数字货币及其应用场景(react区块链实战) 一、什么是区块链?1 ibloackchain(1)安装ibloackchain(2)Blance查询余额(3)Mine挖矿(4&#x…

JavaScript中的拷贝技术探秘:浅拷贝与深拷贝的奥秘

最新技术资源(建议收藏) https://www.grapecity.com.cn/resources/ 前言 JavaScript中的浅拷贝和深拷贝是非常重要的概念,它们在处理对象和数组时具有不同的作用。在编程中,经常需要复制数据以便进行各种操作,但必须注…

小波与傅里叶变换的对比(Python)

直接上代码,理论可以去知乎看。 #Import necessary libraries %matplotlib inline import numpy as np import matplotlib.pyplot as plt import seaborn as snsimport pywt from scipy.ndimage import gaussian_filter1d from scipy.signal import chirp import m…

基于 sftp 的 NAS (局域网文件存储服务器)

局域网 NAS (文件存储服务器) 的基本功能有: 能够存储文件, 同时能够通过多个设备访问 (上传/下载) 文件. 这些功能通过 sftp 可以实现. sftp 是基于 SSH 的文件传输协议, SSH 全程加密传输, 使用 公钥 认证 (不使用密码/口令), 能够提供很高的安全性. 上文说到, 在 LVM 和 bt…

谷粒商城-个人笔记(集群部署篇三)

前言 ​学习视频:​Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强​学习文档: 谷粒商城-个人笔记(基础篇一)谷粒商城-个人笔记(基础篇二)谷粒商城-个人笔记(基础篇三)谷粒商城-个人笔记(高级篇一)谷粒商城-个…

古建筑倾斜在线监测系统:科技守护历史的创新实践

​ ​​在文化遗产保护的广阔领域中,古建筑的健康监测占据着举足轻重的地位。然而,传统的监测方法往往受限于布线复杂、安装难度大以及对古建筑本体可能造成的伤害等问题。近年来,一种新型的古建筑倾斜在线监测系统应运而生,它…

Halcon 模糊圆边的找圆案例

Halcon 模糊圆边的找圆案例 基本思路 1.将图像转成灰度图像 2.再观察要找到的区域的灰度值变化,找到前景与背景的具体数值。 3.根据找到的前景与背景的具体数值,增强图像对比度。(使图像变成黑白图片) 4.使用灰度直图工具进行阈值…

用Vue3和Plotly.js绘制交互式3D散点图

本文由ScriptEcho平台提供技术支持 项目地址:传送门 使用 Plotly.js 创建 2D 密度图 应用场景介绍 密度图是一种可视化数据分布的图表,它显示了数据点的密度在不同区域的变化情况。在许多科学和工程领域中,密度图被广泛用于探索和分析数据…

5G(NR) NTN 卫星组网架构

5G(NR) NTN 卫星组网架构 参考 3GPP TR 38.821 5G NTN 技术适用于高轨、低轨等多种星座部署场景,是实现星地网络融合发展的可行技术路线。5G NTN 网络分为用户段、空间段和地面段三部分。其中用户段由各种用户终端组成,包括手持、便携站、嵌入式终端、车…

git撤销/返回到某次提交(idea工具 + gitbush)

不多说废话,直接展示使用。 方法一:使用idea工具进行返回 准备某次过度提交 使用idea打开git log 找到要回去的版本 点击右键选到reset 模式选hard,强制回滚 这个时候本地代码已经回归你指定的版本了。 这个时候再进行强制推送&#xff0c…

Drools开源业务规则引擎(三)- 事件模型(Event Model)

文章目录 Drools开源业务规则引擎(三)- 事件模型(Event Model)1.org.kie.api.event2.RuleRuntimeEventManager3.RuleRuntimeEventListener接口说明示例规则文件规则执行日志输出 4.AgentaEventListener接口说明示例监听器实现类My…

09 docker 安装tomcat 详解

目录 一、安装tomcat 1. tomcat镜像的获取 2. docker创建容器实列 3. 访问测试 404错误 4. 解决方案 5. 使用免修改版容器镜像 5.1. 运行实列的创建 5.2. 出现问题及解决: 6. 验证 OK 一、安装tomcat 1. tomcat镜像的获取 docker search tomcat #docker …

SCI二区TOP|蜘蛛黄蜂优化算法(SWO)原理及实现【免费获取Matlab代码】

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2023年,M Abdel-Basset受到蜘蛛黄蜂优化社会行为启发,提出了蜘蛛黄蜂优化算法(Spider Wasp Optimizer, SWO)。 2.算法原理 2.1算法思想 S…

视频监控技术在食品安全监管中的关键应用

视频监控技术在食品安全监管中的关键应用 1、视频监控技术在食品安全监管中的作用 在食品安全监管中,视频监控技术发挥着不可替代的作用。通过安装视频监控系统,可以实现对食品生产、运输、储存等各个环节的实时监控和录像存储。这不仅有助于监管部门及…

Linux的前世今生

Unix的起源和发展 1969年,AT&T贝尔实验室的Ken Thompson和Dennis Ritchie等人开发了Unix操作系统。Unix的设计理念强调小而简洁的工具,文本流和系统模块化,这些理念后来成为Linux开发的重要基础。1973年,Unix用C语言重新编写…

深度学习-数学基础(四)

深度学习数学基础 数学基础线性代数-标量和向量线性代数-向量运算向量加和向量内积向量夹角余弦值 线性代数-矩阵矩阵加法矩阵乘法矩阵点乘矩阵计算的其他内容 人工智能-矩阵的操作矩阵转置(transpose)矩阵与向量的转化 线性代数-张量(tensor…

卷技术还是卷应用?李彦宏给出了明确答案

如何理解李彦宏说的“不要卷模型,要卷应用” 引言 7月4日,2024世界人工智能大会在上海世博中心召开。百度创始人兼CEO李彦宏在产业发展主论坛上呼吁:“大家不要卷模型,要卷应用!”这句话引起了广泛讨论。李彦宏认为&a…

Python股票计算小程序(字符串格式化练习)

要求:打印的第一行使用f控制,第二行打印使用占位符,股价输出保留两位小数。 # 股价计算小程序 name"周氏集团" stock_price19.99 stock_code "9283" stock_price_daily_growth_factor1.2 growth_days7print(f"公司…

【Python进阶】继承进阶和私有权限

目录 一、继承进阶 1、方法重写 2、调用父类方法 3、多层继承 二、私有权限 1、私有属性 2、私有方法 面向对象基础:小白也能看懂的Python基础教程(8)-CSDN博客 一、继承进阶 1、方法重写 当父类的同名方法达不到子类的要求&#x…

Monaco 中添加 CodeLens

CodeLens 会在指定代码行上添加一行可点击的文字,点击时可以触发定义的命令,效果如下: 通过调用 API 注册 LensProvider,点击时触发 Command,首先要注册命令,通过 editor.addCommand () 方法进行注册。三个…