华为诺亚发布无限上下文大模型,超越SoTA 4.3%

你的大语言模型是不是也患上了"长文健忘症"?当使用大模型遇到长上下文时总是会出现词不达意?别担心,LLM界的"记忆大师"来啦!华为诺亚方舟实验室最新推出的EM-LLM模型,就像是给大模型装上了"超级记忆芯片",让它们轻松应对天文数字般的超长文本。这个创新模型巧妙地将人类认知科学中的事件分割和情景记忆原理融入到了LLM中,让大模型也能像人脑一样高效处理超长文本。

EM-LLM的核心秘诀在于它模仿了人类大脑处理信息的方式。它能够自动将长文本切分成有意义的"事件",并建立类似人类情景记忆的存储结构。这种设计不仅让模型能够更好地理解和记忆长文本的内容,还能在需要时快速检索相关信息。

在LongBench长文本基准测试中,EM-LLM的整体性能超越了此前的最佳模型,平均提升4.3%。特别是在段落检索任务上,EM-LLM表现依旧非常出色,性能提升高达33%,充分展示了其在长文本理解和信息检索方面的卓越能力。

图片

论文标题:
HUMAN-LIKE EPISODIC MEMORY FOR INFINITE CONTEXT LLMS

论文链接:
https://arxiv.org/pdf/2407.09450

LLM的"长上下文记忆"挑战

在人工智能快速发展的今天,大语言模型(LLM)已经成为了各行各业的得力助手。然而,这些AI"助手"却面临着一个棘手的问题:一旦遇到长文本,它们的表现就会大打折扣,仿佛患上了"长文健忘症"。这个问题严重制约了LLM在实际应用中的表现,特别是在需要处理长篇文档、复杂报告或大量上下文信息的场景中。

为什么会出现这个问题呢?主要是因为现有的LLM在处理长文本时面临着三大挑战:

  • 计算复杂度问题:Transformer架构中的自注意力机制的计算复杂度随文本长度呈平方增长。这意味着当处理长文本时,计算资源的消耗会急剧增加,导致处理效率大幅下降。

    图片

  • 位置编码的局限性:现有的位置编码方法(如RoPE)难以有效地扩展到超出训练长度的文本,这使得模型在处理超长文本时难以准确捕捉词语之间的位置关系。

    图片

  • 注意力分散问题:在长文本中,关键信息容易被大量不相关的内容"淹没"。模型难以在庞大的token序列中准确定位和提取重要信息。

面对这些挑战,研究人员提出了各种解决方案。其中,检索增强生成(RAG)和基于KV缓存的方法是两个主要方向。RAG方法通过外部知识库来增强模型的性能,而KV缓存方法则尝试在模型内部保存和检索历史信息。然而,这些方法仍然存在一些局限性,无法完全解决长文本处理的问题。

为解决这些问题,华为诺亚方舟实验室提出了创新的EM-LLM模型。EM-LLM的核心思想是模仿人类大脑的情景记忆机制,通过将长文本分割成离散的"事件"来组织和检索信息。

EM-LLM处理长文本可以分为三个步骤:

  1. 事件分割:模型首先识别文本中的"surprise"点,这些点可能是不同"事件"的分界。

  2. 记忆形成:识别出的事件被存储为离散的记忆单元,每个单元包含事件的关键信息。

  3. 记忆检索:当需要处理新输入时,模型会检索相关的历史事件。这个过程包括基于相似度的检索和考虑时间连续性的检索。

这种设计使EM-LLM能够有效处理超长文本,同时保持较低的计算复杂度。它不仅提高了LLM处理长文本的能力,同时还展示了将认知科学原理应用于人工智能的可行性。

给LLM装上"人脑芯片"

EM-LLM的核心思想是模仿人类大脑处理长期记忆的方式,主要包括三个关键步骤:基于惊奇度的事件分割、边界优化和两阶段记忆检索。让我们详细探讨每个步骤:

基于惊奇度的事件分割

EM-LLM首先对输入的长文本进行"事件分割"。这个过程通过计算每个词的"惊奇度"来判断是否应该在此处进行分割。具体来说,对于每个token ,模型计算其条件概率:

然后,通过计算负对数似然,得到惊奇度:

当惊奇度超过阈值  时,就认为在此处出现了一个事件边界:

其中,阈值  是动态计算的:

