精读笔记:Fusion-in-Decoder (FiD)

论文全名:Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering
arXiv 编号:2007.01282
作者:Gautier Izacard, Edouard Grave(Facebook AI Research)
发表会议:EACL 2021(欧洲计算语言学协会年会)
精读日期:2026-05-27


阅读地图

本文提出了一种叫做 Fusion-in-Decoder(FiD,在解码器中融合) 的开放域问答架构。整篇论文逻辑清晰,建议按以下顺序阅读:

  1. Abstract(摘要):了解核心贡献和结论
  2. Introduction(引言):了解背景、问题与动机
  3. Method § Reading(方法·阅读子节):FiD 架构的核心,本文精读重点
  4. Method § Retrieval(方法·检索子节):BM25 和 DPR 两种检索方式
  5. Experiments(实验):性能数字、段落数量影响、扩展性分析
  6. Conclusion(结论):一句话概括
  7. Related Work(相关工作):可选,帮助定位论文在研究谱系中的位置

一、摘要(Abstract)

原文(关键句)

"Generative models for open domain question answering have proven to be competitive, without resorting to external knowledge. While promising, this approach requires to use models with billions of parameters, which are expensive to train and query. In this paper, we investigate how much these models can benefit from retrieving text passages, potentially containing evidence. We obtain state-of-the-art results on the Natural Questions and TriviaQA open benchmarks. Interestingly, we observe that the performance of this method significantly improves when increasing the number of retrieved passages. This is evidence that generative models are good at aggregating and combining evidence from multiple passages."

翻译

用于开放域问答的生成式模型已被证明具有竞争力,且无需借助外部知识。尽管前景可期,但这一方法需要使用包含数十亿参数的模型,其训练和查询的代价极其高昂。在本文中,我们研究这些模型能从检索到的、可能包含证据的文本段落中获益多少。我们在 Natural Questions 和 TriviaQA 开放基准测试上取得了最先进的结果。有趣的是,我们观察到随着检索段落数量的增加,该方法的性能显著提升。这说明生成式模型善于从多个段落中聚合并整合证据。

新手讲解

什么是"开放域问答"(Open Domain QA)?
就是"什么都能问"的问答系统。不像阅读理解(给你一段话然后问问题),开放域问答没有预设的参考文档,系统需要自己去知识库(比如整个维基百科)里找答案。比如问"鲁迅是哪年去世的?"——系统要自己去海量文章里找这个答案。

摘要想解决什么问题?
之前已经有人证明:可以把知识"记"在超大模型的参数里,直接让模型"凭记忆"回答问题。但这需要数十亿参数,代价巨大。本文的思路是:让模型变小一点,同时给它配一个"检索器",先去找几篇相关文章,再让模型读这些文章来回答问题——这就是"生成式模型 + 段落检索"的组合拳。

最重要的发现是什么?
检索的段落越多,性能越好。这说明生成式模型(不同于抽取式模型)真的有能力读很多篇文章、综合信息后给出答案——而不是看一篇文章就"乱找"一个答案片段。


二、引言(Introduction)

第一段:背景与现有方法的局限

原文(关键句)

"Large pretrained language models are able to store a surprising amount of world knowledge, solely from unsupervised training on text corpora. Roberts et al. (2020) showed that using a generative model, namely T5, was sufficient to achieve competitive performance on open-domain question answering without access to any external knowledge. While this approach is very promising, it requires using T5 models containing billions of parameters, which are expensive to train and query."

翻译

大型预训练语言模型能够仅从文本语料库的无监督训练中存储惊人数量的世界知识。Roberts 等人(2020)表明,使用生成式模型(即 T5)在不访问任何外部知识的情况下,足以在开放域问答上取得有竞争力的表现。尽管这一方法很有前景,但它需要使用包含数十亿参数的 T5 模型,训练和查询成本极高。

新手讲解

