跳到内容
Coding with AI · Lecture 08
Esc
↑↓导航↵打开⌘J预览
本页内容

放进去,不等于用上:只动位置的实验

其他都不变,只挪相关段落的位置,准确率就变了:放进窗口不等于用上。

这一页为什么在这里

第四站的第一个决策点:怎么测“放进去有没有用上”?先让学生设计(给一段还是给二十段,还是只挪位置),再揭示 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 形:结论只到测过的模型和材料为止。
  • 再只改一个条件:段数,或干扰材料和支持段有多像。

在课堂中打开

这个页面有帮助吗?