彻底解决ChatGPT健忘症!突破Transformer输入限制:实测支持200万个有效token
ChatGPT,或者说Transformer类的模型都有一个致命缺陷,就是太容易健忘,一旦输入序列的token超过上下文窗口阈值,后续输出的内容和前文逻辑就对不上了。
ChatGPT只能支持4000个token(约3000个词)的输入,即便最新发布的GPT-4也只支持最大32000的token窗口,如果继续加大输入序列长度,计算复杂度也会成二次方增长。
最近来自DeepPavlov, AIRI, 伦敦数学科学研究所的研究人员发布了一篇技术报告,使用循环记忆Transformer(RMT)将BERT的有效上下文长度提升到「前所未有的200万tokens」,同时保持了很高的记忆检索准确性。
论文链接:https://www.php.cn/link/459ad054a6417248a1166b30f6393301
该方法可以存储和处理局部和全局信息,并通过使用循环让信息在输入序列的各segment之间流动。
实验部分证明了该方法的有效性,在增强自然语言理解和生成任务中的长期依赖处理方面具有非凡的潜力,可以为记忆密集型应用程序实现大规模上下文处理。
不过天下没有免费的午餐,虽然RMT可以不增加内存消耗,可以扩展到近乎无限的序列长度,但仍然存在RNN中的记忆衰减问题,并且需要更长的推理时间。
但也有网友提出了解决方案,RMT用于长期记忆,大上下文用于短期记忆,然后在夜间/维修期间进行模型训练。
循环记忆Transformer
2022年,该团队提出循环记忆Transformer(RMT)模型,通过在输入或输出序列中添加一个特殊的memory token,然后对模型进行训练以控制记忆操作和序列表征处理,能够在不改变原始Transformer模型的前提下,实现一个全新的记忆机制。
论文链接:https://arxiv.org/abs/2207.06881
发表会议:NeurIPS 2022
与Transformer-XL相比,RMT需要的内存更少,并可以处理更长序列的任务。
具体来说,RMT由m个实值的可训练向量组成,过长的输入序列被切分为几个segments,记忆向量被预置到第一个segment embedding中,并与segment token一起处理。
与2022年提出的原始RMT模型不同的是,对于像BERT这样的纯编码器模型,只在segment的开始部分添加一次记忆;解码模型将记忆分成读和写两部分。
在每个时间步长和segment中,按以下方式进行循环,其中N为Transformer的层数,t为时间步,H为segment
按顺序处理输入序列的segments后,为了实现递归连接,研究人员将当前segment的memory token的输出传递给下一个segment的输入:
RMT中的记忆和循环都只基于全局memory token,可以保持骨干Transformer模型不变,使得RMT的记忆增强能力可以与任意的Transformer模型兼容。
计算效率
按照公式可以估算不同大小和序列长度的RMT和Transformer模型所需的FLOPs
在词汇量大小、层数、隐藏大小、中间隐藏大小和注意头数的参数配置上,研究人员遵循OPT模型的配置,并计算了前向传递后的FLOPs数量,同时考虑到RMT循环的影响。
通过将一个输入序列划分为若干段,并仅在segment的边界内计算全部注意力矩阵来实现线性扩展,结果可以看到,如果segment长度固定,RMT的推理速度对任意模型尺寸都是线性增长的。
由于FFN层的计算量较大,所以较大的Transformer模型往往表现出相对于序列长度较慢的二次方增长速度,不过在长度大于32,000的极长序列上,FLOPs又回到了二次增长的状态。
对于有一个以上segment的序列(在本研究中大于512),RMT比非循环模型有更低的FLOPs,在尺寸较小的模型上最多可以将FLOPs的效率提升×295倍;在尺寸较大的模型如OPT-175B,可以提升×29倍。
记忆任务
为了测试记忆能力,研究人员构建了一个合成数据集,要求模型记忆简单的事实和基本推理。
任务输入包括一个或几个事实和一个只能用所有这些事实来回答的问题。
为了增加任务的难度,任务中还添加了与问题或答案无关的自然语言文本,这些文本可以看作是噪音,所以模型的任务实际上是将事实与不相关的文本分开,并使用事实文本来回答问题。
事实记忆
测试RMT在记忆中长时间写入和存储信息的能力:在最简单的情况下,事实位于输入的开头,问题在输入的最后,并逐渐增加问题和答案之间的不相关文本数量,直到模型无法一次性接受所有输入。
事实检测和记忆
事实检测通过将事实移到输入中的一个随机位置来增加任务难度,要求模型首先将事实与不相关的文本区分开来,将其写入记忆,然后回答位于最后的问题。
基于记忆事实进行推理
记忆的另一个重要操作是利用记忆的事实和当前的背景进行推理。
为了评估这个功能,研究人员引入了一个更复杂的任务,将生成两个事实并随机地放置在输入序列;在序列末尾提出的问题是必须选择用正确的事实来回答问题。
实验结果
研究人员使用HuggingFace Transformers中预训练的Bert-base-cased模型作为所有实验中RMT的主干,所有模型以记忆大小为10进行增强。
在4-8块英伟达1080Ti GPU上进行训练和评估;对于更长的序列,则切换到单张40GB的英伟达A100上进行加速评估。
课程学习(Curriculum Learning)
研究人员观察到,使用训练调度可以显著改善解决方案的准确性和稳定性。
刚开始让RMT在较短的任务版本上进行训练,在训练收敛后,通过增加一个segment来增加任务长度,将课程学习过程一直持续到达到理想的输入长度。
从适合单个segment的序列开始实验,实际segment的大小为499,因为从模型输入中保留了3个BERT的特殊标记和10个记忆占位符,总共大小为512。
可以注意到,在对较短的任务进行训练后,RMT更容易解决较长的任务,因为使用较少的训练步骤就能收敛到完美的解决方案。
外推能力(Extrapolation Abilities)
为了观察RMT对不同序列长度的泛化能力,研究人员评估了在不同数量的segment上训练的模型,以解决更大长度的任务。
可以观察到,模型在较短的任务上往往表现良好,但在较长的序列上训练模型后,就很难处理单segment推理任务。
一个可能的解释是,由于任务规模超过了一个segment,模型在第一个segment就停止了对问题的预期,导致质量下降。
有趣的是,随着训练segment数量的增加,RMT对较长序列的泛化能力也出现了,在对5个或更多的segment进行训练后,RMT可以对两倍长的任务进行近乎完美的泛化。
为了测试泛化的极限,研究人员验证任务的规模增加到4096个segment(即2,043,904个tokens)。
RMT在如此长的序列上保持得出奇的好,其中「检测和记忆」任务是最简单的,推理任务是最复杂的。
参考资料:https://www.php.cn/link/459ad054a6417248a1166b30f6393301
以上是彻底解决ChatGPT健忘症!突破Transformer输入限制:实测支持200万个有效token的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