把大语言模型想象成一个背书背得很好的学生。他读了海量的文章,把知识都"记在脑子里"(即模型的参数里)。考试时不用翻书,全凭记忆答题。这当然可以,但要"记住"全世界的知识,这个学生的大脑需要非常非常大(110亿参数的 T5-11B),训练一次要消耗巨量算力。

本文的思路:能不能让学生"小一点",但是允许他考试时"带一本参考书"(检索出来的相关段落)?


第二段:抽取式方法的不足

原文(关键句)

"A natural approach to open-domain question answering consists in retrieving support passages from a large corpus, before extracting the answer from the retrieved passages. While this approach has shown good performance, aggregating and combining evidence from multiple passages is not straightforward when using extractive models."

翻译

开放域问答的一种自然方法是:先从大型语料库中检索支持段落,再从检索到的段落中抽取答案。尽管这种方法表现良好,但当使用抽取式模型时,从多个段落中聚合和整合证据并不直观。

新手讲解

什么是"抽取式(Extractive)"模型?
抽取式模型不"生成"答案,而是在原文中"圈出"一段文字作为答案。就像在一段话里用荧光笔划出答案所在句子。

它的问题是什么?
如果答案线索散布在多篇文章里,抽取式模型很难把这些线索"合并"。它只能从单篇文章里划出一段话,没法说"综合这三篇文章,我得出答案是……"。生成式模型则可以"综合理解后自己写出答案",灵活很多。


第三段:本文方案

原文(关键句)

"In this paper, we consider a simple two-step approach: retrieve support passages using either sparse or dense representations, then a sequence-to-sequence model generates the answer, while taking the retrieved passages as input. [...] We observe that the performance of this method significantly improves when increasing the number of retrieved passages, and that this improvement is much more significant for generative models compared to extractive models. This is evidence that generative models are good at combining evidence from multiple passages, compared to extractive ones."

翻译

在本文中,我们考虑一种简单的两步方法:先使用稀疏或密集表示检索支持段落,然后以检索到的段落作为输入,由序列到序列模型生成答案。[...] 我们观察到,随着检索段落数量的增加,该方法的性能显著提升,且这种提升对生成式模型而言远比对抽取式模型显著。这证明了生成式模型善于整合多个段落的证据,而抽取式模型则不然。

新手讲解

什么是"序列到序列(Seq2Seq)"模型?
这是一类"输入一段文字、输出一段文字"的神经网络。比如翻译(输入英文→输出中文)、摘要(输入长文→输出短文)。T5、BART 都属于这类模型。

两步方案的直觉
- 第一步(检索):像图书馆员,根据问题找出最相关的若干篇文章段落
- 第二步(生成):像有经验的答题者,读完这些段落,综合理解,自己写出答案

关键发现(预告)
段落给得越多,生成式模型表现越好——而抽取式模型在段落很多时反而不见得更好(因为"找答案片段"的难度随段落增多而上升)。


三、方法(Method)——精读重点

本节是全文核心,详细描述了 FiD 的架构设计。请仔细阅读每一段。

3.1 检索(Retrieval)

段落一:BM25 检索

原文(关键句)

"We consider two different ways of retrieving passages given a question. The first one, BM25, represents each passage as a bag-of-words and ranks them based on the term and inverse document frequencies. We use the Apache Lucene implementation of BM25 with the default parameters and tokenize the text with SpaCy."

翻译

对于给定问题,我们考虑两种不同的段落检索方式。第一种是 BM25,它将每个段落表示为词袋,并基于词频和逆文档频率对其进行排序。我们使用采用默认参数的 Apache Lucene 实现的 BM25,并用 SpaCy 对文本进行分词。

新手讲解

BM25 是什么?
BM25 是一种经典的基于关键词的检索算法("稀疏检索")。简单理解:问题里有哪些词,这些词在哪篇文章里出现得多且整体文章库里出现得少(说明这个词有区分度),那篇文章就更相关。就像搜索引擎的关键词匹配。

它的局限性:无法理解语义。比如问"汽车怎么跑",BM25 不知道"automobile"和"car"是同一回事。


段落二:DPR 密集检索

原文(关键句)

