东京初创公司 Sakana AI 的研究人员开发了一种新技术,使语言模型能够更有效地利用内存,帮助企业降低在大型语言模型 (LLM) 和其他基于 Transformer 的模型上构建应用程序的成本。
这项技术被称为“通用变压器记忆”,它使用特殊的神经网络来优化 LLM,以保留重要的信息,并丢弃上下文中的冗余细节。
优化 Transformer 内存
Transformer 模型(LLM 的骨干)的响应取决于其“上下文窗口”的内容,即它们从用户那里接收的输入。
上下文窗口可以被视为模型的工作记忆。调整上下文窗口的内容会对模型的性能产生巨大影响,这催生了“快速工程”这一领域的诞生。
当前模型支持非常长的上下文窗口,其中包含数十万甚至数百万个标记(LLM 对用户在提示中输入的单词、单词部分、短语、概念和数字的数字表示)。
这使得用户能够在提示中塞入更多信息。但是,较长的提示可能会导致更高的计算成本和更慢的性能。优化提示以删除不必要的标记同时保留重要信息可以降低成本并提高速度。
当前的提示优化技术是资源密集型的,或者需要用户手动测试不同的配置以减少提示的大小。
神经注意力记忆模块
通用变换器记忆使用神经注意力记忆模型 (NAMM) 来优化提示,这是一种简单的神经网络,可以决定是否“记住”或“忘记”存储在 LLM 记忆中的每个给定标记。
研究人员写道:“这种新功能使 Transformers 能够丢弃无用或多余的细节,并专注于最关键的信息,我们发现这对于需要长上下文推理的任务至关重要。”
NAMM 与 LLM 分开训练,并在推理时与预训练模型相结合,这使得它们灵活且易于部署。但它们需要访问模型的内部激活,这意味着它们只能应用于开源模型。
与 Sakana AI 开发的其他技术一样,NAMM 是通过进化算法而不是基于梯度的优化方法进行训练的。通过反复试验,进化算法迭代变异并选择性能最佳的模型,从而优化 NAMM 的效率和性能。这一点尤其重要,因为 NAMM 试图实现一个不可微分的目标:保留或丢弃 token。
NAMM 在 LLM 的注意层上运行,这是 Transformer 架构的关键组件之一,它决定了模型上下文窗口中每个标记的关系和重要性。根据注意值,NAMM 确定哪些标记应该保留,哪些可以从 LLM 的上下文窗口中丢弃。这种基于注意的机制使得可以在各种模型上使用经过训练的 NAMM,而无需进一步修改。例如,在纯文本数据上训练的 NAMM 可以应用于视觉或多模态模型,而无需额外训练。
通用记忆在行动
为了测试通用 Transformer 内存概念的实际效果,研究人员在开源 Meta Llama 3-8B 模型上训练了一个 NAMM 。他们的实验表明,借助 NAMM,基于 Transformer 的模型在解决非常长的序列的自然语言和编码问题上表现更好。同时,通过丢弃不必要的标记,NAMM 使 LLM 模型在执行任务时节省了高达 75% 的缓存内存。
研究人员写道:“在我们的基准测试中,NAMM 为 Llama 3-8B Transformer 提供了明显的性能改进。此外,我们的内存系统还带来了显着的附带好处,减少了每层的上下文大小,但从未明确优化内存效率。”
他们还在 70B 版本的 Llama 以及为其他模态和任务设计的 Transformer 模型(如Llava(计算机视觉)和 Decision Transformer(强化学习))上测试了该模型。
研究人员写道:“即使在这些分布以外的设置中,NAMM 仍能通过丢弃冗余视频帧和次优动作等标记来保留其优势,从而使其新的基础模型专注于最相关的信息以提高性能。”
任务依赖行为
另一个有趣的发现是 NAMM 会根据任务自动调整其行为。
例如,对于编码任务,该模型会丢弃与不影响代码执行的注释和空格相对应的连续的标记块。
另一方面,在自然语言任务中,模型会丢弃代表语法冗余且不会影响序列含义的标记。
研究人员发布了创建自己的 NAMM 的代码。通用变压器内存等技术对于处理数百万个令牌的企业应用程序非常有用,并且可以从速度提升和成本降低中受益。经过训练的 NAMM 的可重用性也使其成为企业中跨不同应用程序使用的多功能工具。
对于未来,研究人员建议采用更先进的技术,例如在 LLM 训练期间使用 NAMM 来进一步扩展其记忆能力。
研究人员写道:“这项工作才刚刚开始挖掘我们新类记忆模型的潜力,我们预计这可能会为未来几代变压器的发展提供许多新的机会。”
原创文章,作者:王 浩然,如若转载,请注明出处:https://www.dian8dian.com/xin-de-llm-you-hua-ji-shu-ke-jiang-nei-cun-cheng-ben-jiang