在计算机科学研究领域,基准测试通常依赖于“静态”数据。我们在 2018 年的维基百科转储数据上训练模型,测试关于这些数据的问题,然后就大功告成了。但在现实世界中,信息是流动的。突发新闻、法律变更以及新的科学发现每时每刻都在发生。一个擅长检索历史但无法索引今日新闻的搜索引擎,在功能上是无用的。

这个问题引出了信息检索 (IR) 领域一场引人入胜的对决: 一方是卫冕冠军——双编码器 (Dual Encoders, DE) , 另一方是新兴挑战者——生成式检索 (Generative Retrieval, GR)

在论文 Exploring the Practicality of Generative Retrieval on Dynamic Corpora 中,来自 KAIST AI、首尔国立大学等机构的研究人员调查了这两种截然不同的架构如何处理“动态 IR (DynamicIR)”问题。它们能否在不遗忘旧信息的情况下学习新信息?更新它们的代价有多大?研究结果挑战了当前的行业标准,并暗示了我们未来构建搜索引擎的方式可能会发生重大转变。

参赛选手: 双编码器 vs. 生成式检索

在深入实验之前,我们需要理解这些模型“思考”方式的根本差异。

1. 双编码器 (DE): 匹配游戏 这是大多数现代向量搜索系统 (如基于 BERT 的检索器) 使用的标准方法。

  • 机制: 你有两个独立的神经网络 (编码器) 。一个将你的搜索查询 (Query) 转化为向量 (一串数字) 。另一个将数据库中的每篇文档 (Document) 转化为向量。
  • 检索: 为了找到答案,系统会计算查询向量与数百万个文档向量之间的数学相似度 (点积) ,以找到最接近的匹配项。
  • 弱点: “知识”存储在外部的向量索引中。更新语料库意味着需要重新编码文档并更新庞大的索引。

2. 生成式检索 (GR): 记忆者 这是由序列到序列模型 (如 T5 或 BART) 驱动的较新范式。

  • 机制: 没有外部的向量索引。模型被训练为接收查询作为输入,并生成文档的标识符 (如标题或唯一的子字符串) 作为输出。
  • 检索: 模型将文档“记忆”在其自身的内部参数 (权重) 中。
  • 潜力: 它简化了架构 (不需要单独的向量数据库) ,但批评者担心它难以更新或容易产生幻觉。

挑战: 动态信息检索

研究人员建立了一个名为 DynamicIR 的设置来模拟真实世界。他们使用了 StreamingQA 基准测试,其中包含 2007 年至 2020 年的新闻文章和问题。该数据集至关重要,因为它包含时间戳,允许团队测试模型如何处理时间流。

图 1 所示,研究人员设计了三种不同的场景来测试模型:

图 1: DynamicIR 的结构。此图展示了 DynamicIR 中三种设置的训练和推理过程。

  1. StaticIR (A & B): 基线。模型在初始语料库 (2007–2019 年的新闻) 上进行训练并对其进行测试。
  2. 基于索引的更新 (C): 新语料库 (2020 年的新闻) 到达。模型不能改变其参数 (不进行训练) 。它必须简单地“索引”新数据。
  • 对于 DE,这意味着编码新文档并将它们添加到堆栈中。
  • 对于 GR,这意味着使用约束解码技术,允许模型从新列表中输出标识符。
  1. 基于训练的更新 (D & E): 黄金标准。模型被允许在新的 2020 年语料库上“持续预训练”以内化新信息,然后更新其索引。

核心方法: 如何更新生成式模型?

该论文最重要的技术贡献之一是确定了如何在并未新数据上有效地训练生成式检索模型。如果你重新训练整个模型,速度会很慢,并且面临“灾难性遗忘” (覆盖旧知识) 的风险。

研究人员分析了神经网络的哪些部分在学习新信息时变化最大。他们将这些定义为动态参数 (Dynamic Parameters, DPs)

图 2: 获取新知识时的关键参数分析。通过此分析,我们确定了前 10% 最活跃参数的位置。

图 2 所示,他们比较了模型学习新数据前后的情况。他们发现“知识”并非均匀地分布在模型中。

表 2: 平均动态参数 (DPs) 数量。它揭示了 DPs 在全连接层中更为普遍。

表 2 证实了他们的假设: 前馈网络 (FFN) (标记为 FC1 和 FC2) 包含的动态参数大约是注意力层 (Attention layers) 的 25 倍 。 这表明,虽然注意力层处理信息的“推理”或路由,但 FFN 层充当存储实际事实的“键值记忆”。