"The second one, DPR (Karpukhin et al., 2020), represents questions and passages with dense vectors, using two BERT networks. The score of a question-passage pair corresponds to the dot product between the query and passage representations. Passages are retrieved using FAISS, a library for fast nearest neighbor search in high-dimensional spaces."

翻译

第二种是 DPR(Karpukhin 等人,2020),它使用两个 BERT 网络分别将问题和段落表示为密集向量。一个问题-段落对的得分等于查询表示与段落表示之间的点积。段落的检索使用 FAISS——一个用于高维空间中快速近邻搜索的库——来实现。

新手讲解

DPR(Dense Passage Retrieval,密集段落检索)是什么?
DPR 是一种更"智能"的检索方式("密集检索")。它用神经网络(BERT)把问题和每段文字都转换成一个向量(一组数字),语义相近的文字在向量空间里也彼此接近。检索时只需找"离问题向量最近的段落向量"。

类比:BM25 是按"关键词索引"找书,DPR 是按"内容理解"找书。比如问"汽车怎么跑",DPR 能理解"car"、"automobile"、"engine"都有关联。

FAISS:因为维基百科有千万级段落,每次都要对所有段落做相似度计算太慢。FAISS 是 Facebook 开源的近似最近邻搜索库,能在毫秒级别完成大规模向量检索。


3.2 阅读/生成(Reading)——FiD 核心架构

这一节是整篇论文最重要的部分,请逐段仔细阅读。

段落一:基础模型选择

原文(关键句)

"Given a question and a set of support passages, we want to generate the answer. We rely on sequence-to-sequence models, which are pretrained on large amounts of data, such as T5 (Raffel et al., 2019) or BART (Lewis et al., 2019)."

翻译

给定一个问题和一组支持段落,我们希望生成答案。我们依赖于在大量数据上预训练的序列到序列模型,例如 T5(Raffel 等人,2019)或 BART(Lewis 等人,2019)。

新手讲解

术语解释:编码器-解码器(Encoder-Decoder)
T5 和 BART 都是"编码器-解码器"架构:
- 编码器(Encoder):负责"读",把输入文字转换成一组向量(机器内部的理解表示)
- 解码器(Decoder):负责"写",根据编码器输出的向量,一个词一个词地生成输出文字

就像翻译过程:先理解原文(编码),再写出译文(解码)。

本文选择 T5 作为主要基础模型,分两个尺寸:base(基础,2.2亿参数)和 large(大型,7.7亿参数)。


段落二:输入格式设计

原文(关键句)

"Each retrieved passage and its title are concatenated with the question, and processed independently from other passages by the encoder. In practice, we format the input of each passage as: 'question: {question} title: {title} context: {passage}'."

翻译

每个检索到的段落及其标题都与问题拼接,然后由编码器独立处理,不与其他段落交互。实际上,我们将每个段落的输入格式化为:"question: {问题} title: {标题} context: {段落}"。

新手讲解

独立编码的设计

假设我们检索了 100 个段落,FiD 不是把所有段落拼在一起交给编码器处理,而是这样:

编码器处理 [段落1]:
  "question: 鲁迅生于哪年 title: 鲁迅 context: 鲁迅(1881-1936),原名周树人..."
  → 得到 段落1的编码向量

编码器处理 [段落2]:
  "question: 鲁迅生于哪年 title: 中国文学史 context: 周树人,字豫才,1881年生..."
  → 得到 段落2的编码向量

... (以此类推,共100次独立编码)

每次编码时,问题都重复一遍,这样编码器知道"这个段落是为了回答这个问题而被读的"。

为什么要独立编码?
这是 FiD 最关键的设计决策,原因在下一段详解。


段落三:解码器融合——FiD 的核心创新

原文(关键句)

"The decoder performs attention over the concatenation of the resulting representations of all the retrieved passages. This allows the model to aggregate evidence from multiple passages while generating each answer token."

翻译

解码器对所有检索到的段落的结果表示的拼接执行注意力操作。这使模型能够在生成每个答案词时,从多个段落中聚合证据。

