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 RAGDistractor DocumentsChain-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对应物一样好。

相关推荐
wb043072014 小时前
性能优化实战:基于方法执行监控与AI调用链分析
java·人工智能·spring boot·语言模型·性能优化
AAA小肥杨4 小时前
基于k8s的Python的分布式深度学习训练平台搭建简单实践
人工智能·分布式·python·ai·kubernetes·gpu
mit6.8246 小时前
[Agent可视化] 配置系统 | 实现AI模型切换 | 热重载机制 | fsnotify库(go)
开发语言·人工智能·golang
Percent_bigdata7 小时前
百分点科技发布中国首个AI原生GEO产品Generforce,助力品牌决胜AI搜索新时代
人工智能·科技·ai-native
Gloria_niki7 小时前
YOLOv4 学习总结
人工智能·计算机视觉·目标跟踪
FriendshipT7 小时前
目标检测:使用自己的数据集微调DEIMv2进行物体检测
人工智能·pytorch·python·目标检测·计算机视觉
海森大数据7 小时前
三步破局:一致性轨迹强化学习开启扩散语言模型“又快又好”推理新时代
人工智能·语言模型·自然语言处理
Tencent_TCB7 小时前
云开发CloudBase AI+实战:快速搭建AI小程序全流程指南
人工智能·ai·小程序·ai编程·云开发
Sunhen_Qiletian7 小时前
基于OpenCV与Python的身份证号码识别案例详解
人工智能·opencv·计算机视觉
AustinCyy7 小时前
【论文笔记】Introduction to Explainable AI
论文阅读·人工智能