在快速发展的大型语言模型 (LLM) 领域,工程师和研究人员一直在与一个令人沮丧的权衡作斗争: 速度与忠实度 (Faithfulness) 。
想象一下,你正在为一家酒店构建一个聊天机器人。用户问: “你们有素食早餐吗?”
- 选项 A: 机器人瞬间回答 (0.5 秒) ,但它产生了幻觉并说“有”,而实际上你们并没有。这很快,但很危险。
- 选项 B: 机器人停顿,从数据库中检索最新的菜单,阅读它,然后准确回答。这需要 3-5 秒。这很准确,但对用户来说感觉很慢。
选项 A 代表无检索生成 (Retrieval Free Generation, RFG) , 模型依赖其内部记忆。选项 B 代表检索增强生成 (Retrieval Augmented Generation, RAG) , 这是目前准确性的黄金标准。
但是,如果你不必二选一呢?如果你能拥有 RFG 的速度,同时具备 RAG 的准确性呢?
在这篇文章中,我们将深入探讨一篇名为 “RA2FD: Distilling Faithfulness into Efficient Dialogue Systems” (RA2FD: 将忠实度蒸馏到高效对话系统中) 的精彩论文。研究人员提出了一种新颖的训练方案,教导一个快速的、无检索的模型去“模仿”一个慢速的、检索增强系统的大脑。结果如何?一个在对话过程中不需要查找信息但仍能正确回答事实的模型——解决了忠实度与效率之间的两难困境。

核心问题: 幻觉 vs. 延迟
要理解解决方案,我们必须首先确立问题。
检索增强生成 (RAG) 之所以强大,是因为它允许模型在考试中“作弊”。当被问到一个问题时,它会检索相关的文档 (知识) 并在生成答案时将其保留在上下文窗口中。然而,检索过程的计算成本很高。如上面的信息图所示,由于搜索的开销,生成回复所需的时间要长得多。
无检索生成 (RFG) 完全依赖于参数化知识——即训练期间存储在神经网络权重内的信息。它速度极快,因为它只是通过网络的直接路径。然而,众所周知,LLM 会“遗忘”特定细节或将其混淆,从而导致幻觉。
RA2FD 背后的研究人员提出了一个关键问题: 我们能否将 RAG 系统的知识和“忠实度”蒸馏到 RFG 系统的参数中?
解决方案: RA2FD
提出的方法称为检索增强到无检索蒸馏 (Retrieval Augmented to Retrieval Free Distillation, RA2FD) 。
这个概念简单而优雅,但在执行上却很复杂。它使用了一个教师-学生框架 (Teacher-Student framework) :
- 教师 (The Teacher) : 一个“Oracle” (全知型) RAG 模型。它被赋予了基准真实 (ground-truth) 知识,并生成高质量、忠实的回复。
- 学生 (The Student) : 一个 RFG 模型。它在推理过程中无法访问外部文档。它必须学会仅凭其参数生成忠实的回复。
目标是将教师的忠实能力转移给学生。

如图 2 所示,训练过程包括三个明显的阶段:
- 教师生成: 教师生成多个高质量的回复。
- 知识注入: 学生有效地“背诵”知识库。
- 蒸馏与对比学习: 学生学习偏好教师生成的最忠实的回复。
让我们分解每一步背后的数学和逻辑。
第一步: 教师模型
首先,研究人员需要一个真理之源。他们使用 Oracle RAG 训练了一个教师模型。与可能检索到错误文档的标准 RAG 不同,Oracle RAG 在训练期间被喂入了基准真实知识文档。
教师模型使用最大似然估计 (MLE) 进行训练:

在这里,模型最大化在给定对话历史 (\(U_t\)) 和知识 (\(K\)) 的情况下回复 (\(u_{t+1}\)) 的概率。
一旦训练完成,该教师模型就被用来生成供学生学习的回复 (标签) 。关键在于,教师不仅仅生成一个回复;它生成多个融入了知识的回复。

第二步: 学生的知识注入
在学生学会忠实地说话之前,它需要知道事实。如果你让学生总结一本教科书而不让他们阅读,他们会失败。
在知识注入阶段,研究人员直接在知识库 (如常见问题解答或维基百科文章) 上微调学生模型。模型学习预测知识文档的内容。

这将外部知识 (\(K\)) 转化为存储在模型权重 (\(\phi\)) 中的内部参数化知识。
第三步: 序列级蒸馏
现在学生已经“读过教科书” (注入了知识) ,它需要学习如何回答问题。
标准的 RFG 模型通常是在人类对话上训练的。问题在于?人类很随意。人类的回答经常跳过细节或假设上下文。如果学生只在人类数据上训练,它会模仿风格但丢失实质。
相反,RA2FD 使用教师生成的回复作为目标来训练学生。由于教师可以“开卷考试”,它的回复包含丰富的事实。
学生通过最小化生成教师词语的负对数似然 (NLL) 来学习:

