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

2020 年春:要回答会变的事实,你押哪条路?

站在 2020 年,参数里确实存着知识,但改不了、也说不出出处;要不要把知识放到外面?

这一页为什么在这里

第一站的置身与抉择。学生回到 2020 年春:手里有越来越大的语言模型,也有“先检索、再阅读”的老路线;要做的是回答会变的事实,还要说得出出处。先让学生押一条路、说出理由,后面 GPT-3 与 RAG(Q05)、换索引实验(Q06–Q07)才有分量。页顶小站牌亮在 ① 2020。

上屏

  • 第 1 步:页顶五站小站牌,① 2020 亮。左「已知」:GPT-3 有 1750 亿参数,模型越大、背下的越多;参数里存着大量事实(LAMA,2019);先检索、再阅读(DrQA,2017)。右「未知」:生成模型会不会真用取来的段落?
  • 第 2 步:三条路:A 继续加参数|B 拿新数据再训练|C 回答时去取。一行约束:知识每月在变,回答要说得出出处。

讲

第 1 步 · 教师可说的话

当时已知与未知

回到 2020 年春天。那时候大家已经知道,语言模型的参数里存了很多事实:有人专门做过探测,把“某某出生在___”这类填空喂给模型,它能填对不少。问答系统也早就会先去维基百科找段落、再从段落里读答案。

第 2 步 · 教师可说的话

在约束下比较三条路

现在交给你一个任务:让模型回答会变的事实,比如“某国现任总理是谁”,而且要说得出依据。三条路:把模型做得更大、背下更多;隔一段时间拿新数据再训练;或者回答时去外面取。你押哪条?每条路的代价是什么?(停一下,收两三个回答;没人回答就教师自己比较 A 和 C:A 改不了、查不到出处,C 要解决“取什么、用不用得上”。)

本页衔接

其实那一个月里,两条路几乎同时出现。

连续教师稿原文

回到 2020 年春天。那时候大家已经知道,语言模型的参数里存了很多事实:有人专门做过探测,把“某某出生在___”这类填空喂给模型,它能填对不少。问答系统也早就会先去维基百科找段落、再从段落里读答案。

现在交给你一个任务:让模型回答会变的事实,比如“某国现任总理是谁”,而且要说得出依据。三条路:把模型做得更大、背下更多;隔一段时间拿新数据再训练;或者回答时去外面取。你押哪条?每条路的代价是什么?(停一下,收两三个回答;没人回答就教师自己比较 A 和 C:A 改不了、查不到出处,C 要解决“取什么、用不用得上”。)

完整推理

当年已知。 2019 年的 LAMA 用填空式的事实探测(如“X 出生于 ___”)测预训练语言模型,发现不经微调,参数里已经能唤起相当多的事实。另一条路线更早:2017 年的 DrQA 把开放域问答拆成两步,先从维基百科检索相关文章,再从文章里读出答案。2020 年 2 月的 REALM 已经把检索接进了语言模型的预训练。

当年未知。 检索式问答多是抽取式的:答案要原样出现在段落里。大模型能自由生成答案,但生成模型会不会真的用取回来的段落,而不是凭参数里的记忆作答?当时没有人知道。

约束。 要回答的是会变的事实(谁是现任元首、最新的规定),而且要说得出依据。

三条路各自的代价。

  • A 继续加参数:背得更多,但更新仍要再训练,也说不出某个答案的出处。
  • B 拿新数据再训练:能更新,但事实更新多快,训练就得多勤;出处问题仍在。
  • C 回答时去取:更新只要换文档库,出处就是取回的段落;代价是要解决“取什么”(检索器)和“取回以后真用上”(生成器是否依赖段落)两件事。

这一页不预设答案。同一个月,两条路都有人押(Q05):GPT-3 押 A,RAG 押 C。后面的换索引实验,回答的正是“未知”那一栏:取回的段落有没有真被用上。

学生可能的回答与误区

  • 第 2 步|多数人押 C。追问:凭什么认为生成模型会用取来的段落?这正是 2020 年没人确定、要靠实验回答的问题(Q06–Q07)。
  • 第 2 步|押 A 的理由常是“模型越大越聪明”。大模型确实背下更多事实(LAMA),但更新和出处这两个约束,参数本身解决不了。
  • 第 2 步|“B 最稳妥。”再训练能更新事实,但成本随更新频率上升,也给不出出处;对“每月在变”的知识不划算。
  • “RAG 之前没有人想到检索。”检索式问答至少可以追到 DrQA(2017);2020 年初 REALM 已把检索接进预训练。RAG 的新意在于让生成模型和检索器一起工作。

教学构造与出处

在课堂中打开

这个页面有帮助吗?