基于此,作者提出了一种针对性的更新策略。他们没有使用通常针对注意力机制的标准 LoRA (低秩自适应) ,而是专门将 LoRA 应用于 FFN 层。这使得 GR 模型能够有效地吸收 2020 年的新闻,而不会遗忘 2007–2019 年的历史。

实验与结果

团队比较了 GR 模型 (具体为 SEAL、MINDER 和 LTRGR) 与 DE 模型 (DPR、Spider、Contriever) 。结果突显了生成式检索的三大胜利。

1. 适应性: GR 学得更好

当接触到新的 2020 年语料库时,生成式检索模型的适应能力明显优于双编码器。

  • 基于索引的更新: 即使没有重新训练,GR 也表现出了 4% 的更好适应性。
  • 基于训练的更新: 当允许在新数据上训练时,GR 的表现平均超过 DE 11%

下方的可视化分解了性能差距:

图 3: DynamicIR 中的总体性能可视化。

图 3 中,请看 SEALMINDER (GR 模型) 的表现。它们在初始查询 (红星) 和新查询 (蓝星) 上都保持了高准确率。相比之下,DE 模型 (Spider、Contriever) 难以兼顾两者。

2. 鲁棒性: “时间偏差”陷阱

最令人震惊的发现之一是双编码器在“作弊”。

在数据集中,关于新语料库的查询通常包含字符串“2020”,目标文档也包含“2020”。严重依赖通过编码器进行词汇匹配的双编码器,过度索引了这个时间戳。

当研究人员进行消融实验,从文本中移除具体的时间戳时,双编码器的性能崩塌了。

表 9: 关于时间信息偏差的消融研究。DE 显示出对时间戳的词汇偏差。

表 9 所示,当移除导致偏差的时间戳 (w/o timestamp) 后, Spider DE 的性能从大约 34% (见之前的表格) 下降到了 17.40% 。 相比之下,GR 模型( SEAL GR, MINDER GR )保持了鲁棒性,仅略有下降或保持高性能 (大约 37-39% )。这证明了 GR 模型实际上是在学习新闻的内容,而 DE 模型则依赖于表面层面的捷径。

3. 效率: 事半功倍

对于实际部署而言,准确性并不是一切。成本和速度同样重要。论文为 GR 的效率提出了令人信服的案例。

推理 FLOPs (计算成本) : 双编码器的复杂度为 \(O(N)\),其中 \(N\) 是语料库大小。从技术上讲,要找到一个文档,你需要将查询与整个数据库进行比较 (或搜索庞大的索引) 。生成式检索相对于语料库大小的复杂度为 \(O(1)\)——它只是生成 token。

图 4: 推理 FLOPs 随实例数量的变化。GR 在静态和更新语料库上的 FLOPs 是相同的。

图 4 展示了这种巨大的差异。GR 线 (橙色圆圈) 保持平坦且低。随着系统规模扩大,DE 线 (绿色) 急剧上升。

存储和索引:

  • 存储: GR 需要的存储空间少 4 倍 。 DE 需要为每个文档存储一个密集向量 (对于大型语料库来说是数百 GB) 。GR 将这些知识压缩在其参数中。
  • 索引时间: 在更新模型时,DE 需要重新索引整个语料库,这在实验中花费了 20.4 小时 。 GR 仅需 3.1 小时即可完成更新。

结论与启示

这篇研究论文从根本上挑战了双编码器在动态环境中的主导地位。虽然双编码器 (如当今许多 RAG 系统背后的那些) 对静态数据有效,但当世界发生变化时,它们显露出了裂痕:

  1. 如果不进行昂贵的重新索引,它们很难整合新知识。
  2. 它们依赖于表面层面的启发式规则 (如匹配日期) ,而不是深层的语义理解。
  3. 在大规模下,它们的计算量大且存储密集。

生成式检索 , 特别是采用作者提出的针对 FFN 的训练方法,提供了一种更“有机”的信息处理方式。它像人类一样学习新事实——通过更新内部记忆——而不是仅仅把新页面塞进文件柜里。

有何隐患? 论文指出了一个局限性: 延迟 。 虽然 GR 使用的计算量 (FLOPs) 较少,但目前搜索的实际挂钟时间比 DE 慢 (毫秒 vs. 半秒) 。这是因为向量搜索 (DE 使用) 经过了像 FAISS 这样的库的高度优化,而自回归生成 (GR 使用) 是顺序的且较慢。

然而,随着硬件加速器和诸如推测解码 (speculative decoding) 等技术的进步,“生成慢”的问题可能会消失,留给我们的是一种更智能、更轻量且更能适应这一不断变化世界的检索范式。