生成 · 2020

Fusion-in-Decoder

每段资料单独编码,解码时再把多段证据合到一起写答案。

演进中 · 需要专门训练

要解决的问题

把许多段落拼成一条超长输入,早期模型既贵又容易互相干扰。

相对前一代的变化

朴素 RAG 把检索结果一次性塞进同一个编码器。FiD 让每个段落和问题组成一对,分开编码,只在解码器里融合。

做法

Izacard 和 Grave 用 T5:检索来的段落各自过编码器,解码器同时注意所有这些编码结果,生成一个答案。

局限

需要训练阅读器,不能直接套在只提供接口的闭源模型上。段落数量增加时,解码器的计算仍然上升。

在链路中的位置

改的是生成器如何阅读多段证据,位于检索之后。