之前有一个论调,说如果大模型支持足够长的上下文内容时候,是否就不在需要向量库。下面这个论文,通过实验证明了,即时上下文足够的丰富,通过调整位置、上下文内容,对于生成的效果具有显著的影响。
概述
本文《Lost in the Middle: How Language Models Use Long Contexts》由Nelson F. Liu等人撰写,发表于2023年11月20日。论文主要探讨了当前语言模型在处理长文本上下文时的性能表现,特别是在多文档问答和键值检索任务中,模型如何利用输入上下文中的信息。研究发现,当相关信息在输入上下文中的位置发生变化时,模型的性能会显著下降,表明现有的语言模型在长上下文信息的利用上并不稳健。特别是在需要从长上下文中间提取信息时,模型性能下降尤为明显。
研究背景
随着语言模型的发展,它们在多种用户面向的语言技术中扮演着越来越重要的角色,如对话系统、搜索与摘要、协作写作等。这些模型通常通过提示(prompting)来执行下游任务,将所有相关的任务规范和待处理数据格式化为文本输入上下文,模型返回生成的文本完成。然而,尽管现有的语言模型能够处理长达数千个标记的输入,它们在实际使用中如何有效利用这些长上下文信息仍不明确。
主要发现
多文档问答任务
研究者们通过控制输入上下文的长度和相关信息在上下文中的位置,发现模型在多文档问答任务中的表现会随着相关信息位置的变化而显著变化。具体来说,当相关信息出现在输入上下文的开始或结束时,模型性能最高;而当模型需要从上下文中间提取信息时,性能显著下降,形成了一个U形的性能曲线。
键值检索任务
在键值检索任务中,模型需要从一组JSON格式的键值对中检索出与特定键相关联的值。结果显示,即使在这种简化的任务中,模型在从输入上下文中间检索信息时仍然存在困难,继续表现出U形的性能曲线。
模型架构、查询感知上下文化和指令微调的影响
研究还探讨了模型架构(仅解码器vs.编码器-解码器)、查询感知上下文化和指令微调对模型使用上下文的影响。发现编码器-解码器模型在训练时序列长度内对相关信息位置的变化相对鲁棒,但在处理超出训练时序列长度的序列时,也会出现U形性能曲线。查询感知上下文化可以显著提高键值检索任务的性能,但对多文档问答任务的性能趋势影响较小。此外,即使是基础语言模型(即没有指令微调的模型)也显示出U形的性能曲线。
实际应用案例
通过在开放域问答任务中使用检索器-阅读器模型的案例研究,论文发现,模型性能在检索器召回率之前就已饱和,表明当前模型未能有效利用额外检索到的文档。这表明,对于基于语言模型的读者来说,有效的检索文档重排序或适当减少检索文档数量可能是提高性能的有前景的方向。
相关工作
论文还回顾了与长上下文语言模型相关的工作,包括设计性能更优的语言模型、研究语言模型如何使用上下文、以及序列位置效应在心理学中的研究。
结论
本研究通过一系列受控实验,实证地研究了语言模型如何使用长输入上下文。结果表明,当改变相关信息的位置时,模型性能显著下降,特别是在需要使用长上下文中段信息时。研究还初步探讨了模型架构、查询感知上下文化和指令微调对模型使用上下文的影响。最后,通过开放域问答的案例研究,论文提供了对现有语言模型使用长上下文的理解,并为未来长上下文模型的评估提供了新的协议。
出自:https://mp.weixin.qq.com/s/PVFp6OtXf5YI3K3Y7Z-Y5w