新手讲解

这句话是 FiD 的灵魂。我们逐层拆解:

Step 1:每个段落单独被编码器"读"一遍
得到段落1的编码 $H_1$、段落2的编码 $H_2$、……段落100的编码 $H_{100}$。

Step 2:把所有编码拼接起来
$H = [H_1; H_2; H_3; \ldots; H_{100}]$(沿序列维度拼接)

Step 3:解码器在生成答案时,对 $H$ 做注意力(Attention)
解码器每生成一个词,都会"看一眼"所有100个段落的编码,综合判断哪些信息最重要,然后写出下一个词。

类比:分头读资料、汇总后写答案

想象你是一名研究员,要回答一个复杂问题:

  1. 分头读:你让100个助理,每人拿着问题去读一篇相关文章,各自做好笔记(独立编码)
  2. 汇总笔记:把100份笔记都摊在桌上(拼接编码)
  3. 综合写答案:你看着所有笔记,综合理解,亲自写出答案(解码器融合生成)

这就是"Fusion-in-Decoder(在解码器中融合)"名字的由来——融合发生在解码器阶段,而不是编码阶段


段落四:FiD 与朴素融合方法的对比(隐含段落,关键思想)

原文(关键句)

"This approach differs from previous work by the way the generative model processes the retrieved passages. In particular, our approach processes passages independently in the encoder, and jointly in the decoder."

翻译

这种方法与先前工作的不同之处在于生成式模型处理检索段落的方式。特别是,我们的方法在编码器中独立处理各段落,并在解码器中联合处理。

新手讲解

为什么不把所有段落直接拼在一起扔进编码器?

假设把100个段落全部拼接后一起输入编码器,输入长度可能达到:
$$100 \text{ 个段落} \times 250 \text{ 个词} = 25000 \text{ 个词}$$

Transformer 的注意力机制复杂度是 $O(n^2)$($n$ 是序列长度),25000个词意味着需要计算 $25000^2 = 6.25 \times 10^8$ 次注意力——这在计算上几乎不可行!

FiD 的妙处:线性 vs. 平方复杂度

方案 编码器计算复杂度 说明
全部拼接后编码 $O((N \cdot L)^2)$ N=段落数,L=每段落长度,平方增长
FiD:独立编码 $O(N \cdot L^2)$ 每个段落单独算,线性增长

每个段落单独编码,长度只有250词,计算量是 $250^2 = 62500$。100个段落就是 $100 \times 62500 = 6.25 \times 10^6$。比拼接方案少了100倍!

但融合发生在解码器,所以信息没有丢失——解码器在生成答案时能"看到"所有100个段落的编码结果。这就是 FiD 设计的精妙之处:用线性的代价实现了多段落的全局融合


段落五:与同期工作(RAG)的区别

原文(关键句)

"This approach is related to Min et al. (2020) and Lewis et al. (2020), who also combine retrieval and generative models for open-domain question answering. However, our approach differs in how the generative model processes the retrieved passages, allowing us to scale to larger numbers of documents."

翻译

该方法与 Min 等人(2020)和 Lewis 等人(2020)的工作相关,他们也将检索与生成模型相结合用于开放域问答。然而,我们的方法在生成模型处理检索段落的方式上有所不同,使我们能够扩展到更多数量的文档。

新手讲解

FiD 与 RAG(Retrieval-Augmented Generation)的核心区别

Lewis 等人(2020)提出的 RAG 是另一篇经典论文(本系列精读-02)。对比如下:

特性 RAG(Lewis 2020) FiD(本文)
基础模型 BART T5
检索段落数 通常 5 个 可扩展到 100 个
段落处理方式 每个段落单独过一遍 encoder+decoder,再对多个段落的答案概率做边缘化 编码器独立编码各段落,解码器联合注意所有段落
融合位置 通过概率边缘化(Marginalization)在答案层面融合 解码器注意力层面融合(更深层次)
扩展段落数量 扩展困难(每个段落要完整 decode) 线性扩展,100个段落计算可行

