RAFT: Adapting Language Model to Domain Specific RAG

RAFT: Adapting Language Model to Domain Specific RAG

相关链接:arXiv GitHub

关键字:Retrieval-Augmented Fine Tuning (RAFT) 、Large Language Models (LLMs) 、Domain Specific RAG 、Distractor Documents 、Chain-of-Thought

摘要

预训练大型语言模型(LLMs)在大量文本数据上已成为标准范式。在使用这些LLMs进行许多下游应用时,通常会通过基于RAG的提示或微调,将新知识(例如,时效性新闻或私有领域知识)融入预训练模型中。然而,模型获取这些新知识的最优方法仍然是一个开放问题。本文提出了一种名为Retrieval Augmented Fine Tuning(RAFT)的训练方法,它提高了模型在"开卷"领域特定设置中回答问题的能力。RAFT通过训练模型忽略那些对回答问题没有帮助的文档(我们称之为干扰文档),来实现这一点。RAFT通过引用相关文档中正确的序列来回答这个问题。RAFT的链式思维风格响应有助于提高模型的推理能力。在特定领域的RAG中,RAFT在PubMed、HotpotQA和Gorilla数据集上持续提高了模型的性能,为提高预训练LLMs在领域特定RAG中的表现提供了一种后训练方法。

核心方法

  1. Retrieval Augmented Fine Tuning (RAFT):RAFT是一种训练方法,旨在通过微调来适应特定领域的开卷考试设置,即领域特定的RAG。
  2. 区分文档类型:在训练数据中,区分"oracle"文档(包含问题答案的文档)和"distractor"文档(不包含答案相关信息的文档)。
  3. 链式思维风格答案:RAFT训练模型生成包含链式思维的答案,这些答案引用了上下文中的原始文档,并详细解释了如何基于引用得出结论。
  4. 处理干扰文档:在训练过程中,模型被训练以在存在干扰文档的情况下回答问题,这有助于提高模型在测试时对检索结果的鲁棒性。

实验说明

实验使用了多个数据集来评估RAFT模型的性能,包括PubMed QA、HotpotQA和Gorilla API Bench。实验结果显示,RAFT在所有专业领域中都显著提高了性能,尤其是在处理领域特定RAG任务时。实验还包括了对RAFT模型在不同数量的测试文档下的性能进行评估,以测试模型对检索结果中干扰文档的鲁棒性。

数据集 GPT-3.5 + RAG LLaMA2-7B LLaMA2-7B + RAG DSF DSF + RAG RAFT (LLaMA2-7B)
PubMed 71.60 56.5 58.8 59.7 71.6 73.30
HotpotQA 41.5 0.54 0.03 6.38 4.41 35.28
HuggingFace 29.08 0.22 26.43 61.06 42.59 74.00
Torch Hub 60.21 0 8.60 84.94 82.80 84.95
TensorFlow Hub 65.59 0 43.06 86.56 60.29 86.86

结论

RAFT是一种旨在提高模型在特定领域内回答问题性能的训练策略。这种技术展示了一种针对基于选定文档集合的领域特定问题回答任务的LLMs微调配方。我们确定了一些关键设计决策,例如与干扰文档一起训练模型、组织数据集以便部分数据缺乏上下文中的oracle文档,以及以链式思维方式制定答案并直接引用相关文本。我们在PubMed、HotpotQA和Gorilla API Bench上的评估强调了RAFT的显著潜力。展望未来,我们预计领域特定的检索增强生成(RAG)将继续在工业和学术领域内获得关注。与一般RAG不同,我们的工作解决了LLMs被赋予使用领域特定知识回答问题的实际场景。与当前趋势一致,我们的发现表明,较小的微调模型能够在领域特定问题回答任务中表现得与它们的通用LLM对应物一样好。

相关推荐
灵动的艺术5 小时前
如一 Agent 架构解读(二十四):Agent 高效率低成本思考
人工智能·agent·如一
Xxtaoaooo6 小时前
双11避坑:我用 WorkBuddy + TextIn xParse 做了个「避坑对比台」,商品详情图丢进去,参数矛盾自动现形
人工智能·1024程序员节·textin·workbuddy·ai数据层基础设施
昵称画6 小时前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
Navicat中国6 小时前
将 Navicat 的 AI 助手连接到本地 LLM
人工智能·chatgpt
“AI国潮设计-小江”6 小时前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
点PY6 小时前
WeDetect论文精读
人工智能
CCC:CarCrazeCurator6 小时前
稀疏奖励 vs 稠密奖励:强化学习中的反馈带宽权衡
人工智能·深度学习·机器人
骑着蜗牛撵大象3276 小时前
语音变分录、规则挡幻觉:拆解开源 AI 记账系统 Smart Ledger 的全栈设计
人工智能·ai·架构·js·数据校验
墨染天姬6 小时前
[AI]Cursor Subagent 机制详解
人工智能
数睿数据无代码开发7 小时前
企业AI落地从高价值场景开始|数睿数据《AI应用场景集》正式发布
人工智能