微信扫码
与创始人交个朋友
我要投稿
在这篇文章中,作者介绍了 MemLong:用于长文本生成的记忆增强检索 (MemLong),一种旨在通过利用外部检索器进行历史信息检索来增强长上下文语言建模能力的方法。
大型语言模型(LLMs)近年来在各个领域取得了显著成功,但在处理长文本方面仍面临着严峻挑战。这些挑战主要源于两个方面:注意力机制的计算复杂度和生成过程中的内存消耗。
传统的注意力机制具有二次时间和空间复杂度,可表示为:O(n^2),其中n为序列长度。这导致在处理长序列时计算资源需求呈平方增长。同时,在生成过程中,模型需要缓存key-value对,其内存占用随序列长度线性增长。
对于检索增强生成(RAG)来说,当检索到的信息长度超过模型的处理能力时,RAG甚至可能会降低生成性能(黄色)。
面对上述挑战,本研究的主要目标是开发一种能够有效处理长文本的语言建模方法,同时在扩展上下文长度的同时保持模型在短文本上的性能,并提供一种计算效率高、易于实施的解决方案。MemLong 的内存和检索过程如下图所示:
提出 MemLong,一种高效、轻量级的方法,用于扩展 LLMs。
这个想法是将过去的上下文和知识存储在一个不可训练的内存库中,并进一步利用这些存储的嵌入来检索块级键值 (K-V) 对,以便输入到模型中。
MemLong 适用于任何仅限解码器的预训练语言模型,方法是包含用于内存和检索的附加 ret-mem 组件和用于集成局部和内存信息的检索因果注意力模块。
MemLong,结合一个非可微分的检索-记忆模块和一个部分可训练的解码器语言模型,来增强长文本上下文的语言建模能力。
MemLong的一个示例:在底层,模型保持静态,对整个数据块Ci进行因果语言建模,随后,Ci被缓存为嵌入和键值对(K-V)形式。最后,上层进行微调,以协调检索偏好并整合检索到的内容。
论文:https://arxiv.org/pdf/2408.16967
代码:https://github.com/Bui1dMySea/MemLong/blob/main/run_clm_no_trainer.py
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-07-18
2024-05-05
2024-09-04
2024-06-20
2024-05-19
2024-07-09
2024-07-09
2024-07-07
2024-06-13
2024-07-07