大规模语言模型使用上下文的哪些部分?
三个要点
✔️ 通过两个实验考察大规模语言模型如何利用长语境
✔️ 实验发现,当相关信息位于输入语境的开头或结尾时,性能最高
✔️ 此外,我们还发现,当相关信息位于输入语境的中间时,性能明显较差我们还发现,当相关信息位于输入上下文的中间时,性能明显降低。
Lost in the Middle: How Language Models Use Long Contexts
written by Nelson F. Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni, Percy Liang
(Submitted on 6 Jul 2023)
Comments: 15 pages, 17 figures
Subjects: Computation and Language (cs.CL)
code:![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
介绍。
近年来,大规模语言模型已成为人类生活的一部分,被用于对话界面、搜索、摘要和协作写作等各种任务中。
与以前的模型相比,这些语言模型允许使用非常长的上下文作为输入,但这些长上下文的使用范围尚未得到研究。
本文通过两个实验(多文档问题解答和键值检索)和一个实验(多文档问题解答和键值检索)研究了语言模型在这种情况下如何使用长语境。本文介绍了对语言模型如何使用输入语境的研究。
多文档问题解答
实验的目的是研究语言模型如何使用输入上下文,为此,论文采用了多文档问题解答任务,包括在输入上下文中查找相关信息并利用它们回答问题这是一项在输入上下文中查找相关信息并用其回答问题的任务。
此外,输入上下文的长度和相关信息在文本中的位置也随调整而变化,以衡量模型性能的变化。
实验装置
在该实验中,模型的输入是一个待回答的问题和k 个句子(如维基百科中的句子),在执行任务时,模型会访问输入上下文中包含答案的句子,并用它们来回答问题。
下图是一个例子。(正确回答问题的相关文字以粗体显示)。
在本实验中,该任务是在 NaturalQuestions 基准(一个包含向谷歌搜索引擎发出的历史查询和从维基百科中提取的人类注释答案的数据集)上实例化的。
也是在这次实验的这项任务中、
- 通过增加或减少不包含答案的句子数量来调整输入上下文的长度
- 通过调换输入语境中句子的顺序来调整相关信息的位置。
为了能够在各种条件下进行验证,我们进行了两项创新。
型号
本文中的实验使用了以下六种大规模语言模型。
- MPT-30B-Instruct:使用 2048 个标记序列预训练了 1 万亿个标记的模型,能够处理多达 8192 个标记的上下文。
- LongChat-13B-16K:基于 LLaMA13B 和扩展上下文窗口的模型
- GPT-3.5-Turbo-0613:能够支持多达 4K 标记上下文的 GPT 模型
- GPT-3.5-Turbo-16K-0613:能够在上下文中支持多达 16K 标记的 GPT 模型
- 克劳德-1.3:能够支持多达 8K 个语境令牌的模型
- Claude-1.3-100K:能够支持多达 100K 标记上下文的模型
每个模型都使用了标准提示,并分别在包含 10、20 和 30 个句子的输入语境中进行了实验。
成果
下图显示了测试相关信息位置变化时多文档问题答案性能变化的结果。(纵轴是正确答案的百分比,横轴上的 1 代表句子的开头)。
从图中可以看出,当相关信息位于上下文开头或结尾时,性能最高,而当模型需要使用输入上下文中间的信息时,性能下降得更快。
此外,下图还显示了在改变输入上下文长度时回答多文档问题的成绩变化情况(纵轴表示正确答案的百分比,横轴表示输入上下文的长度)。(纵轴表示正确答案的百分比,横轴表示输入上下文的长度)。
从图中可以看出,语言模型在这项任务中的表现随着输入语境的变长而下降。
键值检索
鉴于语言模型在上述多文档问题解答任务中使用输入上下文中间的信息时表现不佳,那么问题来了:语言模型在多大程度上能够检索句子开头的信息?问题是:语言模型能在多大程度上检索句子开头的信息?
本文采用键值检索任务并进行了实验,以解决这一问题。
实验装置
在键值检索中,输入是一个 JSON 对象,序列化为包含 k 个键值对的字符串,任务的目标是返回与指定键相关的值。
因此,每个 JSON 对象都包含一个相关键值对和 k-1 个无关键值对。
如下图所示,我们将对其进行评估,看输出中是否出现了正确的值。(相关的键值对以粗体显示)。
在这项实验中,在这项任务中、
- 通过添加或删除随机键和调整输入上下文的长度,修改输入中键和值对的数量
- 通过改变要搜索的关键字在序列化 JSON 对象中的位置来调整相关信息的位置。
为了能够在各种条件下进行验证,我们进行了两项创新。
实验中使用的语言模型将与多文档问题解答的语言模型类似。
成果
下图显示了当改变输入上下文的长度和相关信息的位置时,键值检索任务成绩变化的研究结果。(纵轴是正确答案的百分比,横轴上的 1 代表句子的开头)。
在这项任务中,我们再次发现,除了非常精确的模型(如 Claude-1.3)之外,当相关信息位于上下文的开头或松尾时,成绩最高,而当相关信息位于输入上下文的中间时,成绩则迅速下降。
摘要
结果如何?在这篇文章中,我们通过两个实验(多文档问题解答和关键值检索)研究了语言模型是如何使用长语境的,并对语言模型的使用进行了分析。本文描述了对
本文进行的两项实验表明,当相关信息位于上下文开头或结尾时,语言模型的性能最佳,而当相关信息位于输入上下文中间时,性能会迅速下降。
这一实验结果是对语言模型如何使用输入语境这一问题的重要发现,并为更好地使用语言模型提供了提示。
我们将密切关注未来的发展,因为对这些语言建模黑箱领域的研究将有助于更好地理解我们的语言模型。
本文介绍了语言模型和实验结果的详细信息,感兴趣的读者可参阅本文了解更多信息。
与本文相关的类别