这里, 和  分别是前  个token的惊奇度均值和标准差, 是一个可调节的参数。

边界优化

初步的事件分割后,EM-LLM引入了边界优化步骤。这个过程使用图论中的概念,将token之间的相似度视为图的邻接矩阵。对于注意力头 ,邻接矩阵  定义为:

其中  和  是对应token的key向量,sim是相似度函数(这里使用点积相似度)。

优化过程使用两个指标:模块化(Modularity)和导电率(Conductance)。模块化  定义为:

其中  是图中总边权重, 是节点  所属的事件, 是克罗内克函数。

导电率  定义为:

其中  是图的一个子集, 是  内部的总边权重,其由以下的公式进行计算:

边界优化的目标是最大化模块化或最小化导电率,从而使事件内部的token更相关,事件之间更分离。

两阶段记忆检索

当模型需要处理新的输入时,它采用两阶段方法来检索相关的历史信息:

  1. 相似度检索:使用k近邻()搜索,找出与当前查询最相似的  个历史事件。这些事件形成"相似度缓冲区"。

  2. 连续性检索:为了模拟人类记忆的连续性特征,模型还会检索出上述事件在原文中的相邻事件,形成大小为  的"连续性缓冲区"。

最终,模型将  个事件添加到上下文窗口中。这种方法既考虑了信息的相关性,又保留了原始文本的时序特征。

下图直观地展示了这个过程:

图片

  1. 输入序列根据惊奇度进行初步分割。

  2. 形成离散的事件记忆,每个事件保留初始token和局部上下文。

  3. 通过  搜索选择相关事件。

  4. 最终的上下文窗口包括初始token、连续性缓冲区、相似度缓冲区和局部上下文。

这种设计使EM-LLM能够高效处理超长文本,同时保持了对重要信息的准确检索和利用。通过模仿人类记忆机制,EM-LLM在提高长文本处理能力的同时,也为我们理解人类认知过程提供了新的视角。

EM-LLM的"过目不忘"大考验

华为诺亚方舟实验室的研究人员设计了一系列全面的实验来测试EM-LLM的性能。这些实验不仅展示了EM-LLM在长文本处理方面的卓越表现,还深入探讨了其工作原理与人类认知的相似性。

LongBench测试

研究人员首先在LongBench长文本基准测试上对EM-LLM进行了评估。这个测试就像是AI界的"马拉松",考验模型的"长跑"能力。

下表展示了EM-LLM在LongBench上的表现,EM-LLM在15个任务中的14个上都超越了此前的最佳模型——InfLLM。

图片

特别需要注意的是:

  • 在PassageRetrieval(段落检索)任务上,EM-LLM实现了惊人的33.47%性能提升;

  • 在HotpotQA任务上,EM-LLM比InfLLM高出了9.38%;

  • 在2WikiMQA任务上,EM-LLM的表现比InfLLM好6.41%。

总体而言,EM-LLM在所有任务上的平均得分比InfLLM高出了4.3%,展现了其在各种长文本任务中的全面优势。

与人类事件感知的"心灵感应"

研究人员还比较了EM-LLM的事件分割结果与人类的事件感知。这个实验就像是测试LLM和人类之间的"心灵感应"能力。

下图展示了不同分割方法在LLaMA2注意力头的KV缓存中的表现。

图片

从上图中可以看出:

  • 人类感知的事件分割在三个指标(模块化、导电率和内部/外部相似度比)上都表现优异;

  • EM-LLM的基于惊奇度的分割方法(S)和加入边界优化的方法(SM, SC)与人类感知非常接近,甚至在某些方面表现得更好;

  • 相比之下,固定大小的分割方法(F, FM, FC)表现较差,特别是InfLLM使用的固定分割方法(F)甚至不如随机分割。

下图进一步比较了不同方法与人类报告的事件边界之间的距离。结果显示,EM-LLM的方法(S, SM, SC)与人类感知的一致性最高。

图片

不同分割方法的"擂台赛"

研究人员还在PG-19数据集上比较了不同的事件分割方法。下表展示了在不同LLM(Mistral-7B, LLaMA2-7B, LLaMA3-8B)上的实验结果。

图片

