引言
大模型有个尴尬的特性:它在训练完成的那一刻,知识就开始过期了。新的政策出台了,新的技术发布了,某个事实变了,模型却还停留在几个月甚至几年前。对用户来说,这很要命:你问它最近的事,它要么答错,要么一本正经地编一个。知识过期不是小毛病,它直接决定了模型在真实世界里还能用多久。
过期长什么样
知识过期的表现有三种。第一种是直接答错:把已经改了的规则当成现行的,把已经不存在的产品当成还在卖的。第二种是“假装知道”:对训练之后发生的事,模型不会说“我不知道”,而是根据旧知识拼出一个看似合理的答案,这就是幻觉最常见的来源之一。第三种是沉默的过时:答案本身没错,但已经不是最好的答案,比如推荐了一个已经被更好方案取代的做法。三种表现里,第二种最危险,因为它把不确定包装成了确定。
第一种解法:现查现用
最常见的解法是检索增强:模型回答之前,先去查最新的资料,再结合着回答。这招的好处是不用动模型本身,知识库随时可以更新;坏处是答案的质量取决于检索的质量,查不到或者查错了,答案照样错。而且检索只能解决“事实是什么”的问题,解决不了“判断怎么做”的问题:新情况需要新的推理框架,光靠查资料是查不来的。检索是创可贴,贴得再好也只是创可贴。
第二种解法:持续训练
另一种思路是让模型不断学习新知识,也就是持续训练。定期用新数据给模型“进修”,让它把新知识融进参数里。这招更彻底,但代价也更大:训练成本高,而且容易顾此失彼——学了新的,忘了旧的。研究者把这种现象叫做灾难性遗忘。控制学习节奏、只更新部分参数、保留旧数据的回放,这些都是在缓解这个问题。持续训练像给模型办终身教育,理念很好,学费很贵。
第三种解法:局部手术
还有一种更精细的办法:知识编辑。找到模型里存着某条知识的部位,直接把它改掉,不用重训整个模型。比如把“某公司的 CEO 是谁”从旧名字改成新名字。听起来很理想,但实际操作起来并不容易:知识在模型里是分布式存储的,改一处可能牵动多处,改完还得验证没有改坏别的东西。知识编辑目前还处在研究阶段,离大规模应用还有距离。
用户该怎么办
在这些解法成熟之前,用户可以先做到两件事。第一,对时效性强的问题保持警惕:问政策、问价格、问最新动态时,先确认模型知识的截止时间,再交叉验证。第二,善用带检索的产品:需要最新信息的时候,选那些明确会联网查资料的工具,而不是只靠模型自身知识。模型不是百科全书,它更像一个学识渊博但有段时间没出门的老朋友:见解值得听,近况需要核实。
结尾
知识过期是大模型的先天问题,解法也没有一劳永逸的。检索、持续训练、知识编辑,三条路各有取舍,行业很可能长期是三者并用。对用户来说,最重要的不是记住哪种技术最好,而是养成一个习惯:对模型给出的“事实”,多问一句“这是什么时候的事实”。一个知道自己知识会过期的模型,和一个知道模型会过期的用户,加起来才是一个可靠的组合。