论文解读:RAFT:使语言模型适应特定领域的 RAG(raft详解)

论文地址:https://arxiv.org/html/2403.10131v1

将大型语言模型 (LLM) 集成到各种应用程序中时,通常需要通过基于检索增强生成 (RAG) 的提示或微调等技术来合并新信息,例如特定领域的知识或专有数据。 然而,挑战在于确定将这些新知识灌输到模型中的最有效方法。Open-book指的是范式,模型可以参考文档来回答问题。 RAFT 的工作原理是训练模型忽略任何检索到的、无助于回答给定问题的文档,从而消除干扰。 这是通过准确识别和引用有用文档中的相关片段来解决当前问题来实现的。 此外,RAFT 使用思想链式响应进一步完善了模型的推理能力。 当应用于特定领域的 RAG 时,RAFT 能够持续提高各种数据集(包括 PubMed、HotpotQA 和 Gorilla)的性能,为具有特定领域 RAG 功能的预训练法学硕士提供有价值的训练后增强功能。

论文解读:RAFT:使语言模型适应特定领域的 RAG(raft详解)

RAFT

本文研究了以下问题: 如何将预训练的法学硕士应用于专业领域的检索增强生成(RAG)?

当谈到使法学硕士适应专业领域时,我们考虑以下两种候选方案:通过检索增强生成(RAG)进行上下文学习和监督微调。 基于 RAG 的方法允许法学硕士在回答问题时参考文档。 然而,这些方法无法利用固定领域设置和早期访问测试文档所提供的学习机会。我们可以用开卷考试来比喻。 现有的上下文检索方法相当于不学习就参加开卷考试。 或者,现有的基于微调的方法通过直接“记忆” 输入文档或回答练习题 而不参考文档来实现“学习”。 虽然这些方法利用了领域内学习,但它们未能为测试设置的开卷性质做好准备。

在本文中,我们研究如何将监督微调(SFT)与检索增强生成(RAG)相结合。 我们提出了一种新颖的适应策略——检索增强微调(RAFT)。 RAFT 专门解决了微调 LLM 以纳入领域知识的挑战,同时还提高了域内 RAG 性能。 RAFT 的目标不仅是使模型能够通过微调来学习特定领域的知识,而且还要确保针对不准确检索的鲁棒性。 这是通过训练模型来理解提出的问题(提示)、检索到的特定领域文档和适当答案之间的动态来实现的。 回到我们的类比,我们的方法 类似于通过识别相关和不相关的检索文档来准备开卷考试。

类比:

1、闭卷考试

指法学硕士在考试期间无法访问任何其他文件或参考资料来回答问题的情况。 利用预训练期间积累的知识和监督微调来响应提示。

2、开卷考试

将开卷考试设置比作法学硕士可以参考外部信息源(例如网站或书籍章节)的场景。 在这种情况下,通常,LLM 与检索器配对,该检索器检索附加到提示的“k”个文档(或文档的特定片段)。 只有通过这些检索到的文件,法学硕士才能获得“新知识”。 因此,我们认为,法学硕士在这些环境中的表现(将其训练为通用法学硕士)在很大程度上取决于检索器的质量以及检索器识别最相关信息的准确程度。

3、特定领域的开卷考试

法学硕士可以使用来自该特定领域的任何和所有信息来响应提示,该领域已对其进行了微调。 领域特定示例的示例包括企业文档、最新新闻、属于组织的代码存储库等。 在所有这些场景中,法学硕士将用于回答问题,其答案可以在文档集合(一个小的实际领域)中找到。 检索技术本身对机制几乎没有影响(尽管它可能会影响准确性)。 本文主要研究特定领域的开卷设置以及如何使预训练的法学硕士适应该特定领域,包括如何使其对不同数量的检索文档和干扰项更加稳健。

监督微调:

考虑问答数据集的监督微调 (SFT) 设置。 该公式由数据集 ( D)其中一组问题( Q)和相应的答案( A) 对已派生或已可用。 在经典的 SFT 设置中,模型经过训练,以提高其基于其知识(在预训练期间或在 SFT 训练阶段获得的知识)回答问题的能力。 经过如此训练的模型还可以在测试时与检索增强生成 (RAG) 设置一起使用,其中可以在提示中引入其他文档以帮助模型回答问题。 RAG 推断: →