直觉区别
- RAG 像是"100个人各自独立写了一份答案,然后投票选出最好的"
- FiD 像是"100个人各自读了一篇文章做了笔记,然后由一个人综合所有笔记写出最终答案"

FiD 的融合更彻底,效果更好,而且能支持更多段落。


四、实验(Experiments)

4.1 数据集与评估指标

原文(关键句)

"We use the same splits as Lee et al. (2019) for all datasets. Natural Questions contains questions corresponding to Google search queries, and the open-domain version was obtained by discarding answers with more than 5 tokens. TriviaQA gathers questions from trivia and quiz-league websites. We also consider the SQuAD v1.1 dataset, where annotators were asked to write questions for which the answer is a span from the corresponding paragraph. [...] We evaluate our models using the standard exact match metric (EM), where a generated answer is considered correct if it matches any answer of the list of acceptable answers after normalization."

翻译

我们对所有数据集使用与 Lee 等人(2019)相同的数据划分。Natural Questions 包含对应 Google 搜索查询的问题,其开放域版本通过丢弃超过5个词的答案而获得。TriviaQA 收集来自益智游戏和竞赛网站的问题。我们还考虑了 SQuAD v1.1 数据集,其中标注者被要求针对对应段落中的某个片段撰写问题。[...] 我们使用标准精确匹配指标(EM)评估模型,其中生成的答案在规范化处理后,若与可接受答案列表中的任意答案匹配,则视为正确。

新手讲解

三个数据集简介

数据集 问题来源 答案特点 难度
Natural Questions (NQ) Google真实搜索记录 短答案(≤5词) 高,真实问题
TriviaQA 智力竞赛题库 各类知识 中高
SQuAD Open 人工编写的阅读理解题 原文片段 中,题目较规律

EM(精确匹配)指标:预测答案和标准答案完全一致(忽略大小写、标点、冠词)才算正确。这是一个严格的指标,比"答案里包含关键词"更难达到。


4.2 技术细节

原文(关键句)

"We use pretrained T5 models from the HuggingFace Transformers library, considering the base (220M parameters) and large (770M parameters) versions. We train our models using Adam optimizer with a learning rate of 10⁻⁴ and a dropout rate of 10%, during 10,000 gradient steps with a batch size of 64, on 64 Tesla V100 32Gb. For NQ and TriviaQA, we use DPR for retrieval, and BM25 for SQuAD."

翻译

我们使用 HuggingFace Transformers 库中的预训练 T5 模型,考虑 base(2.2亿参数)和 large(7.7亿参数)两个版本。我们在 64 张 Tesla V100 32GB 显卡上,使用学习率 $10^{-4}$、dropout 率 10% 的 Adam 优化器,以批大小 64 训练 10,000 步。NQ 和 TriviaQA 使用 DPR 检索,SQuAD 使用 BM25。

新手讲解

实验规模感受:64张 V100 显卡同时训练,显示这是工业级的实验配置(普通研究者一般只有1-8张)。这说明该论文来自 Facebook AI Research,具有较强的算力支撑。

检索方式选择(NQ/TriviaQA 用 DPR,SQuAD 用 BM25)是遵循此前研究(Karpukhin 等人,2020)在各数据集上的最优实践,并非本文探索的变量。


4.3 与最先进方法的对比(表1分析)

原文(关键句)

"Our approach achieves state-of-the-art results on all three datasets, by a large margin. [...] Interestingly, our large model (with 770M parameters) reaches 51.4% exact match on Natural Questions, compared to the closed-book T5 model, which achieves 36.6% accuracy with 11B parameters."

翻译

我们的方法在所有三个数据集上均大幅超越了最先进的结果。[...] 有趣的是,我们的大型模型(7.7亿参数)在 Natural Questions 上达到了 51.4% 精确匹配,而闭卷 T5 模型需要 110 亿参数才能实现 36.6% 的准确率。

新手讲解

实验结果汇总

