放进去,不等于用上:只动位置的实验
其他都不变,只挪相关段落的位置,准确率就变了:放进窗口不等于用上。
这一页为什么在这里
第四站的第一个决策点:怎么测“放进去有没有用上”?先让学生设计(给一段还是给二十段,还是只挪位置),再揭示 Lost in the Middle 的真曲线:答案段放在中间时,准确率比一段材料都不给还低。第 4 步 划边界:这是 2023 年的模型;今天的模型要自己测。
上屏
- 第 1 步:题面“怎么测‘放进去有没有用上’?”两张候选卡:只给含答案的那一段 vs 给 20 段|20 段都给,只挪含答案那一段的位置。
- 第 2 步:实验条件一行:NaturalQuestions 的问题;每题 20 段,只有 1 段含答案;gpt-3.5-turbo-0613,4k 窗口。示意:含答案那段从第 1 位挪到第 20 位,其余不变;空坐标:横轴“含答案那段的位置”(1、5、10、15、20),纵轴“准确率”。
- 第 3 步:曲线和数字:第 1 位 75.8%|第 5 位 57.2%|第 10 位 53.8%|第 15 位 55.4%|第 20 位 63.2%;两条参考线:只给含答案的那一段 88.3%,一段都不给(闭卷)56.1%。标注:放在中间,比不给还差。
- 第 4 步:一行:放进窗口不等于用上;今天的模型要自己测。
讲
第 1 步 · 教师可说的话
先设计位置实验
怎么测“放进去有没有用上”?你可以比给一段和给二十段,可那样变的不止一样东西。更干净的办法是:二十段都给,只挪含答案那一段的位置。
指图与比较
比较“给一段或二十段”和“二十段都给、只挪位置”两张卡。
第 2 步 · 教师可说的话
只改变材料位置
2023 年有人做了个很简单的实验:给模型 20 段材料,其中只有一段有答案。其他都不变,只把这一段从第一位慢慢挪到最后一位。你猜准确率会怎么变?
指图与比较
20 段中含答案的同一段,以及固定模型和输入长度。
第 3 步 · 教师可说的话
观察U形结果
结果是一条 U 形:放在第 1 位是 75.8%,挪到第 10 位只剩 53.8%,比一段材料都不给(56.1%)还低。材料明明都在窗口里。
指图与比较
75.8%、53.8% 两点,与闭卷 56.1% 的横虚线。
第 4 步 · 教师可说的话
结论适用的条件
所以“放进去”和“用上”是两回事。也要记住这个结论的边界:它测的是 2023 年那几个模型。我们课前拿一个 0.5B 的小模型、20 道虚构题试了一下:答案段放第 1、5、10 段,分别答对 17、18、19 题,不是 U 形。结论只到测过的模型为止;今天的模型要自己测,方法就是这个:只动一个变量。课后 LAB-C 第 1 节可以自己挪。
指图与比较
图上固定的 2023 年实验条件,与“今天的模型要自己测”。
本页衔接
位置会影响使用,再把问题推进到长度:厂商标出的窗口是否都能有效使用?
连续教师稿原文
怎么测“放进去有没有用上”?你可以比给一段和给二十段,可那样变的不止一样东西。更干净的办法是:二十段都给,只挪含答案那一段的位置。
2023 年有人做了个很简单的实验:给模型 20 段材料,其中只有一段有答案。其他都不变,只把这一段从第一位慢慢挪到最后一位。你猜准确率会怎么变?
结果是一条 U 形:放在第 1 位是 75.8%,挪到第 10 位只剩 53.8%,比一段材料都不给(56.1%)还低。材料明明都在窗口里。
所以“放进去”和“用上”是两回事。也要记住这个结论的边界:它测的是 2023 年那几个模型。我们课前拿一个 0.5B 的小模型、20 道虚构题试了一下:答案段放第 1、5、10 段,分别答对 17、18、19 题,不是 U 形。结论只到测过的模型为止;今天的模型要自己测,方法就是这个:只动一个变量。课后 LAB-C 第 1 节可以自己挪。
完整推理
两种设计的差别。 “只给一段”和“给二十段”比,同时改变了两样东西:材料的多少和干扰的多少,分不清是哪一样起作用。更干净的是:二十段都给,只挪含答案那一段的位置,其余全不动。
实验(2023)。 Lost in the Middle 用 NaturalQuestions-Open 里来自真实 Google 搜索的问题,每题配 20 段维基百科段落(平均约 3,000 token),只有一段含答案,其余是检索出来的、相关但不含答案的段落。
结果(gpt-3.5-turbo-0613,作者报告)。 含答案的段落在第 1、5、10、15、20 位时,准确率依次为 75.8%、57.2%、53.8%、55.4%、63.2%:两头高、中间低,呈 U 形。参照:闭卷(一段都不给)56.1%;只给含答案的那一段 88.3%。放在第 10、15 位时,比一段都不给还低。
怎么读。 模型并不均匀地使用它的输入:开头和结尾的信息更容易被用上,中间的容易被忽略。“放进去”和“用上”是两回事;而且多给的干扰材料会把本来会答的题拖下去。
边界。 这是 2023 年的模型和这类多文档问答任务上的结果;原文还测了其他模型。后来的模型在这类测试上有改进,所以这条曲线是一个要自己复测的假设,而不是今天的定律。课前我们在一个小模型上复测过,结果不是 U 形(见“动手”)。
学生可能的回答与误区
- 第 1 步|“比给一段和给二十段就行。”那样同时变了材料量和干扰,分不清原因。
- 第 3 步|“中间比闭卷还低,说明模型没读中间。”更准确的说法是:在有干扰的长输入里,中间的信息没被有效用上,干扰还拉低了本来能答对的题。
- 第 4 步|把 2023 年的曲线当成今天所有模型的规律。方法可以迁移,结果要重测。
教学构造与出处
- 教学构造:第 1 步 的两张候选卡是课件列的;第 3 步 的折线按原文表格里的数重画。
- Lost in the Middle · How Language Models Use Long Contexts:Liu 等(斯坦福、伯克利、Samaya AI),TACL 2024;数值核自 arXiv 2307.03172v3 表 1(闭卷 56.1%、只给相关段 88.3%)与表 6(20 段设置下五个位置的准确率)。作者报告,来源支持。
动手
- LAB-C §1|挪位置:Deepnote · C|放进去用上了吗:位置、长度与像指令的材料。CPU 上的 Qwen2.5-0.5B-Instruct,20 道虚构题,问题和材料固定,只挪支持段。
- 先写下:支持段放在第 1、5、10 段时各会答对几题;会不会是 U 形?
- 课前实测(教学用小实验,不是论文复现):10 段里支持段放第 1/5/10 段,答对 17/18/19 题(85%/90%/95%);只给支持段 20/20;闭卷 0/20(题是虚构的,不能和论文的 56.1% 比)。改成 6 段时为 20/19/20。不是 U 形:结论只到测过的模型和材料为止。
- 再只改一个条件:段数,或干扰材料和支持段有多像。