RAFT:

我们准备训练数据,使每个数据点都包含一个问题( 问 ),一组文档( dk ​ ),以及相应的思路链式答案( A * )从文档之一生成( D * )。

我们区分两种类型的文档:

预言文档( D* )即可以从中推断出问题答案的文档,

以及干扰文档( D来自 )不包含答案相关信息。

作为一个实施细节, 预言文档 不一定是单个文档,但可以是多个文档,就像 HotpotQA 中的情况一样。 然后,对于 $P$ 问题的一部分 ( q i )在数据集中,我们保留预言文档( d的 * )以及干扰文件( dk -1 )。 为了 (1-P) 问题的分数( q i )在数据集中,我们不包含 预言文档,只包含干扰文档( dk ​ )。 然后,我们使用标准监督训练 (SFT) 技术对语言模型进行微调,训练它从提供的文档和问题中生成答案。可以训练模型在训练的文档集(即域内)上执行更好的 RAG。 通过删除训练数据某些实例中的预言文档,我们迫使模型记住领域知识。

算法 RAFT 采用了一种策略,将预言文档与干扰文档混合在一起。 这种方法促使我们研究负面(干扰)文档的理想比例,以纳入整个培训过程,并评估这种培训方法对测试阶段检索增强生成(RAG)遇到的不同文档量的适应程度。 我们的目标是完善相关信息和不相关信息之间的平衡,以增强模型识别和利用相关内容的效率。

使用不同数量的干扰文档进行训练,但使用从检索器获得的前 k 个文档进行一致评估。

与包含大量干扰文档的配置相比,仅使用预言文档进行微调通常会导致性能较差。通常采用由一个预言文档和四个干扰文档组成的训练设置。 这种方法取得了平衡,确保模型不会被干扰因素淹没,同时仍然能够有效识别和优先考虑相关信息。

RAFT 评估:

使用以下数据集来评估我们的模型和所有基线。

自然问题(NQ)、Trivia QA 和 Hotpot QA 是基于维基百科的开放域问题,主要关注常识(例如电影、体育等)。

HuggingFace、Torch Hub、TensorFlow Hub均来自于Gorilla论文中提出的APIBench, 这些基准测试主要关注如何根据文档生成正确的功能 API 调用。

PubMed QA 是专为生物医学研究问答量身定制的问答数据集,它主要侧重于根据一组给定的文档回答医学和生物学问题。

考虑以下实验基准:

带有 0-shot 提示的 LlaMA2-7B-chat 模型:这是 QA 任务常用的指令调整模型,有清晰的书面指令,但没有参考文档。

带 RAG 的 LlaMA2-7B-chat 模型(Llama2 RAG):与之前的设置类似,添加了参考上下文。 这是处理特定领域的 QA 任务时最常用的组合。

具有 0-shot 提示 (DSF) 的特定领域微调:在上下文中没有文档的情况下执行标准指令微调。

使用 RAG 进行特定领域的微调(DSF RAG):使用 RAG 为特定领域的微调模型配备外部知识。 对于模型不知道的“知识”,它仍然可以参考上下文。

结论:

RAFT-7B 模型(LlaMA-2 的微调版本)比特定领域的微调模型和带有 RAG 的通用模型更擅长从域内文档读取和提取信息。始终显着优于基线。结合推理链不仅可以引导模型找到答案,还可以丰富模型的理解,从而提高整体准确性。

点评:

使语言模型适应特定领域的 RAG 是一个很重要的研究领域,适当的高效微调LLM基础模型当然可以取得很好的效果。然而,可以看到这里还是存在很多不确定因素,具体体现在训练目标在于RAG的输入、中间过程、输出这三个节点的那一个环节的能力增强,还有是微调的LLM是作为基础LLM还是代理或者是组合专家代理,增强的RAG是检索能力还是可扩展的tool调用能力或者是function调用能力,最终需要获得的效果其实有很多步骤能力叠加组成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月16日 下午5:31
下一篇 2024年5月16日 下午5:43

相关推荐