从实验结果中可以看出:

  • 基于惊奇度的分割方法(S)和加入边界优化的方法(SM, SC)在各项指标上都表现优异;

  • 边界优化(SM, SC)进一步提升了性能,特别是在模块度和内部/外部相似度比上;

  • 相比之下,固定大小的分割方法(F, FM, FC)表现较差,尤其是在没有优化的情况下(F)。

相似性、连续性与时序的"平衡艺术"

研究人员还探讨了不同组件权重对模型性能的影响。研究人员测试了不同参数设置下EM-LLM在LongBench各任务上的表现。

图片

图片

  • 结合相似性搜索和连续性检索的方法(SM+C)在大多数任务中表现最佳;

  • 连续性缓冲区的大小对性能有显著影响,最佳比例通常在30%到50%之间;

  • 不同任务对连续性和相似性的需求不同,如MultiNews任务在70%连续性比例时表现最佳。

EM-LLM不仅在各种长文本任务中表现出色,超越了现有最佳模型,其事件分割和记忆检索机制还展现出与人类认知相似的特征,在保持高效处理能力的同时,实现了更接近人类的文本理解和信息组织方式。

总结与展望

华为诺亚方舟实验室这次真给大模型界来了个大招!他们的EM-LLM模型不仅实现了"无限"上下文长度,还在LongBench测试中超越了此前的最佳成绩,平均提升4.3%。这就像给AI装上了记忆芯片。EM-LLM的成功展示了跨学科研究的威力,仿佛让LLM上了一个"人类大脑速成班"。

这一突破可能带来众多有趣应用,从能轻松解读《战争与和平》的大模型文学评论家,到记住你上月所有对话的超级客服,再到能处理繁琐合同的法律专家和分析全面病史的医疗助手。虽然距离真正的"通用人工智能"还有距离,但EM-LLM无疑是AI进化路上的重大进步,不仅突破了LLM在长文本理解上的瓶颈,还为大模型的应用领域带来了新的可能性。

图片

图片

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

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

相关文章

linux系统进程占cpu 100%解决步骤

1.查找进程 ps aux 查看指定进程: ps aux | grep process_name2.根据进程查找对应的主进程 pstree -p | grep process_name 3.查看主进程目录并删除 ps -axu | grep process_name rm -rf /usr/bin/2cbbb

数据库实验:SQL Server基本表单表查询

