架构 · 2020

REALM

在预训练时就检索外部文档,而不是等提问时才去查。

演进中 · 需要专门训练

要解决的问题

语言模型只在参数里记知识,预训练语料一固定,模型就无法再对着一份可更新的文集学习。

相对前一代的变化

朴素 RAG 在推理时检索。REALM 把检索放进掩码语言模型的预训练,检索器和阅读器一起更新。

做法

预测被遮住的词之前,先从语料库取出相关文档,再让模型阅读这些文档做预测。检索器因为这个预测损失而得到训练信号。

局限

训练成本高,语料和任务一变就要重来。它证明了检索可以进入训练,但没有成为后来 LLM RAG 的默认做法。

在链路中的位置

是 2020 年与 DPR、RAG 并列的一条线:检索发生在预训练,而不是应用时的一次查询。