数据集 FiD-base FiD-large 此前最优(参考)
Natural Questions 48.2% EM 51.4% EM RAG: 44.5%
TriviaQA Open 65.0% EM 67.6% EM
SQuAD Open 77.1% EM 80.1% EM

最重要的对比
- FiD-large(7.7亿参数)在 NQ 上达到 51.4%
- 闭卷 T5-11B(110亿参数)只有 36.6%

结论:给一个小模型配上检索器,可以用少10多倍的参数取得更好的效果!这验证了"外挂检索记忆"比"硬背到参数里"更高效。


4.4 检索段落数量的影响(图3分析)——关键实验

原文(关键句)

"We observe that the performance of our model significantly improves when increasing the number of retrieved passages, showing a 6% improvement on TriviaQA and 3.5% improvement on NaturalQuestions when going from 10 to 100 passages. In contrast, performance of most extractive models seems to peak around 10 to 20 passages. This gives further evidence that sequence-to-sequence models are good at combining information from multiple passages."

翻译

我们观察到,随着检索段落数量的增加,我们模型的性能显著提升:从10个段落增至100个段落时,TriviaQA 上提升了 6%,NaturalQuestions 上提升了 3.5%。相比之下,大多数抽取式模型的性能似乎在 10 到 20 个段落时达到峰值。这进一步证明序列到序列模型善于整合来自多个段落的信息。

新手讲解

这是全文最有说服力的实验之一。

段落数 NQ(FiD) NQ(抽取式) TriviaQA(FiD)
10 个 ~47.9% 峰值约在此 ~61.6%
20 个 提升... 性能平台或下降 提升...
100 个 ~51.4% (+3.5%) 不见得更好 ~67.6% (+6%)

为什么抽取式模型不能从更多段落中获益?
抽取式模型(如 BERT)的任务是"在文本里找一个连续片段作为答案"。段落越多,候选答案片段越多,找到"正确片段"反而更难(更多干扰项)。而生成式模型不需要从原文中"框"出答案,它可以综合多篇文章的线索,自己"写"出一个答案。

类比
- 抽取式:在一堆文章中用荧光笔圈出答案句子。文章越多,越难圈,圈错的概率越高。
- 生成式:读完所有文章,凭综合理解写出答案。参考资料越多,答案越准确。


4.5 训练段落数量的影响与效率分析(表2分析)

原文(关键句)

"Training with 5 passages achieves 37.8% on NaturalQuestions, and after 1,000 steps of finetuning on 100 passages, this improves to 45.0% EM. [...] Our model reaches 46.0 EM on NaturalQuestions, using 147 GPU hours, compared to 425 GPU hours when training on 100 passages."

翻译

用 5 个段落训练可在 NaturalQuestions 上达到 37.8%,经过 1,000 步在 100 个段落上的微调后,提升至 45.0% EM。[...] 我们的模型在 NaturalQuestions 上达到 46.0 EM,仅用了 147 GPU 小时,而从头在 100 个段落上训练则需要 425 GPU 小时。

新手讲解

效率优化策略:先少段落预训练,再多段落微调

训练策略 NQ EM GPU 小时
直接用 100 段落训练到收敛 51.4% 425 小时
用 5 段落训练 + 100 段落微调 1000 步 46.0% 147 小时
用 25 段落训练 + 100 段落微调 45.3% 中间值

洞察:少用一点精度(46.0 vs 51.4),计算量减少约 65%(147 vs 425 GPU 小时)。这对于资源有限的研究者非常实用。

先用少量段落(计算量小)让模型学会基本的"阅读+问答"能力,再用更多段落微调,让模型学会"多段落融合"——这是一种高效的两阶段训练策略。


五、结论(Conclusion)

原文(关键句)

"In this paper, we have shown that a simple two-step approach, combining passage retrieval with a generative model, achieves very competitive results on open-domain question answering tasks. Our method scales well with the number of retrieved passages. An interesting direction for future work would be to investigate efficiency improvements when using a large number of passages, or to learn the whole system end-to-end."

