跳转至

UniConv: Unifying Retrieval and Response Generation for Large Language Models in Conversations

会议: ACL 2025
arXiv: 2507.07030
代码: 无 (Amazon)
领域: 文本生成
关键词: 对话搜索, 统一模型, 检索+生成, 联合训练, LLM

一句话总结

探索如何将对话场景中的稠密检索和响应生成统一到单个 LLM 中,通过三个联合训练目标(对话检索 + 响应生成 + 上下文识别指令)和数据差异缓解机制,在五个对话搜索数据集上实现检索和生成的相互促进,超越分离式基线。

研究背景与动机

  1. 领域现状:对话搜索系统通常使用分离的检索器和生成器,分别训练和推理。结合 RAG 的商业对话搜索引擎(如 Perplexity.ai、SearchGPT)日益流行。
  2. 现有痛点:(a) 分离模型无法同时利用两者的内在知识——检索效果好不一定帮助生成(不一致性风险);(b) 部署维护两个模型增加硬件需求和维护成本;(c) 现有统一方法只能覆盖"理解对话上下文/独立检索/生成响应"中的两个方面,没有一个模型能同时做到三点。
  3. 核心矛盾:检索目标(对比学习的嵌入相似度)和生成目标(自回归交叉熵)训练范式不同,联合训练时一个目标的优化可能损害另一个。另外,现有训练数据格式不区分检索和生成输出的不同需求。
  4. 本文要解决什么? 构建首个同时具备对话理解、独立检索、响应生成三项能力的统一 LLM。
  5. 切入角度:设计三个互补的训练目标+数据差异缓解策略,让检索和生成的知识在同一模型中协同工作。
  6. 核心idea一句话:用上下文识别指令桥接检索和生成训练目标,加入格式匹配的对话搜索数据缓解数据差异。

方法详解

整体框架

基于 decoder-only LLM(如 LLaMA),三个联合训练目标:(1) 对话稠密检索(InfoNCE 对比损失);(2) 对话响应生成(自回归损失,使用 session-masked 技术);(3) 上下文识别指令(将查询与正例段落拼接,用对比学习区分好/坏响应)。总损失:\(\mathcal{L} = \mathcal{L}_R + \mathcal{L}_G + \alpha \mathcal{L}_{CII}\)

关键设计

  1. 对话稠密检索:
  2. 做什么:让 LLM 同时作为对话理解的稠密检索器
  3. 核心思路:将多轮对话历史 \(\mathcal{H}_n\) 与当前查询 \(q_n\) 拼接为完整会话查询 \(q'_n\),用末尾 </s> token 的隐状态作为查询/段落表示,InfoNCE 对比损失训练
  4. 设计动机:继承 ChatRetriever 的做法,但保持生成能力不退化

  5. 上下文识别指令(Context Identification Instruction, CII):

  6. 做什么:桥接检索和生成,减少训练-推理不一致
  7. 核心思路:将查询与正例段落拼接作为输入,对比正确响应和错误响应——让模型学习"给定检索上下文时选择正确答案"。\(\mathcal{L}_{CII}\) 使用对比学习损失
  8. 设计动机:训练时检索和生成分开进行,但推理时模型需要用检索结果辅助生成——CII 模拟了这个推理场景,减少训练-推理的 gap

  9. 数据差异缓解:

  10. 做什么:解决训练数据格式不匹配问题
  11. 核心思路:之前的方法用响应当段落(检索训练)或用段落当响应(生成训练),但统一模型需要每个样本同时包含段落和响应。引入对话搜索数据(如 QReCC)确保每个训练样本有独立的查询-段落-响应三元组
  12. 设计动机:格式正确的数据让模型区分"什么时候像检索器"和"什么时候像生成器"

损失函数 / 训练策略

  • 三目标联合训练:\(\mathcal{L} = \mathcal{L}_R + \mathcal{L}_G + \alpha \mathcal{L}_{CII}\)
  • 检索用 bi-encoder + InfoNCE,生成用 session-masked 自回归
  • 基于 Mistral-7B

实验关键数据

主实验(五个对话搜索数据集)

维度 分离模型(检索器+生成器) UniConv 说明
检索性能(MRR/Recall) ChatRetriever 最佳 超越或持平 检索能力保持
生成性能(ROUGE/F1) ChatQA 最佳 超越 生成能力增强
检索-生成一致性 检索好的不一定生成好 更一致 CII 的贡献
部署成本 两个模型 一个模型 减半

消融实验

配置 效果 说明
w/o CII 生成性能下降 上下文识别指令是关键桥梁
w/o 数据差异缓解 检索生成不一致加剧 格式匹配的数据重要
仅检索训练 生成能力崩溃 验证了联合训练的必要性
仅生成训练 检索能力缺失 同上

关键发现

  • UniConv 是首个同时具备对话理解+开放域检索+响应生成的统一模型
  • 检索和生成确实相互促进——检索改善了生成的输入质量,生成提供了更好的查询理解
  • CII 是保证一致性的关键——没有它,模型检索到好段落但不能有效利用
  • 数据格式比数据量更重要——少量格式正确的数据优于大量格式不匹配的数据
  • 统一模型在跨数据集泛化上也优于分离模型

亮点与洞察

  • "同一个模型同时当检索器和生成器"是对话搜索的自然进化——减少部署成本且提升一致性。
  • CII 训练目标巧妙地模拟了 RAG 推理场景——在训练时就让模型学会"用检索到的段落来生成",而非训练检索和生成分开做。
  • 数据差异缓解指出了一个被忽视的问题——训练数据的格式需要匹配任务的实际输出格式。
  • 该统一范式可扩展到更多对话任务(如对话推荐、对话总结)。

局限性 / 可改进方向

  • 基于 Mistral-7B,更大规模模型可能表现不同
  • 训练需要同时准备检索和生成的标注数据
  • bi-encoder 检索的效果可能不如专用检索模型(如 ColBERT)
  • 未探索多模态对话搜索场景

相关工作与启发

  • vs ChatRetriever: 仅做检索,微调后生成能力崩溃;UniConv 保持两者
  • vs ChatQA/RankRAG: 需要外部检索器提供段落,非独立检索;UniConv 自己检索
  • vs GRIT: 通用检索+生成统一但不支持多轮对话;UniConv 专门针对对话场景
  • vs OneGen: 将检索 token 嵌入生成过程但不能独立检索;UniConv 的 bi-encoder 可独立运行

评分

  • 新颖性: ⭐⭐⭐⭐ 首个同时具备对话理解+开放域检索+响应生成三项能力的统一 LLM,CII 训练目标设计新颖
  • 实验充分度: ⭐⭐⭐⭐ 五个数据集+完整消融+一致性分析+多种强基线对比,评估全面
  • 写作质量: ⭐⭐⭐⭐ 问题定义清晰(Table 1 功能对比一目了然),三个训练目标各自独立又互补,方法形式化完整
  • 价值: ⭐⭐⭐⭐ 对对话搜索系统有直接实用价值,减少部署成本同时提升一致性,是对话 AI 产品化的重要进展方向