DALL-E 3 于 2023 年 9 月正式推出,是比其前身大幅改进的型号。它被认为是迄今为止最好的人工智能图像生成器之一,能够创建具有复杂细节的图像。然而,在推出时,它不包括

想象一下,一个人工智能模型,不仅拥有超越传统计算的能力,还能以更低的成本实现更高效的性能。这不是科幻,DeepSeek-V2[1],全球最强开源MoE模型来了。DeepSeek-V2是一个强大的专家混合(MoE)语言模型,具有训练经济、推理高效的特点。它由236B个参数组成,其中21B个参数用于激活每个标记。与DeepSeek67B相比,DeepSeek-V2性能更强,同时节省了42.5%的训练成本,减少了93.3%的KV缓存,最大生成吞吐量提高到5.76倍。DeepSeek是一家探索通用人工智

本月初,来自MIT等机构的研究者提出了一种非常有潜力的MLP替代方法——KAN。KAN在准确性和可解释性方面表现优于MLP。而且它能以非常少的参数量胜过以更大参数量运行的MLP。比如,作者表示,他们用KAN以更小的网络和更高的自动化程度重现了DeepMind的结果。具体来说,DeepMind的MLP有大约300,000个参数,而KAN只有约200个参数。KAN与MLP一样具有强大的数学基础,MLP基于通用逼近定理,而KAN基于Kolmogorov-Arnold表示定理。如下图所示,KAN在边上具

波士顿动力Atlas,正式进入电动机器人时代!昨天,液压Atlas刚刚「含泪」退出历史舞台,今天波士顿动力就宣布:电动Atlas上岗。看来,在商用人形机器人领域,波士顿动力是下定决心要和特斯拉硬刚一把了。新视频放出后,短短十几小时内,就已经有一百多万观看。旧人离去,新角色登场,这是历史的必然。毫无疑问,今年是人形机器人的爆发年。网友锐评:机器人的进步,让今年看起来像人类的开幕式动作、自由度远超人类,但这真不是恐怖片?视频一开始,Atlas平静地躺在地上,看起来应该是仰面朝天。接下来,让人惊掉下巴

特斯拉机器人Optimus最新视频出炉,已经可以在厂子里打工了。正常速度下,它分拣电池(特斯拉的4680电池)是这样的:官方还放出了20倍速下的样子——在小小的“工位”上,拣啊拣啊拣:这次放出的视频亮点之一在于Optimus在厂子里完成这项工作,是完全自主的,全程没有人为的干预。并且在Optimus的视角之下,它还可以把放歪了的电池重新捡起来放置,主打一个自动纠错:对于Optimus的手,英伟达科学家JimFan给出了高度的评价:Optimus的手是全球五指机器人里最灵巧的之一。它的手不仅有触觉

目标检测在自动驾驶系统当中是一个比较成熟的问题,其中行人检测是最早得以部署算法之一。在多数论文当中已经进行了非常全面的研究。然而,利用鱼眼相机进行环视的距离感知相对来说研究较少。由于径向畸变大,标准的边界框表示在鱼眼相机当中很难实施。为了缓解上述描述,我们探索了扩展边界框、椭圆、通用多边形设计为极坐标/角度表示,并定义一个实例分割mIOU度量来分析这些表示。所提出的具有多边形形状的模型fisheyeDetNet优于其他模型,并同时在用于自动驾驶的Valeo鱼眼相机数据集上实现了49.5%的mAP

FP8和更低的浮点数量化精度,不再是H100的“专利”了!老黄想让大家用INT8/INT4,微软DeepSpeed团队在没有英伟达官方支持的条件下,硬生生在A100上跑起FP6。测试结果表明,新方法TC-FPx在A100上的FP6量化,速度接近甚至偶尔超过INT4,而且拥有比后者更高的精度。在此基础之上,还有端到端的大模型支持,目前已经开源并集成到了DeepSpeed等深度学习推理框架中。这一成果对大模型的加速效果也是立竿见影——在这种框架下用单卡跑Llama,吞吐量比双卡还要高2.65倍。一名

写在前面项目链接:https://nianticlabs.github.io/mickey/给定两张图片,可以通过建立图片之间的对应关系来估计它们之间的相机姿态。通常,这些对应关系是二维到二维的,而我们估计的姿态在尺度上是不确定的。一些应用,例如随时随地实现即时增强现实,需要尺度度量的姿态估计,因此它们依赖于外部的深度估计器来恢复尺度。本文提出了MicKey,这是一个关键点匹配流程,能够够预测三维相机空间中的度量对应关系。通过学习跨图像的三维坐标匹配,我们能够在没有深度测试的情况下推断出度量相对
