Connect with us

人工智能

RAFT – 一种用于领域特定问答的微调和 RAG 方法

mm

随着大型语言模型的应用扩展到专门的领域,高效且有效的适应技术的需求变得越来越关键。这里介绍 RAFT(检索增强的微调),一种新颖的方法,它结合了检索增强生成(RAG)和微调的优势,专门针对领域特定的问答任务。

领域适应的挑战

虽然大型语言模型是在大量数据上预训练的,但它们在专门领域(如医学研究、法律文档或企业特定知识库)中的性能往往有限。这是因为预训练数据可能不能充分代表这些专门领域的细微差别和复杂性。为了解决这个挑战,研究人员传统上采用了两种主要技术:检索增强生成(RAG)和微调。

检索增强生成(RAG)

RAG

RAG

RAG是一种技术,允许大型语言模型在推理过程中访问和利用外部知识源。

它通过将实时数据检索集成到生成过程中来实现这一点,从而使模型的输出更加准确和及时。RAG由三个核心步骤组成:检索,相关文档被收集;生成,模型根据检索到的数据生成输出;以及增强,进一步完善输出。

RAG中的检索过程从用户的查询开始。大型语言模型分析查询并从外部数据库中检索相关信息,提供一个数据池,模型可以从中获取信息以形成其响应。生成阶段将此输入合成成一个连贯的叙述或答案。增强步骤通过添加上下文或调整连贯性和相关性进一步完善生成的内容。

RAG模型可以使用各种指标进行评估,评估其提供准确、相关和及时信息的能力。

微调

supervised-fine-tuning

supervised-fine-tuning

微调,另一方面,涉及通过在较小的任务特定数据集上进一步训练预训练的大型语言模型来适应特定任务或领域。这种方法允许模型学习模式并使其输出与所需任务或领域保持一致。虽然微调可以提高模型的性能,但它通常无法有效地将外部知识源纳入推理过程中,或在推理过程中考虑检索不完善的情况。

RAFT方法

RAFT

RAFT

RAFT代表检索感知微调,是一种针对语言模型的创新训练方法,旨在提高其在领域特定任务(尤其是开放书考)中的性能。RAFT通过准备包含问题和相关文档混合以及从相关文本派生的连贯思考风格答案的训练数据来区别于标准微调。这种方法旨在提高模型不仅回忆信息,还能从提供的内容中推导和推理答案的能力。

从本质上讲,RAFT微调语言模型,使其在涉及从一组文档中读取理解和知识提取的任务中更加高效。通过训练模型使用“oracle”文档(包含答案)和“干扰”文档(不包含答案),模型学会区分和利用相关信息。

RAFT的训练过程还强调了推理过程的生成,这不仅有助于形成答案,还能引用来源,类似于人类通过引用所读材料来证明他们的回答。

训练数据准备

RAFT下的训练过程涉及将部分数据包含“oracle”文档,这些文档直接与答案相关,而其余数据仅包含“干扰”文档。微调鼓励模型学习何时依赖其内部知识(类似于记忆)以及何时从提供的上下文中提取信息。

RAFT的训练计划还强调了连贯思考过程的生成,这有助于形成答案,并引用来源,类似于人类通过引用所读材料来证明他们的回答。这种方法不仅为模型在RAG(检索增强生成)设置中做好准备,在这种设置中,模型必须考虑前k个检索文档,还确保模型的训练独立于所使用的检索器,从而允许灵活地应用于不同的检索系统。

这种方法有多种目的:

  1. 它训练模型识别和利用提供的上下文中的相关信息,模拟开放书考设置。
  2. 它增强模型的能力,忽略不相关的信息,这是有效的RAG的一个关键技能。
  3. 它让模型接触到答案不在上下文中的场景,鼓励它在必要时依赖自己的知识。

RAFT的另一个关键方面是将连贯思考推理纳入训练过程。与其简单地提供问题和答案对,RAFT生成详细的推理解释,包括相关文档的逐字引用。这些解释以连贯思考格式呈现,指导模型完成推理所需的逻辑步骤,以得出正确答案。

通过训练模型使用这些推理链,RAFT鼓励强大的推理能力的发展,并增强模型对如何有效利用外部知识源的理解。

评估和结果

RAFT论文的作者在各种数据集上进行了广泛的评估,包括PubMed(生物医学研究)、HotpotQA(开放领域问答)和Gorilla APIBench(代码生成)。他们的结果表明,RAFT一致地优于基线,例如带有或不带RAG的领域特定微调,以及带有RAG的更大模型,如GPT-3.5。

RAFT improves RAG performance

RAFT improves RAG performance

例如,在HuggingFace数据集上,RAFT实现了74%的准确率,相比领域特定微调(DSF)提高了31.41%,相比GPT-3.5带RAG提高了44.92%。同样,在HotpotQA数据集上,RAFT显示出与DSF相比28.9%的准确率提高。

RAFT的一个关键优势是其对检索不完善的鲁棒性。通过训练模型使用相关和不相关文档的混合,RAFT增强了模型区分和优先考虑相关信息的能力,即使检索模块返回次优结果时也是如此。

作者证明,只使用“oracle”文档进行微调通常会导致性能较差,相比包含“干扰”文档的配置。这种发现强调了在训练过程中让模型接触各种检索场景的重要性,确保模型为现实世界应用做好准备。

实际应用和未来方向

RAFT技术对多种实际应用具有重大影响,包括:

  1. 问答系统:RAFT可以用于构建高度准确和领域特定的问答系统,利用模型的学习知识和外部知识源。
  2. 企业知识管理:拥有大量知识库的组织可以利用RAFT开发定制的问答系统,允许员工快速访问和利用相关信息。
  3. 医学和科学研究:RAFT在生物医学研究等领域特别有价值,在这些领域,获取最新发现和文献对于推进科学理解至关重要。
  4. 法律和金融服务:RAFT可以通过提供准确和上下文感知的响应(基于相关法律文档或金融报告)来帮助这些领域的专业人士。

随着该领域的研究继续进行,我们可以期待RAFT技术的进一步进展和改进。潜在的未来方向包括:

  1. 探索更高效和有效的检索模块,针对特定领域或文档结构进行定制。
  2. 将多模式信息(如图像或表格)纳入RAFT框架,以增强上下文理解。
  3. 开发专门的推理架构,以更好地利用训练过程中生成的连贯思考解释。
  4. 将RAFT适应于超出问答的其他自然语言任务,例如总结、翻译或对话系统。

结论

RAFT代表了领域特定问答语言模型领域的一个重大进步。通过将检索增强生成和微调的优势相结合,RAFT使大型语言模型能够有效地利用外部知识源,同时将其输出与领域特定模式和偏好保持一致。

通过其创新的训练数据策划、连贯思考推理的纳入以及对检索不完善的鲁棒性,RAFT为希望解锁大型语言模型在专门领域全部潜力的组织和研究人员提供了一个强大的解决方案。

随着对领域特定自然语言处理能力的需求继续增长,像RAFT这样的技术将在实现更准确、上下文感知和适应性语言模型方面发挥关键作用,为人类与机器之间的无缝和领域无关的通信铺平道路。

我过去五年一直沉浸在令人着迷的机器学习和深度学习世界中。我的热情和专业知识使我能够为超过50个不同的软件工程项目做出贡献,特别注重人工智能/机器学习。我的持续好奇心也使我对自然语言处理产生了兴趣,这是一个我渴望进一步探索的领域。