随着大型语言模型的应用扩展到专业领域,需要高效和有效的适应技术变得越来越重要。因此,RAFT(检索增强的微调)出现了,这是一种新颖的方法,它结合了检索增强生成(RAG)和微调的优势,专门针对特定领域的问答任务。
领域适应的挑战
虽然大型语言模型是在大量数据上预训练的,但它们在专业领域(如医疗研究、法律文件或企业知识库)中的性能往往有限。这是因为预训练数据可能不能充分代表这些专业领域的细微差别和复杂性。为了解决这个挑战,研究人员传统上采用了两种主要技术:检索增强生成(RAG)和微调。
检索增强生成(RAG)
RAG
RAG 是一种技术,允许大型语言模型在推理过程中访问和利用外部知识源。它通过将实时数据检索集成到生成过程中来实现这一点,从而使模型的输出更加准确和最新。RAG由三个核心步骤组成:检索、生成和增强。
检索过程从用户的查询开始。大型语言模型分析查询并从外部数据库中检索相关信息,提供了一个数据池,模型可以从中提取信息来生成其输出。生成阶段将检索到的数据合成成一个连贯的叙述或答案。增强步骤进一步完善生成的输出,添加上下文或调整连贯性和相关性。
在RAG中,检索过程从用户的查询开始。大型语言模型分析查询并从外部数据库中检索相关信息,提供了一个数据池,模型可以从中提取信息来生成其输出。生成阶段将检索到的数据合成成一个连贯的叙述或答案。增强步骤进一步完善生成的输出,添加上下文或调整连贯性和相关性。
RAG模型可以使用各种指标进行评估,评估其提供准确、相关和最新信息的能力。
微调
supervised-fine-tuning
微调 ,另一方面,涉及将预训练的大型语言模型适应特定任务或领域,通过在较小的任务特定数据集上进一步训练模型。这种方法允许模型学习模式并将其输出与所需任务或领域对齐。虽然微调可以提高模型的性能,但它通常无法有效地整合外部知识源或在推理过程中考虑检索不完善的情况。
RAFT方法
RAFT
RAFT 代表检索增强的微调,这是一种创新性的训练方法,专门为语言模型设计,用于提高其在特定领域任务中的性能,特别是在开放式问答中。RAFT与标准微调不同之处在于,它准备了包含问题和相关文档的混合训练数据,以及从相关文本中推导出的连续思考风格的答案。这种方法旨在提高模型的回忆信息和推理能力。
从本质上讲,RAFT微调语言模型,使其在需要阅读理解和从一组文档中提取知识的任务中更加擅长。通过训练模型使用“oracle”文档(包含答案)和“干扰”文档(不包含答案),模型学会了更有效地区分和利用相关信息。
训练数据准备
RAFT的训练过程涉及准备一部分数据,其中包含直接与答案相关的“oracle”文档,而其余数据仅包含“干扰”文档。微调鼓励模型学习何时依赖其内部知识(类似于记忆)以及何时从上下文中提取信息。
RAFT的训练过程还强调了推理过程的生成,这不仅有助于形成答案,还可以引用来源,类似于人类引用材料来证明其回应。这种方法不仅使模型为RAG设置做好准备(在RAG中,模型必须考虑检索到的前k个文档),还确保模型的训练独立于使用的检索器,从而允许灵活地应用于不同的检索系统。
这种方法有多种目的:
它训练模型识别和利用提供的上下文中的相关信息,模拟开放式问答设置。
它增强模型的能力,以忽略不相关的信息,这是有效的RAG的一个关键技能。
它使模型接触到答案不在上下文中的场景,鼓励模型在必要时依赖其自身的知识。
RAFT的另一个关键方面是将连续思考推理纳入训练过程。与其仅提供问题和答案对,RAFT生成详细的推理解释,包括相关文档的逐字引用。这些解释以连续思考格式呈现,指导模型完成推理的逻辑步骤,以达到正确答案。
通过训练模型学习这些推理链,RAFT鼓励模型发展强大的推理能力,并增强其利用外部知识源的能力。
评估和结果
RAFT论文的作者对各种数据集进行了广泛的评估,包括PubMed(生物医学研究)、HotpotQA(开放域问答)和Gorilla APIBench(代码生成)。他们的结果表明,RAFT始终优于基线,例如带有或不带有RAG的特定领域微调,以及带有RAG的更大模型,如GPT-3.5。
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技术对广泛的实用应用具有重大影响,包括:
问答系统:RAFT可以用于构建高精度和特定领域的问答系统,利用模型的学习知识和外部知识源。
企业知识管理:拥有大量知识库的组织可以利用RAFT开发定制的问答系统,允许员工快速访问和利用相关信息。
医疗和科学研究:RAFT在生物医学研究等领域尤其有价值,因为访问最新的研究成果和文献对于推进科学理解至关重要。
法律和金融服务:RAFT可以帮助这些领域的专业人士,通过提供准确和上下文相关的响应,基于相关的法律文件或金融报告。
随着该领域的研究继续,RAFT技术可以预计会有进一步的进步和改进。潜在的未来方向包括:
探索更高效和有效的检索模块,针对特定领域或文档结构进行定制。
将多模态信息(如图像或表格)集成到RAFT框架中,以增强上下文理解。
开发专门的推理架构,以更好地利用训练过程中生成的连续思考解释。
将RAFT适应于超出问答的其他自然语言任务,如摘要、翻译或对话系统。
结论
RAFT代表了领域特定问答语言模型领域的一项重大进步。通过将检索增强生成和微调的优势和谐地结合,RAFT使大型语言模型能够有效地利用外部知识源,同时将其输出与领域特定模式和偏好对齐。
通过其创新的训练数据策划、连续思考推理的纳入以及对检索不完善的鲁棒性,RAFT为组织和研究人员提供了一种强大的解决方案,以解锁大型语言模型在专业领域的全部潜力。
随着对特定领域自然语言处理能力的需求继续增长,像RAFT这样的技术将在实现更准确、上下文相关和适应性语言模型方面发挥关键作用,这将为人类与机器之间的无缝和领域无关的沟通铺平道路。