翻译

在本文中,我们展示了一种简单的两步方法——将段落检索与生成式模型相结合——在开放域问答任务上取得了极具竞争力的结果。我们的方法可以随检索段落数量的增加而良好地扩展。未来工作的一个有趣方向是研究使用大量段落时的效率改进,或对整个系统进行端到端学习。

新手讲解

结论的两个未来方向

  1. 效率改进:100 个段落已经很好了,能否用更少计算量支持 200、500 个段落?
  2. 端到端学习:现在检索器(DPR)和生成器(T5)是分开训练的——先训练 DPR 找到好段落,再训练 T5 利用段落回答问题。如果两者联合训练(端到端),也许能找到"对生成器最有用的段落"而不只是"看起来最相关的段落"。

这两个方向后来都有大量后续工作,FiD 成为了 RAG 研究的重要基线之一。


相关工作节梳理了三条研究线:(1) 开放域 QA 的发展历程(从 Chen 等人 2017 的检索-抽取方法到各种改进);(2) 段落检索方法的演变(稀疏→密集→图神经网络);(3) 生成式 QA 的演变(从叙事问答到开放域)。对于新手,可在阅读完方法和实验后再回看此节,以了解 FiD 在研究谱系中的定位。


七、核心思想总结

FiD 架构三句话概括

  1. 独立编码:把 N 个检索到的段落分别(独立地)喂给编码器,每次只处理一个段落(拼上问题),得到 N 组编码向量。
  2. 拼接融合:把 N 组编码向量沿序列维度拼接成一个长向量序列。
  3. 解码器生成:解码器在生成答案时,通过注意力机制"看到"所有 N 个段落的信息,综合所有证据输出答案。

FiD 的优势总结

优势 说明
支持更多段落 编码计算量随段落数线性增长,而非平方增长
融合更深入 解码器在 token 级别融合,比概率边缘化(RAG)更彻底
效果更好 段落数从 10 到 100,NQ 提升 3.5%,TriviaQA 提升 6%
参数高效 7.7 亿参数超越 110 亿参数的闭卷模型

与相关工作的对比图

检索器 (BM25 / DPR)
    │
    │ 返回 N 个段落
    ▼
┌─────────────────────────────────────────────────┐
│                  编码器(T5 Encoder)             │
│  [问题+段落1] → 编码向量 H₁                      │
│  [问题+段落2] → 编码向量 H₂   (独立编码,N次)    │
│  [问题+段落3] → 编码向量 H₃                      │
│         ...                                      │
│  [问题+段落N] → 编码向量 Hₙ                      │
└─────────────────────────────────────────────────┘
    │
    │ 拼接: [H₁; H₂; H₃; ...; Hₙ]
    ▼
┌─────────────────────────────────────────────────┐
│                  解码器(T5 Decoder)             │
│  对所有 N 个段落的拼接向量做注意力(联合融合)       │
│  → 逐词生成答案                                  │
└─────────────────────────────────────────────────┘
    │
    ▼
  最终答案(生成式,如 "1881年")

"Fusion-in-Decoder"的命名由来:融合(Fusion)发生在解码器(Decoder)里——编码阶段彼此独立,解码阶段才汇总所有证据。


八、延伸阅读

论文 关系
DPR (Karpukhin et al., 2020) [arXiv 2004.04906] FiD 使用的密集检索器
RAG (Lewis et al., 2020) [arXiv 2005.11401] FiD 的同期竞争方法,本系列精读-02
T5 (Raffel et al., 2019) FiD 使用的基础生成模型
Atlas (Izacard et al., 2022) [arXiv 2208.03299] FiD 的继任工作,引入端到端检索训练
RETRO (Borgeaud et al., 2021) [arXiv 2112.04426] 更大规模的检索增强生成

精读完毕。全文覆盖:Abstract、Introduction(全部核心段落)、Method(全部段落,重点精读)、Experiments(NQ/TriviaQA 结果、段落数影响、扩展性分析)、Conclusion。相关工作节一句话带过。