聚热点 juredian

4k窗口长度就能读长文,陈丹琦高徒推出大模型记忆力增强新方法

克雷西 发自 凹非寺

量子位 | 公众号 QbitAI

只有4k窗口长度的大模型,也能阅读大段文本了!

普林斯顿的华人博士生的一项最新成果,成功“突破”了大模型窗口长度的限制。

不仅能回答各种问题,而且整个实现的过程 全靠prompt就能完成,不需要任何的额外训练 。

研究团队创建了一种名为MemWalker的树形记忆策略,可以突破模型本身的窗口长度限制。

测试过程中,模型阅读的最长文本包含了1.2万+token,成绩相比LongChat大幅提高。

相比于相似的TreeIndex,MemWalker可以进行推理并回答任何问题,而不是只做概括。

MemWalker的研发利用到了“分而治之”的思想,就此有网友这样评论:

每次我们让大模型的思考过程更像人类,它们的表现就会越好

那么,具体什么是树形记忆策略,又是如何用有限的窗口长度阅读长文本的呢?

一个窗口不够,就多开几个

模型上,MemWalker使用Stable Beluga 2作为基本模型,它是Llama 2-70B经过指令调优得到的。

在选择该模型之前,开发者对比了其与原始Llama 2的表现,并最终确定选用。

就像MemWalker这个名字一样,它的工作过程就像记忆流在行走。

具体来看,大致分为 记忆树构建 和 导航检索 两个阶段。

构建记忆树时,长文本会被分割成多个小段 (seg1-6) ,并由大模型分别针对每一段做出总结,得到“ 叶子节点 ” (leaf nodes,summ1-6) 。

分割时,每段的长度越长,层级就会越少,有利于后续检索,但其本身过长又会导致准确度下降,因此需要综合考虑确定每段长度。

作者认为,每一段合理的长度是500-2000token,而实验中使用的为1000token。

然后,模型递归地对这些叶子节点的内容再次进行总结,形成“ 非叶节点 ” (non-leaf nodes,summ7-8) 。

二者的另一个区别是,叶子节点包含了 原始信息 ,非叶节点只有 概括得到的二级信息 。

作用上,非叶节点用于导航定位答案所在的叶子节点,而叶子节点则用于推理出答案。

其中的非叶节点可以有多个层级,模型逐步进行总结概括,直到得到“根节点”,形成完整的树形结构。

记忆树建立完毕后,就可以进入导航检索阶段来生成答案了。

这一过程中,模型从根节点开始,逐一读取下 一 级子节点的内容,然后推理出应该进入这个节点还是返回。

决定进入这个节点之后,再次重复这样的过程,直到读取到叶节点。如果叶节点的内容合适则生成答案,否则返回。

为了确保答案的完整性,这个过程的结束条件并非发现了一个合适的叶节点,而是模型认为得到了完整答案,或者达到最大步数。

导航过程中,如果模型发现进入了错误的路径,还可以导航回退。

此外,MemWalker中还引入了 工作记忆机制 来来提高准确度。

该机制会将已经访问过的节点内容加入到当前内容的上下文中。

当模型进入一个新节点时,当前节点内容都会被加入到记忆中。

这一机制让模型在每一步都可以利用访问过的节点内容,避免重要信息的丢失。

实验结果显示,工作记忆机制可以将MemWalker的准确率提升10%左右。

而且,上面所说的过程只依靠prompt就能完成,不需要进行额外的训练。

理论上,只要有足够的算力,MemWalker可以阅读无限长的文本。

不过,记忆树构建时的 时间和空间复杂度随着文本长度的增长是呈指数型 的。

作者简介

论文第一作者是普林斯顿大学NLP实验室华人博士生Howard Chen。

清华姚班校友陈丹琦是Howard的导师,她今年在ACL上的学术报告也与搜索有关。

这项成果是Howard在Meta实习期间完成的,Meta AI实验室的Ramakanth Pasunuru,Jason Weston和Asli Celikyilmaz三位学者也参与了本项目。

论文地址: https://arxiv.org/abs/2310.05029

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:长文  长文词条  高徒  高徒词条  记忆力  记忆力词条  长度  长度词条  模型  模型词条