一、实验目的: 1、掌握使用SQL语法实现单表查询 二、实验内容: 1. 查询订购日期为2001年5月22日的订单情况。(Orders)(时间日期的表达方式为 dOrderDate ‘2001-5-22’,类似字符串,使用单引号…

音视频入门基础:PCM专题(3)——使用Audacity工具分析PCM音频文件

音视频入门基础:PCM专题系列文章: 音视频入门基础:PCM专题(1)——使用FFmpeg命令生成PCM音频文件并播放 音视频入门基础:PCM专题(2)——使用Qt播放PCM音频文件 音视频入门基础&am…

从0开始搭建vue + flask 旅游景点数据分析系统(一):创建前端项目

根据前面的爬虫课程,我们重新开一个坑,就是基于爬取到的数据,搭建一个vueflask的前后端分离的数据分析系统 1 通过这个系列教程可以学习到什么? 从0开始搭建一个 vue flask 的数据分析系统;了解系统的整体架构&…

19.延迟队列优化

问题 前面所讲的延迟队列有一个不足之处,比如现在有一个需求需要延迟半个小时的消息,那么就只有添加一个新的队列。那就意味着,每新增一个不同时间需求,就会新创建一个队列。 解决方案 应该讲消息的时间不要跟队列绑定&#xf…

AI绘画入门实践 | Midjourney:使用 --chaos 给图像风格来点惊喜

在 Midjourney 中,--chaos 影响初始图像网格的多样性,指 MJ 每次出的4张图之间的差异性。 默认值为0,值越高,差异性越大。 使用格式:--chaos 0-100的整数值 使用演示 a lot of flowers --chaos 0 --v 6.0a lot of fl…

AOP~面向切面编程介绍

AOP基础 概述 AOP:Aspect Oriented Programming(面向切面编程、面向方面编程),面向特定方法的编程。 动态代理是面向切面编程最主流的实现。 SpringAOP是Spring框架的高级技术,旨在管理bean对象的过程中&#xff0c…

C# datetimePicker

1. 直接把控件拉到设计器中,此时不要调整控件的values属性,这样就可以 打开后每次默认显示当天日期。 2. 属性Format long长日期格式默认值short短日期格式Time时间格式custom自定义时间格式在customFormat这个属性设置,比如yyyy-MM-dd HH…

golang 文件

golang 文件 概念 文件是计算机系统中用于存储和管理的 数据集合,具有唯一的名称,存在于存储介质上,包含创建、修改等属性,通过文件系统进行组织,用户可进行读取、写入等操作 文件流 文件输入流(InputS…

Redis底层数据结构的实现

文章目录 1、Redis数据结构1.1 动态字符串1.2 intset1.3 Dict1.4 ZipList1.5 ZipList的连锁更新问题1.6 QuickList1.7 SkipList1.8 RedisObject 2、五种数据类型2.1 String2.2 List2.3 Set2.4 ZSET2.5 Hash 1、Redis数据结构 1.1 动态字符串 Redis中保存的Key是字符串&#xf…

漏洞复现-F6-11泛微-E-Cology-SQL

本文来自无问社区,更多漏洞信息可前往查看http://www.wwlib.cn/index.php/artread/artid/15575.html 0x01 产品简介 泛微协同管理应用平台e-cology是一套企业级大型协同管理平台 0x02 漏洞概述 该漏洞是由于泛微e-cology未对用户的输入进行有效的过滤&#xff0…

Scrapy + Django爬虫可视化项目实战(一)

目录 一、项目介绍 (一) 项目背景 (二) 项目介绍 二、系统实现 (一) 爬虫 1. 实现步骤 一、爬取字段 二、分析页面 三、具体实现 2. 爬虫结果 系列文章 Python升级打怪—Django入门 Python升级打怪—Scrapy零基础小白入门 实现技术 ScrapyDjangoEcharts 一、项目…

HDMI的等长要求到底是多少?

四对差分走线对内误差最好做到 5mil 范围之内,对与对的差分误差最好控制在 10mil 范围之内。同时,对与对之间的间距要求做到 15mil,空间准许的情况下尽量拉开,减小串扰。 作者:凡亿教育 https://www.bilibili.com/rea…

数据丢失不用愁!这四款数据恢复大师免费版助你找回珍贵回忆

我们在办公或者是生活中常常会遇到不小心将手机设备或者计算机当中的重要数据误删除/格式化/或其他不小心丢失的情况,但是不用紧张,这篇文章就是给大家分享如何恢复他们,以下带来除易我数据恢复外的其他好用的数据恢复软件: 第一…

进程关系与守护进程

进程关系与守护进程 1. 进程组2. 会话3. 控制终端4. 作业控制5. 守护进程 1. 进程组 什么是进程组 之前我们提到了进程的概念, 其实每一个进程除了有一个进程 ID(PID)之外 还属于一个进程组。进程组是一个或者多个进程的集合, 一个进程组可以包含多个进…

猫头虎分享:PyTorch异常ModuleNotFoundError: No module named ‘torch’解决方案

🐯 猫头虎分享:PyTorch异常ModuleNotFoundError: No module named ‘torch’解决方案 💻 摘要 在本篇博客中,我们将深入探讨如何解决PyTorch中常见的“ModuleNotFoundError: No module named ‘torch’”错误。通过详细的步骤指…

如何在 VitePress 中自定义logo,打造精美首页 #home-hero-image

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

【matlab】使用movefile批量修改命名,并保留原命名中指定的数字

【matlab】使用movefile批量修改命名,并保留原命名中指定的数字 文章目录 【matlab】使用movefile批量修改命名,并保留原命名中指定的数字一、情况说明二、代码示例通配符正则表达式匹配 (regexp 函数):提取捕获组中的数字 (number 变量): 一、情况说明 …

CTF之网站被黑

简单看一下网页和源码没发现什么明显漏洞 那就扫描一下目录 发现了/shell.php文件,访问一下,发现是一个后台管理登录页面 别无他法只能爆破喽,爆破后发现密码是hack flag{25891d9e9d377f006eda3ca7d4c34c4d}

rust学习——move关键字

示例讲解 在闭包章节中,有讲过 move 关键字在闭包中的使用可以让该闭包拿走环境中某个值的所有权,同样地,你可以使用 move 来将所有权从一个线程转移到另外一个线程。 首先,来看看在一个线程中直接使用另一个线程中的数据会如何…