点击“AladdinEdu,你的AI学习实践工作坊”,注册即送-H卡级别算力,沉浸式云原生集成开发环境,80G大显存多卡并行,按量弹性计费,教育用户更享超低价。
一、引言
想象一个场景:你向手机上的智能助手提问——“第一个登上月球的人是谁?”,助手在不到一秒的时间内回答:“尼尔·阿姆斯特朗”。这个看似简单的交互背后,隐藏着一项极具挑战性的人工智能任务——开放域问答。与给定特定文档的机器阅读理解不同,开放域问答不限定答案所在的文档范围,系统需要从海量的知识源(如整个维基百科、网页快照、专业文献库)中自主定位相关信息,并提炼出精确答案。
开放域问答的挑战是多维度的:
- 规模巨大:知识源可能包含数百万乃至数十亿篇文档,如何快速定位相关文档是首要难题。
- 答案稀疏:正确答案可能仅在一两句话中出现,检索系统必须具备极高的召回能力。
- 推理需求:部分问题无法从单一文档直接回答,需要综合多篇文档的信息进行多跳推理。
- 答案形式多样:答案可能是短语、句子、列表或自由叙述。
面对这些挑战,“检索-阅读”两阶段框架自DrQA(Chen et al., 2017)系统化提出以来,逐渐成为开放域问答的事实标准架构。其核心思想简洁而强大:
- 检索器:从大规模文档库中快速筛选出与问题相关的少量候选文档(通常为几十到几百篇)。
- 阅读器:基于检索到的文档,运用机器阅读理解技术抽取或生成最终答案。
这一框架将“大海捞针”的检索问题与“精细解读”的理解问题解耦,使二者可独立优化、灵活组合。然而,传统的检索器多依赖稀疏向量模型(如TF-IDF、BM25),基于词项匹配计算相似度,难以捕捉深层语义关联,成为制约整体性能的瓶颈。例如,问题“哪个国家拥有最长的海岸线?”与文档“加拿大拥有世界上最长的海岸线”,词项重叠有限,稀疏检索难以匹配。
近年来,以深度学习驱动的稠密检索异军突起。它将问题和文档分别编码为低维稠密向量,通过向量内积计算语义相似度,显著提升了语义匹配和跨词汇泛化能力。Facebook AI的DPR(Karpukhin et al., 2020)开创性地将双塔BERT架构用于开放域检索,在多个基准上大幅超越BM25。此后,ANCE、ColBERT、GTR、Splade等模型不断涌现,推动稠密检索走向成熟和高效。
本文将从技术演进的角度,深度解析开放域问答的“检索-阅读”框架与稠密检索的兴起。第二节回顾开放域问答的发展历程;第三节详述检索-阅读框架的构成与经典实现;第四节聚焦稠密检索的模型设计与训练策略;第五节探讨检索与阅读的联合优化及多跳推理;第六节介绍最新稠密检索模型与评测对比;第七节讨论大规模部署与前沿挑战;第八节展望大模型时代的开放域问答新范式。
二、开放域问答的发展历程
2.1 基于知识库的问答
在互联网尚未普及的时代,开放域问答主要依赖于结构化知识库(如Freebase、DBpedia)。系统将自然语言问题解析为结构化查询(如SPARQL),从知识库中检索事实三元组。代表工作包括Berant等人的SEMPRE系统。这类方法答案精确,但受限于知识库的覆盖度和更新速度,无法回答涉及长尾实体或最新事件的问题。
2.2 早期信息检索+答案抽取
随着Web搜索技术的发展,研究者开始利用搜索引擎返回的网页摘要作为答案来源。TREC QA Track是这一时期的重要推动者。典型流程为:使用检索模型(如BM25)获取相关文档,再利用手工规则或模式匹配从文档片段中提取答案。这类方法严重依赖检索质量和规则覆盖,泛化能力有限。
2.3 深度学习驱动的检索-阅读框架
2017年,陈丹琦等人提出的DrQA首次将神经网络阅读器与文档检索器结合,构建了端到端的开放域问答系统。DrQA的检索器基于TF-IDF,阅读器是一个在SQuAD上训练的多层RNN模型。尽管检索模块仍较为传统,但DrQA验证了两阶段框架的有效性,并开源了代码与数据,极大推动了后续研究。
此后,BERT等预训练模型的诞生使阅读器的能力大幅跃升,而稠密检索的出现则彻底革新了检索器,使得开放域问答的整体性能在短短数年间翻了一番。
三、检索-阅读两阶段框架解析
3.1 框架总览
检索-阅读框架由两个核心模块串联而成:
- 检索器R RR:输入问题q qq,从文档集合D \mathcal{D}D中返回Top-K KK个最相关的文档片段P = { p 1 , p 2 , … , p K } \mathcal{P} = \{p_1, p_2, \dots, p_K\}P={p1,p2,…,pK}。
- 阅读器M MM:输入问题q qq和检索到的文档集P \mathcal{P}P,输出最终答案a aa。
在典型设置中,D \mathcal{D}D为维基百科全部文章(约500万篇,经分块后可达2000万以上文本块),K KK通常取20至100。阅读器可采用抽取式(预测答案在文档中的起止位置)或生成式(自由生成答案文本)。
3.2 检索器
检索器是系统的“召回漏斗”,其质量直接决定答案覆盖的上限。评价检索器的核心指标是召回率:在所有测试问题中,至少有一个相关文档出现在Top-K KK结果中的比例。
检索器可大致分为两类:
- 稀疏检索:将文本表示为高维稀疏向量(词袋向量),相似度计算基于词汇重叠。代表为TF-IDF、BM25。优点是无需训练、可解释性强、支持高效倒排索引。缺点是难以处理词汇不匹配和语义鸿沟。
- 稠密检索:使用神经网络将文本编码为低维稠密向量,相似度通过向量内积或余弦距离计算。优点是能捕获深层语义,对同义词、释义鲁棒。缺点是需要大量训练数据、索引构建和检索计算开销较大。
3.3 阅读器
阅读器基于检索到的文档进行精细阅读并产出答案。根据答案形式,阅读器可分为:
- 抽取式阅读器:预测答案在文档中的起始和结束位置。典型模型为BERT for QA,输入拼接[ C L S ] q [ S E P ] p [ S E P ] [CLS]\ q\ [SEP]\ p\ [SEP][CLS]q[SEP]p[SEP],输出起始/结束logits。训练目标为最大化正确跨度的似然。
- 生成式阅读器:基于Seq2Seq模型(如T5、BART)生成答案序列。输入为q qq和p pp,输出为答案a aa。生成式阅读器可以生成原文中未出现的词汇,灵活性更强,但存在“幻觉”风险。
- 融合式阅读器:将多篇检索文档的信息进行融合,以支持多跳推理。例如,在HotpotQA等数据集上,阅读器需要整合来自不同文档的证据片段。
3.4 训练与推理流程
- 训练阶段:通常检索器和阅读器独立训练。阅读器在监督数据(问题-答案-证据文档三元组)上微调;稠密检索器则利用问题-文档对进行对比学习训练。
- 推理阶段:检索器首先为问题检索K KK篇文档;阅读器对每篇文档独立预测答案(或对多文档进行联合推理),最后根据答案置信度(如跨度概率)选择最优答案输出。
四、稠密检索的兴起:从DPR到ANCE
稀疏检索的语义局限催生了稠密检索的革命。稠密检索的核心是学习一个双塔编码器:问题编码器E Q E_QEQ和文档编码器E P E_PEP,将问题和文档分别映射为d dd维向量,相似度定义为内积sim ( q , p ) = E Q ( q ) ⊤ E P ( p ) \text{sim}(q, p) = E_Q(q)^\top E_P(p)sim(q,p)=EQ(q)⊤EP(p)。
4.1 DPR:稠密段落检索的开山之作
2020年,Facebook AI提出了DPR,首次在大规模开放域问答中系统验证了稠密检索的优越性。DPR的架构简洁而高效:
- 编码器:两个独立的BERT模型(可取相同初始化)分别编码问题和文档。取
[CLS]位置的输出向量作为表示。 - 训练:采用对比学习中的负对数似然损失。对于每个问题q qq,给定一个正相关文档p + p^+p+和一批负文档{ p 1 − , … , p n − } \{p_1^-, \dots, p_n^-\}{p1−,…,pn−},损失函数为:
L ( q , p + ) = − log e sim ( q , p + ) e sim ( q , p + ) + ∑ i = 1 n e sim ( q , p i − ) \mathcal{L}(q, p^+) = -\log \frac{e^{\text{sim}(q, p^+)}}{e^{\text{sim}(q, p^+)} + \sum_{i=1}^n e^{\text{sim}(q, p_i^-)}}L(q,p+)=−logesim(q,p+)+∑i=1nesim(q,pi−)esim(q,p+)
负样本的构造至关重要。DPR发现**“硬负样本”**(即BM25检索排名靠前但非正确的文档)对模型性能提升最为显著。训练中混合使用随机负样本、批内负样本和BM25硬负样本。 - 推理:离线阶段,对所有文档p ∈ D p \in \mathcal{D}p∈D计算文档向量并构建FAISS索引(一种高效的近似最近邻搜索库)。在线阶段,仅需计算问题向量,在索引中检索Top-K KK相似文档。
在Natural Questions和TriviaQA数据集上,DPR将Top-20检索召回率从BM25的约60%提升至近80%,直接带动下游阅读器答案精确匹配率提升10个百分点以上。
4.2 ANCE:面向检索的硬负样本挖掘
DPR的成功部分归功于硬负样本。然而,静态的BM25硬负样本无法适应模型训练过程中的动态变化。ANCE(Xiong et al., 2021)提出了一种异步索引刷新的硬负样本挖掘策略:
- 定期(如每训练若干步)使用当前模型对所有文档重新编码并更新索引。
- 利用最新索引为每个训练问题检索Top文档,将其中非正确的文档作为当前模型的硬负样本。
- 继续用新的硬负样本训练模型。
ANCE的这种方法确保了负样本始终来自当前模型“最困惑”的文档,从而更高效地优化决策边界。实验表明ANCE在多个基准上超越了DPR,且对编码器初始化的依赖更小。
4.3 稠密检索的索引与近似最近邻搜索
稠密检索在推理阶段需要从百万级向量中快速检索最近邻,这依赖于高效的向量索引。FAISS是Facebook开源的大规模向量相似度搜索库,支持多种索引结构:
- Flat索引:暴力计算,精确但慢。
- IVF(倒排文件)索引:对向量空间进行聚类,查询时仅搜索最近几个聚类中心,大幅加速。
- HNSW(分层可导航小世界图)索引:基于图的近似搜索,检索速度与精度俱佳。
实践中,DPR使用FAISS的IVF索引,在保持高召回的同时实现毫秒级查询延迟。
4.4 稠密检索的挑战:域外泛化与计算成本
尽管稠密检索在基准数据集上表现出色,但在实际部署中仍面临挑战:
- 域外泛化:在新闻语料上训练的检索器,迁移到医疗、法律等专业领域时性能骤降。解决方案包括域自适应预训练(在目标域语料上继续预训练)和零样本稠密检索(如GTR模型通过大规模弱监督数据训练获得强泛化性)。
- 索引构建与存储成本:每个文档需存储一个数百维的浮点向量,2000万文档的索引大小可达数十GB,检索时需全部加载至内存。**乘积量化(PQ)**等压缩技术可有效减小索引体积。
五、检索与阅读的联合优化
传统的检索-阅读框架中,检索器和阅读器独立训练,检索器无法感知阅读器的偏好,阅读器也只能被动接受检索结果。这种割裂限制了整体性能的进一步提升。
5.1 联合训练策略
为使检索器和阅读器协同工作,研究者提出了多种联合优化方案:
- 端到端训练:将检索和阅读视为一个可微分的整体。例如,REALM(Guu et al., 2020)在预训练阶段即融入检索模块,语言模型预测掩码词时需从检索文档中获取信息,从而联合学习检索和语言理解。
- 强化学习:将检索视为策略,阅读器输出答案的F1作为奖励,通过策略梯度更新检索器参数。这种方法允许检索器针对阅读器的答案质量进行优化,但训练不稳定。
- EMDR²(Sachan et al., 2021):提出一种期望最大化框架,在E步用阅读器为检索文档打分以更新伪标签,M步用新标签训练检索器,迭代收敛。无需强化学习,稳定性更好。
5.2 多跳开放域问答
部分复杂问题需要综合多篇文档的信息才能回答,如“哪位导演拍摄的电影获得了2020年奥斯卡最佳影片奖?”需先检索出最佳影片,再检索其导演。多跳开放域问答的检索-阅读框架更为复杂:
- 迭代检索:根据当前已获取的信息,生成新的检索查询。例如,GoldEn Retriever(Qi et al., 2019)使用阅读器输出的中间实体生成下一跳查询。
- 图结构检索:将文档中的实体关系构建为图,在图上进行路径搜索以支持多跳推理。MDR(Xiong et al., 2021)为多跳问答专门设计了联合检索模型。
- 思维链提示:借助大型语言模型,通过自然语言推理链分解多跳问题,逐步检索并整合信息。
5.3 检索增强生成
RAG(Lewis et al., 2020)将检索-阅读框架与生成式模型深度融合,开创了检索增强生成新范式。RAG的架构为:
- 检索器:DPR,根据输入x xx检索Top-K KK文档。
- 生成器:BART,将x xx与每篇检索文档拼接后生成答案,最后边缘化所有文档得到最终答案分布:
p ( y ∣ x ) ≈ ∑ z ∈ Top- K p η ( z ∣ x ) p θ ( y ∣ x , z ) p(y|x) \approx \sum_{z \in \text{Top-}K} p_\eta(z|x) p_\theta(y|x, z)p(y∣x)≈z∈Top-K∑pη(z∣x)pθ(y∣x,z)
RAG在知识密集型任务(如开放域问答、事实验证)上取得了SOTA性能,且具备知识可溯源、易更新的优势。后续的Fusion-in-Decoder进一步将多文档融合到生成器的解码层,使模型能综合多文档信息生成答案。
六、稠密检索的前沿模型与评测
6.1 代表性稠密检索模型一览
| 模型 | 编码器 | 训练策略 | 亮点 |
|---|---|---|---|
| DPR | 双BERT | 对比学习+BM25硬负样本 | 开创性工作,奠定双塔稠密检索范式 |
| ANCE | 双BERT | 异步索引刷新硬负样本 | 动态负样本挖掘,性能更优 |
| ColBERT | 双BERT | 后期交互(MaxSim) | 保留词级交互,检索精度高 |
| Splade | BERT | 稀疏化+对比学习 | 学习稀疏词权重,兼具倒排索引效率 |
| GTR | T5 | 大规模弱监督预训练 | 零样本泛化能力强 |
| Contriever | BERT | 无监督对比学习 | 无需标注数据,仅用对比学习即可训练 |
| SimLM | 双BERT | 语言模型预训练+检索微调 | 融合语言建模与检索目标 |
6.2 ColBERT:后期交互范式
稠密检索通常将文档压缩为单向量,这不可避免地损失了细粒度语义。ColBERT(Khattab & Zaharia, 2020)提出后期交互:问题和文档分别保留所有token的向量表示,相似度计算为每个问题token与文档中最相似token的余弦相似度之和:
sim ( q , p ) = ∑ i ∈ q max j ∈ p q i ⊤ p j \text{sim}(q, p) = \sum_{i \in q} \max_{j \in p} \mathbf{q}_i^\top \mathbf{p}_jsim(q,p)=i∈q∑j∈pmaxqi⊤pj
这种机制保留了词级匹配能力,显著提升检索精度,但存储和计算成本更高(需存储每个文档的所有token向量)。ColBERT在BEIR基准上表现突出。
6.3 Splade:学习稀疏词权重的回归
稠密检索需要向量索引,与现有倒排索引基础设施不兼容。Splade(Formal et al., 2021)反其道而行:使用BERT为文档中的每个词预测一个重要性权重,最终文档表示为高维稀疏向量(仅少量词有权重)。这种“学习的稀疏检索”既具备神经网络的语义理解能力,又能直接利用倒排索引实现高效检索,成为工业界的热门选择。
6.4 BEIR基准与性能对比
BEIR(Thakur et al., 2021)是一个包含18个多样化检索任务的基准,旨在评估检索模型的零样本泛化能力。主要结论如下:
- 在域内数据上,稠密检索(DPR、ANCE)显著超越BM25。
- 在域外数据上,未经域适应的稠密检索有时反而不及BM25,暴露出泛化瓶颈。
- 大规模预训练的稠密模型(如GTR、Contriever)展现出强零样本能力。
- ColBERT和Splade在多数任务上处于领先地位,平衡了精度与效率。
6.5 开放域问答完整系统性能(以Natural Questions为例)
| 系统 | 检索器 | 阅读器 | 答案精确匹配 |
|---|---|---|---|
| DrQA | TF-IDF | LSTM | 28.4% |
| BERTserini | BM25 | BERT | 38.6% |
| DPR | DPR | BERT | 41.5% |
| RAG | DPR | BART生成 | 44.5% |
| Fusion-in-Decoder | DPR | T5 | 48.2% |
| GPT-3(零样本) | 无显式检索 | 内部知识 | 29.9% |
| REALM | 联合检索 | T5 | 40.4% |
注:以上数据参考自各原始论文,因测试集版本和预处理不同,数值不完全可比,但趋势清晰。
七、大规模部署与前沿挑战
7.1 工业级开放域问答系统的部署考量
将学术模型部署到生产环境,需权衡延迟、吞吐、成本和精度:
- 检索延迟:稠密检索的单次查询延迟通常在10-100ms级别(含向量编码和ANN检索),可通过GPU加速编码、索引分片、结果缓存等手段优化。
- 索引更新:知识库持续更新,需支持增量索引构建。FAISS支持在线添加向量,但大规模重建仍需离线进行。
- 混合检索:业界常采用稠密+稀疏混合检索,利用稠密检索保证语义召回,用稀疏检索兜底生僻词汇问题。对两路结果进行加权融合(如Reciprocal Rank Fusion)。
7.2 开放域问答的鲁棒性与公平性
- 对抗攻击:检索模型易受恶意构造的文本扰动影响。对抗训练、输入净化等防御手段正在探索中。
- 偏见与公平性:检索和生成模型可能放大训练数据中的社会偏见。需建立公平性评测基准,并在训练中引入去偏技术。
- 时效性与知识更新:世界知识日新月异,静态索引无法回答时效性问题。流式索引更新和检索增强生成(实时检索最新网页)是潜在解决方案。
7.3 多模态开放域问答
Web上的知识不仅存在于文本,更蕴含在图像、表格、视频中。多模态开放域问答要求系统能从图文并茂的文档中检索并回答问题。例如,问题“埃菲尔铁塔有多高?”可同时参考文本描述和维基信息框。这需要跨模态检索与理解技术,如CLIP、LayoutLM等。
7.4 可解释性与证据溯源
在医疗、金融等高风险领域,答案的可信度至关重要。开放域问答系统应能提供答案的证据片段(即检索到的文档片段),让用户自行验证。检索-阅读框架天然支持证据溯源,但如何判断证据是否充分、如何向用户呈现推理过程仍需深入研究。
八、大模型时代的开放域问答新范式
以GPT-4为代表的大型语言模型(LLM)在闭卷问答(不依赖外部检索)上已展现惊人实力,它们将海量世界知识参数化存储于模型权重中。这是否意味着“检索-阅读”框架将被取代?
8.1 LLM闭卷问答的优势与局限
- 优势:零样本泛化强、无需维护索引、延迟低(单次推理)、能处理复杂推理。
- 局限:
- 知识截止:模型知识存在时间断点,无法回答最新事件。
- 幻觉风险:对不确定知识,LLM可能生成看似合理但错误的答案。
- 知识更新成本高:重新训练或微调LLM代价巨大。
- 知识溯源困难:难以解释答案来源。
8.2 检索增强LLM:融合检索与生成的未来方向
检索-阅读框架与LLM的结合正成为主流方向。检索增强生成和检索增强LLM在LLM推理过程中动态注入检索到的外部知识,兼具LLM的推理能力和检索知识库的时效性与可溯源性。典型工作包括:
- REPLUG(Shi et al., 2023):将检索文档作为前缀拼接到LLM输入,无需微调即可提升知识密集型任务表现。
- Atlas(Izacard et al., 2022):联合训练检索器和LLM,在多个知识任务上取得SOTA。
- Toolformer:训练LLM自主决定何时调用检索工具。
未来,开放域问答系统或将以LLM为核心推理引擎,检索器作为即插即用的外部知识模块,二者紧密协作,实现知识覆盖、推理深度、答案可信度的最佳平衡。
8.3 新的评测需求
随着系统日益强大,现有评测基准(如Natural Questions、TriviaQA)已趋于饱和。新的评测应关注:
- 时效性问题:要求模型回答近期发生的事件。
- 长尾实体问题:测试模型对冷门知识的处理能力。
- 多语言开放域问答:跨语言知识检索与回答。
- 交互式问答:模拟真实对话场景的多轮问答。
九、结语
从基于规则的问答到神经检索-阅读框架,从BM25的稀疏词匹配到BERT的稠密语义编码,开放域问答技术在过去十年间经历了翻天覆地的变革。检索-阅读两阶段框架以其模块化、可扩展的优势,成为连接海量文本与精准答案的桥梁。稠密检索的兴起则赋予了这座桥梁以语义理解的灵魂,使得机器能够穿透词汇的表象,触及知识的本质。
站在大模型时代的门槛上,我们既惊叹于LLM闭卷问答的惊艳表现,也清醒认识到检索增强对于构建可信、实时、可控问答系统不可替代的价值。检索与生成的深度融合,将共同铸就下一代开放域问答系统——它不仅“知道”答案,更“理解”问题背后的求知渴望。