第四步: 多标签对比学习 (秘诀所在)
这就是 RA2FD 与标准蒸馏的区别所在。
单个教师的回复可能仍然不完美。为了解决这个问题,研究人员让教师针对每一个对话输入生成 \(M\) 个不同的回复 (使用束搜索) 。
然后,他们根据流畅度和忠实度的综合得分对这 \(M\) 个回复进行排名。
学生模型不应平等对待所有教师回复。它应该对高质量的回复比低质量的回复更有信心。这是通过对比学习实现的。
首先,我们计算特定教师标签 \(i\) 的预测对数似然:

然后,对比损失函数确保学生对“更好”的教师回复 (\(\ell_m\)) 的似然得分比对“较差”的教师回复 (\(\ell_n\)) 高出一个边界 \(\rho\):

最后,学生模型的总训练目标结合了标准蒸馏损失和这个新的对比损失:

通过最小化这个组合损失,学生 RFG 模型不仅学会了说什么,还学会了哪个版本的答案在事实层面最稳健,而这一切都不需要在实际对话中检索文档。
实验结果
研究人员在三个主要的知识导向对话数据集上测试了 RA2FD: DSTC9 (客户服务) 、Wizard of Wikipedia (WoW) 和 FaithDial 。
忠实度与流畅度
结果令人信服。他们将 RA2FD 与标准 RAG (使用 Llama 2、Mistral 和 BART) 以及标准 RFG 基准进行了比较。
在下面针对 DSTC9 数据集的表格中,请看 KF1 (Knowledge F1) 分数,它衡量回复与正确知识的重合程度。

- 标准 RFG (Llama 2) 的 KF1 得分为 35.64 。
- RA2FD (Llama 2) 跃升至 46.99 。
- 这代表忠实度提高了 32% , 使其非常接近 RAG 模型 44.58 的得分。事实上,在某些指标上,RA2FD 学生模型的表现甚至超过了 RAG 教师架构。
这种模式在 Wizard of Wikipedia (WoW) 数据集上重现:

在这里,RA2FD 在 KF1 分数上比之前的 SOTA 无检索方法 (MixCL) 高出近 25% 。
教师标签的数量重要吗?
回想一下,该方法依赖于教师生成多个回复供学生对比。生成更多有帮助吗?

如图 3 所示,答案是肯定的,但有限度。随着教师标签数量从 1 增加到 5,性能 (KF1 分数) 急剧上升。超过 5 个标签后,性能趋于平稳。这证实了对比学习组件 (比较多个选项) 是模型成功的主要驱动力。
终极回报: 效率
这项研究的主要动力是速度。他们做到了吗?
下面的散点图可能是论文中最重要的可视化图表。X 轴代表推理时间 (越低越好) ,Y 轴代表忠实度 (越高越好) 。

- RAG 模型 (右上) : 高忠实度,但非常慢 (高延迟) 。
- 标准 RFG 模型 (左下) : 非常快,但低忠实度。
- RA2FD (左上 - 紫色图标) : 这是甜蜜点。RA2FD 模型 (标有星星和皇冠) 实现了与 RAG 相当的忠实度,但拥有 RFG 那样极快的推理速度。
在 DSTC9 数据集上,RAG 检索器的耗时大约是生成过程的 50 倍 。 RA2FD 完全消除了这一步。
定性分析
数字固然好,但在实际对话中表现如何呢?
看看这个例子,用户询问一家酒店使用的语言。

标准的 BART 模型产生了幻觉,声称他们只说法语。 RA2FD 模型虽然面前没有文档,但正确列出了英语、西班牙语、法语和中文。它通过蒸馏过程成功地“记住”了这一复杂事实。
结论
“RA2FD”论文代表了高效 AI 向前迈出的重要一步。长期以来,开发人员认为如果想要准确性,就必须支付检索增强生成的“延迟税”。
这项研究证明,对于许多应用来说,我们可以做到鱼和熊掌兼得。通过使用结合了知识注入、序列蒸馏和对比学习的智能教师-学生框架,我们可以将复杂 RAG 系统的知识压缩到一个快速、高效的无检索模型中。
关键要点:
- 不要只在人类数据上训练: 人类很流畅,但并不总是注重事实。在“Oracle” AI 的输出上训练可以提高忠实度。
- 选项很重要: 允许学生模型比较多个教师回复 (对比学习) 能显著提升性能。
- 速度不需要牺牲真实性: RA2FD 的忠实度比以前的方法平均提高了 33%,在匹配 RAG 性能的同时,运行速度快了 50 倍。
对于致力于构建可部署对话系统的学生和工程师来说,这种方法为构建既值得信赖又反应灵敏的聊天机器人提供了一个蓝图。
](https://deep-paper.org/en/paper/file-3527/images/cover.png)