RAFT 对不关系的RAG检索结果启动建模 Berkeley UC
大家好,我是HxShine,当天介绍一篇UC Berkeley的一篇RAG成果优化的文章~
大模型引入新的常识普通有两个路径,一种是RAG检索增强,一种是SFT,哪种模式成果比拟好呢?或许说有没有一些其余的更为有效的模式呢?
这篇论文引见了一种新的训练方法——检索增强型微调(RAFT:Retrieval Augmented FineTuning),旨在改善畛域特定的RAG(Retrieval-Augmented Generation)条件下,大型言语模型(LLMs)对疑问的回答才干。
便捷来说,RAFT将RAG+SFT+COT无机的联合起来,在多项问答测试集上,应用LLama2 7B的模型,就取得了比ChatGPT3.5+RAG联合的方法。详细来说,在RAFT中,面对一个疑问及一组检索到的文档时,模型被训练为疏忽那些不关系的常识,同时开掘其中与疑问的关系常识的来优化问答成果。同时其联合链式思索COT战略优化推理才干。其在PubMed、HotpotQA、Hugging Face、Torch Hub、TensorFlow Hub等问答数据集上,取得了十分不错的成果。
一、概述
Title:RAFT: Adapting Language Model to Domain Specific RAGURL:
Code:
Code2:
Authors:Tianjun Zhang, Shishir G. Patil, Naman Jain, Sheng Shen, Matei Zaharia, Ion Stoica, Joseph E. Gonzalez
1 Motivation
•大模型引入新常识(例如紧急资讯或私有畛域常识)要么经过RAG,要么微调,但如何最佳地让模型取得这些新常识还值得探求。
•为了改善LLMs在特定畛域中的性能,特意是在开明书本式问答("open-book" questioning)义务中,本文提出了RAFT(Retrieval Augmented FineTuning)方法,尝试将SFT,RAG,COT启动联合,优化特定畛域QA的成果。
背景:哪种模式引入外部常识最好?
Figure 1: How best to prepare for an Exam?
1.纯监视的微调(FT):种方法经过间接“记忆”输入文档或许回答练习疑问(不援用文档)来“学习”,相似于考试前间接背诵或许经过做练习题来预备,但没有援用外部文档。
2.纯检索增强生成(RAG):这种方法相当于开卷考试,然而没有提早学习。即在回答时可以援用文档,但没有充沛应用固定畛域设置和提早接触到测试文档的学习时机。
3.监视微和谐检索增强生成联合(RAFT):联合了监视式微调(SFT)和检索增强生成(RAG),经过援用文档中的关系段落来生成答案,同时在模拟的不完美检索环境中启动训练,从而有效地为开卷考试设置做预备。
省流版打算总结:
RAFT:在RAFT中,给定一个疑问和一组检索到的文档,训练模型疏忽那些无助于回答疑问的文档,即不关系的文档,并援用关系文档中的正确常识来回答疑问。
RAFT方法步骤:
•驳回检索增强型微调(RAFT)方法,训练模型识别并漠视那些分散留意力的文档。
•经过援用疑问答案的关系文档中确实切文本序列,成功对疑问更准确的回答。
•联合RAFT的思绪链式(chain-of-thought-style)照应,提高了模型的推理才干。
RAFT方法概览:
Figure 2: Overview of our RAFT method.
与传统RAG不同,RAFT方法探求在训练环节中如何经常使用正负文档集来调整大型言语模型(LLMs),它的外围现实是从一组注释档和负文档中读取外部常识,让大模型学习过滤非关系常识的才干。在测试时,一切方法都遵照规范的RAG设置,即在高低文中提供检索到的前k个文档。
总的来说RAFT方法经过模拟不完美的检索环境和联合链式思索格调的训练,提高模型在特定畛域内的RAG义务性能。经过这种模式,RAFT方法旨在提高模型的准确性和鲁棒性,使其在面对检索到的文档时能够更好地识别和应用关系消息。
RAFT方法的关键特点包括:
1.区分正负文档:在训练数据中,模型被提供了一个疑问(Q)、一组文档(Dk),以及一个由其中一个文档(D∗)生成的链式思索格调的答案(A∗)。这里的文档被分为“正样本”文档(D∗),即蕴含疑问答案的文档,和“搅扰”文档(Dk),即不蕴含答案关系消息的文档。
2.训练数据的预备:在数据集中的一局部(P%),保管正样本文档和搅扰文档;而在另一局部(1-P%)的数据中,只蕴含搅扰文档,不蕴含正样本文档。这样的训练数据预备方法迫使模型在某些状况下不依赖于文档内容来记忆答案,而是从高低文中推导答案。
3.生成推理环节:RAFT方法强调生成一个推理环节,如链式思索(Chain-of-Thought),来解释提供的答案。这包括援用原始高低文中的段落,并详细解释如何基于援用得出论断。
3 Conclusion
RAFT方法经过联合微和谐检索增强技术,清楚提高了大型言语模型在特定畛域内的性能。这种方法不只提高了模型在提供高低文中处置疑问的才干,还增强了模型关于搅扰文档的鲁棒性,使其在实践运行中愈加牢靠和有效。
Table 1: RAFT improves RAG performance forall specialized domains
总结:
•与基础的LLaMA2模型相比,RAFT在PubMed数据集上的性能优化了76.35%,在Torch Hub上优化了86.86%。
•即使与特定畛域的微调模型(DSF)相比,RAFT也显示出更好的性能,尤其是在HotpotQA和HuggingFace数据集上,区分优化了30.87%和31.41%。
•与更大的GPT-3.5模型+RAG相比,RAFT在某些数据集上也展现了清楚的长处。
二、详细内容
1 RAFT示例
Figure 3: RAFT prompt to help LLM evaluate its own generated reasoning and answers, contrasting them with the correct reasoning and answers.
该示例说明了如何经过提供疑问、高低文和答案来训练大型言语模型(LLMs)生成正当的推理链,并据此给出答案。这个环节中,模型被要求识别和援用正确的文档内容来构成答案,并且能够评价自己生成的推理和答案的正确性。
1.疑问(Question): 模型被给定一个疑问,例如:"The Oberoi family is part of a hotel company that has a head office in what city?"
2.高低文(Context): 与疑问关系的一组文档或消息片段,高低文无关系的参考消息,也有非关系的搅扰消息。在这个例子中,高低文提供了关于Oberoi家族和他们在酒店业的介入的消息,以及Oberoi团体的总部位置。
3.答案(Answer):最终的答案。
4.推理链(Chain-of-Thought, CoT): 模型生成的推理环节,它解释了如何从高低文中获取答案。在这个例子中,推理链援用了高低文中的两个关键消息片段,并解释了如何依据这些援用得出Oberoi团体总部位于德里。
5.指令(Instruction): 指点模型如何生成推理链的指令。在这个例子中,指令要求模型经常使用特定的格局来提供推理,即在##Reason##和##Answer##之间拔出援用的高低文和最终答案。
经过这种模式,RAFT方法不只训练模型从文档中提取和应用关系消息来回答疑问,而且还训练模型生成详细的推理环节,这有助于提高模型的透明度和可解释性。此外,这种方法还激励模型自我评价,并从中学习改良。这种自我评价的环节有助于模型在未来的义务中提高性能和准确性。
2 COT的作用(消融试验)
Table 2: Ablation on Chain-of-Thought
1.数据集(Datasets):
• PubMed: 专一于动物医学钻研疑问的问答数据集。
• HotpotQA: 一个须要多步推理的问答数据集。
• HuggingFace: 来自 Gorilla API Bench 的数据集,触及基于文档生成正确的 API 调用。
• Torch Hub: 相似于HuggingFace,也是一个API调用的数据集。
• TensorFlow Hub: 另一个权衡API调用才干的基准数据集。
2.试验性能(Model Configurations):
•RAFT w.o CoT: 运行了 RAFT 方法但没有经常使用 Chain-of-Thought 的模型。
•RAFT: 运行了 RAFT 方法并联合了 Chain-of-Thought 的模型。
3.成果剖析(Performance):
•在大局部列出的数据集上,经常使用 CoT 的 RAFT 模型(RAFT)相比于没有经常使用 CoT 的 RAFT 模型(RAFT w.o CoT)都展现出了更好的性能。
•在 HotpotQA 数据集上,经常使用 CoT 的性能优化尤为清楚,从 25.62% 优化到了 35.28%,增益为 9.66%。
•在 HuggingFace 数据集上,经常使用 CoT 的性能优化也很清楚,从 59.07% 优化到了 74.00%,增益为 14.93%。
CoT方法清楚提高了模型在特定畛域内的性能,特意是在处置须要详细推理和解释的义务时。经过生成详细的推理链并援用高低文,模型能够更明晰地解释其答案,从而提高了答案的准确性和可解释性。这标明CoT是提高模型性能的一个关键组成局部,尤其是在须要模型启动深化了解和推理的复杂义务中。
3 RAFT方法与特定畛域微调(DSF)方法对比
Figure 4: Comparison of RAFT and DSF
1.疑问(Question):
•给定一部电影,和关系Documents,征询编剧是谁?
2.文档(Documents):
•提供了蕴含关系消息的文档片段,其中提到了编剧David Weissman及其介入的电影作品,包括“Evolution”。
3.RAFT模型的输入:
• RAFT模型正确地从文档中提取了消息,并识别出David Weissman是“Evolution”的编剧。RAFT模型生成的推理链明晰地援用了文档中的关系消息,并据此给出了正确答案。
4.DSF模型的输入:
•相比之下,DSF模型在处置相反的疑问和文档时产生了失误。DSF模型失误地提取了电影称号作为编剧。
论断是,RAFT方法经过联合链式思索和高低文援用,特意在须要了解和应用提供文档内容的义务上,提高了模型在特定畛域疑问上的体现。另外也说明在训练环节中对文档了解和推理COT的关键性,有助于模型在实践运行中更准确地处置和回答疑问。
4 训练环节中正确样本(外部检索的常识)的比例(P%)对模型性能的影响
Figure 5: How many golden documents to involve?
试验说明:横轴示意训练数据中蕴含正确样本的比例,从0%到100%,纵轴示意模型在测试时的最终准确率。
试验论断:在训练大型言语模型时,正当平衡正确样本和非正确样本的比例关于提高模型在特定畛域RAG义务上的性能至关关键。经过调整这一比例,可以使模型更好地学习如何处置和应用关系文档消息,同时防止适度依赖特定样本,从而提高模型的泛化才干和鲁棒性。
5 推理时不同数量的搅扰文档对模型性能的影响
Figure 6: Test-Time Documents Varying
说明:"D*"、"D1"、"D2"、"D3"等符号代表了在训练环节中经常使用的不同组合的文档数量,"D*"代表蕴含正确答案消息的文档,这些文档是回答疑问所必须的,蕴含了处置疑问的关键消息。"D1"、"D2"、"D3"等代表搅扰文档,这些文档不蕴含回答疑问所需的关系消息。在训练环节中,这些搅扰文档被用来模拟实在环球中的状况,即模型在尝试从检索结果中找到正确答案时,或许会遇到少量不关系的消息。
总结:
1.训练数据配比的关键性,并非一切状况都适宜经常使用相反数量的搅扰文档启动训练。例如,在某些数据集上,训练时经常使用一个“正样本”文档加上三个搅扰文档(D* + 3D)或许会取得最佳性能,而在其余数据集上,或许须要调整这个比例。
2.在训练环节中模拟实在检索环境的关键性。经过在训练中蕴含不同数量的搅扰文档,模型可以学习在测试时如何处置检索器或许前往的不确定数量的文档,包括正确和失误的消息,在有些义务上可以清楚优化成果。