SFR-RAG:走向符合上下文的大语言模型

摘要 检索增强生成(Retrieval Augmented Generation, RAG)是一种将外部语境信息与大型语言模型(LLM)相结合的范式,以增强事实准确性和相关性,已成为生成式人工智能中的一个关键领域。RAG应用中使用的LLM需要忠实地完全理解提供的语境和用户的问题,避免产生幻觉,处理无法回答的、反事实的或者低质量和不相关的语境,进行复杂的多跳推理并生成可靠的引用。在本文中,我们介绍了SFRRAG,这是一个小型LLM,重点是指令调整,注重基于上下文的生成和幻觉最小化。我们还提出了ContextualBench,这是一个新的评估框架,汇编了多个流行和多样的RAG基准,如HotpotQA和TriviaQA,并具有一致的RAG设置,以确保模型评估的可重复性和一致性。实验结果表明,**我们的SFR-RAG-9B模型在ContextualBench的7个基准中的3个中优于主流基线,如Command-R+ (104B)和GPT-4o,在参数数量明显较少的情况下实现了最先进的结果。**该模型还表现出对语境信息的改变具有抵抗力,当相关语境被移除时,其行为适当。此外,SFRRAG模型在一般的指令遵循任务和函数调用能力方面保持竞争性能。

目录

1简介

2SFR-RAG

2.1SFR-RAG 聊天模板

2.2SFR-RAG 微调过程

3评估

3.1上下文评估套件 - ContextualBench

3.2在ContextualBench上的实验结果。

3.3对无法回答的、矛盾的和虚构的背景的适应能力

3.4标准基准测试

4结论

5参考文献

附录

1 简介

最近,检索增强生成(RAG)已经成为生成式人工智能研究中备受关注的一个重要领域[53, 54],受到基础大型语言模型(LLMs)最新进展的推动[4, 39, 29, 30, 40, 9, 14, 2]。 RAG框架非常适合解决依赖知识的问题或问题,其中提供外部上下文信息,并且期望生成的答案在上下文提示的基础上具有事实依据。 在实践中,RAG设置设计为生成器LLM与知识检索器配合工作。检索器负责从文档库(可能为整个互联网)中检索与给定查询相关的段落。LLM与用户交互,为检索器制定查询以获取知识,最后回答用户的问题。为了检索最准确的上下文信息,检索器通常依赖嵌入模型,并可选择使用重新排序器来获取精选的上下文文档列表。最近的研究还导致了更复杂的RAG框架的发展,涉及多个推理步骤以提高答案的可靠性。

∗ (保持原文不变) 对应作者:xnguyen@salesforce.com

图1:我们的SFR-RAG-9B模型在ContextualBench上表现出色,在标准化设置下对七个上下文任务进行了全面评估。值得注意的是,尽管参数远少于竞争基线模型,SFR-RAG在七项任务中有三项达到了最先进的性能,而在其他任务中表现也非常具有竞争力。

在这项工作中,我们将精力集中在RAG框架的生成器LLM组件上。

传统的通用LLM在聊天训练时往往在直接应用到RAG框架时遇到困难。这可能归因于几个潜在因素,包括:

从检索器中获取的上下文知识可能与用于LLM的训练数据发生冲突。

LLM未经培训,无法处理来自检索器的冲突或冗余事实。

在检索到的知识不足的情况下,LLMs会根据其训练数据来回答问题。

1.在代理环境中,模型可能也无法提供充分的引用或调用适当的函数和参数来检索适当的背景 [50],在这种情况下,模型可能会使用提供的函数或工具来执行任务。

最近的尝试集中于训练专门调整以在RAG框架中取得成功的LLMs,例如Command-R(+) [36]和RAG-2.0 [37]。这种针对RAG的LLMs不仅作为生成最新和事实性AI回复的基础,还可以快速在不同领域进行采用,避免增加模型容量、上下文长度或在可能的专有数据上微调LLM的需要。

在这项工作中,我们介绍了SFR-RAG,这是一个训练有素、重点放在与RAG和相关机构任务特定的可靠、准确和忠实的上下文生成能力的90亿参数语言模型。除了上下文任务外,SFR-RAG还经过训练,可以作为常规任务中具竞争力的人工智能助手。我们制定了一套全面的配方,包括数据合成和训练程序,以训练基本LLM,使其熟悉并适应各种现实生活中的RAG用例。这包括准确的事实知识提取、区分相关的与分散注意力的上下文、引用适当的来源以及答案、在多个上下文中进行复杂和多跳推理、一致地遵循格式,以及避免对无法回答的查询产生幻觉。SFR-RAG还具备函数调用和机构能力,使其能够主动从外部工具中搜索知识,以及进行类似Self-RAG、ReAct和其他推理策略。

图2:SFR-RAG使用的聊天格式示例,附有额外的“Thought”和“Observation”轮次(角色)。前者表示模型的“内部”思考或推理,行动和工具使用语法,通常不会显示给用户。后者表示通过执行搜索或函数调用检索和返回的所有外部信息。因此,助手轮次只需要负责生成用户友好的回复。在训练过程中,对“Thought”和助手轮次进行训练,而其他轮次则被掩盖。

目前针对评估LLM在语境理解方面的进展缺乏成熟的评估标准。 值得注意的是,Command-R(+) [36] 和RAG-2.0 [37] 在非重叠的指标 [49, 23] 上评估其提出的模型,并且设置不一致或未披露,导致难以在不同研究中对结果和比较进行对齐。 为了可靠地评估我们的SFR-RAG模型以及其他众所周知的基线模型,在本研究中,我们还引入了ContextualBench,这是许多热门的RAG和语境基准的编译,如HotpotQA和TriviaQA [49, 15, 25, 23, 13, 42, 18],标准化了评估设置,从而产生一致且可重现的评估结果。 在实验中,我们展示了我们的SFR-RAG-9B模型是一个全面且表现优秀的模型,在ContextualBench的七项基准测试中的三项中均取得了最先进的性能;请参见图1了解我们结果的概述。 SFR-RAG-9B在ContextualBench的所有任务中超越或与GPT-4o [30] 竞争。 尽管参数少出10倍,它也在各种任务上优于Command-R+ [36] 等强大的语境模型。 与可比的基线相比,我们的模型还显示出在事实更改和无法回答测试中具有韧性。 最后,尽管专注于RAG和语境应用的训练,我们的模型仍然作为常规指令调整的LLM具有竞争力,在像MMLU或GSM8K [12, 7, 6] 这样的标准基准测试中表现强劲且相当。此外,在函数调用能力方面也十分突出。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈


2 SFR-RAG

在这一部分,我们提供更多关于SFR-RAG的见解。首先,我们介绍了一个包含两种具有特定功能的新聊天角色的新型聊天模板(§2.1)。然后,我们简要讨论了SFR-RAG的训练过程(§2.2)。

2.1 SFR-RAG 聊天模板

大多数经过调整的语言模型通常包含一个聊天模板,该模板允许三种对话角色:(i)系统角色,通常在开始时指定一次,用于定义AI助手的一般特征,并提供如何响应用户输入的一般说明,(ii)用户角色指定用户消息的位置,(iii)助手轮次是模型根据系统轮次给出的指导响应用户查询的地方。

然而,随着越来越复杂的应用程序(可能涉及多步检索或函数调用)的应用,这些角色可能不得不处理越来越复杂和混乱的数据格式。例如,在检索任务中,外部上下文信息可能被注入到系统中。

用户回合,甚至可能构成助手回合的一部分,如果在模型的函数调用之后检索上下文 [36, 50]。这可能会导致用户回合中用户提出的实际指令或问题被混淆和分散注意力。换句话说,在这类任务中还没有普遍一致的位置来存储上下文信息。在另一个例子中,关于代理功能调用任务,助手回合必须生成使用特定工具语法的响应,并期望在此之后接收到函数调用的结果 [50]。这使得微调过程变得棘手,因为函数的结果是助手回合的一部分,通常包含答案线索,需要被屏蔽以防止记忆 [40]。此外,对于某些应用程序,从业者可能更喜欢隐藏模型的推理过程或模型调用的中间操作,仅显示用户友好的响应。将所有数据处理步骤封装在助手回合中可能妨碍这种用例。稳定性也是一个问题,因为在像 ReAct [50] 这样的推理策略中,模型可能无法始终产生特定的关键词。此外,角色、功能和特权方面的模糊性可能导致模型未能遵守系统提示,并向用户回合或工具输出方式注入的越狱投机行为 [44]。

为了克服这种复杂性,我们在SFR-RAG的对话模板中引入了两个更多可选的角色(轮次):思考和观察。如图2所示,观察角色用于存储从外部来源获取的任何环境信息,这些信息可以是检索用例中检索到的文档,也可以是代理工具使用场景中的函数调用结果。与此同时,思考角色被设计为模型发表任何内部推理或工具使用语法以调用特定函数调用。这种改变的益处多方。首先,它允许在训练期间轻松屏蔽。具体来说,系统、用户和观察轮次可能不可训练,因为它们是模型生成响应所需的输入信息。另一方面,思考轮次将被包含在微调损失中,以训练模型生成这样的“思考”。其次,角色的分离和澄清有助于执行指令层级 [44],通过确保LLMs尊重系统提示并拒绝跟随用户和观察轮次中插入的恶意指令,使其更安全。第三,额外的角色简化了构建可靠和安全的RAG和代理应用程序的过程,允许开发人员显示或隐藏内部数据处理步骤,并避免从助手输出中解析定制关键字。

2.2 SFR-RAG 微调过程

SFR-RAG的最重要目标之一是充分利用和完全理解现实世界RAG场景中提供的任何上下文信息。这种特征包括许多能力,其中包括:(i)从任意长的上下文中提取相关信息,(ii)识别缺乏相关信息并避免虚构生成,(iii)识别上下文段落中潜在的冲突信息,以及(iv)对分心、反直觉信息或在预训练过程中不属于分布范围的内容具有弹性。我们通过标准监督微调和偏好学习[40, 9, 31] 对SFR-RAG进行了微调,使用了模拟实际检索问答应用的大量指示遵循数据。

3 评估

3.1 上下文评估套件 - ContextualBench

已经有几种评估协议可以衡量LLMs和RAG系统在不同领域和复杂性下的语境理解性能[15, 23, 25, 49, 13, 42, 6, 18]。然而,先前的研究[36, 37, 1, 50]报告了关于非重叠度量、数据集和不一致的设置的结果,尤其是关于向LLMs呈现哪些语境内容以及模型超参数的设置。这导致直接比较不同研究结果时存在挑战。

为了提供更好的共同基础,我们提出了ContextualBench,主要是7个流行的情境问答任务的汇总,即HotpotQA、TriviaQA、TruthfulQA、PopQA。

2WikiHopQA,Musique和Natural Questions(NQ)[15, 23, 25, 49, 13, 42, 18]。在几个关键贡献中,ContextualBench作为一个全面的上下文LLM基准框架脱颖而出:

在ContextualBench中的措施在相同的指示下进行评估,其中上下文内容始终被明确指定。上下文内容包括每个基准测试的原始上下文文档(如果提供),否则它们将从一个更大的维基百科数据库中检索,使用选择的嵌入模型。

1.由于在生成的输出中评估具有各种不同详细程度的助手式LLMs并不是一件简单的事情,ContextualBench提供了多种评分方法来考虑生成答案与基本事实之间的差异。 这些评分方法包括(i)与基本事实的生成答案的精确匹配(EM),(ii)易匹配(EasyM)检查基本事实是否在生成的答案中,以及(iii)F1分数,可进一步添加。 附录提供了所有这些指标的完整结果。

2.ContextualBench 在 RAG 场景中提供了多种常见设置之一,其中之一是是否使用一致的嵌入模型检索 top-k 片段,或者直接将所有可用的上下文文档直接馈送给 LLM(无需检索)。

3.ContextualBench中的各种措施和任务使得对上下文LLMs进行整体性和具体性评估成为可能。通过平等地权衡每项任务和措施,ContextualBench允许直接比较模型的整体性能。另一方面,根据从业者的用例和域规范,可以优先考虑某些措施或数据集,从而能够快速确定最佳的特定任务模型。

数据集特定设置。对于2WikiHopQA、HotpotQA和Musique,每个问题的上下文文档已经提供,所以我们直接将它们作为上下文信息使用。对于TriviaQA、TruthfulQA和NQ,问题附带其相应的维基百科文章或源URL。我们从这些来源抓取网页内容,并使用Cohere嵌入[35]来检索上下文来源的前10块,每个块长达512个标记。同时,PopQA本身不带有上下文文档,因此我们利用Self-RAG检索器[1]生成的现成上下文文档。对于每个任务,如果测试集包含有金标签,则使用测试集,否则我们使用整个验证集来衡量模型的性能。这与Command-R的报告[36]不同,其中HotpotQA的评估是在验证集的100个样本子集上进行的,没有披露关于上下文文档的详细信息。

请注意,ContextualBench包含一些流行的现有基准测试,如 TriviaQA 和 TruthfulQA,评估过程利用特定语境,模型被期望是忠实的。也就是说,与传统的闭卷问答设置相比,在闭卷问答设置中,LLM 的参数化知识在没有提供语境的情况下被评估。换句话说,这些语境的存在可能导致得分显著不同。

3.2 在ContextualBench上的实验结果

表1比较了我们的9B SFR-RAG模型在ContextualBench上与最先进的大型模型以及7个问答任务中可比较的模型的性能。PopQA的得分以易配对方式测量,而其余的以精确匹配方式测量。如图所示,GPT-4o在大多数基准测试中毫无疑问地表现优异。然而,考虑到其较小的规模,我们的SFR-RAG-9B模型明显优于强大的开源基线,如参数数量高达10倍的Command-R和Command-R+。值得注意的是,在上下文环境中,它在TruthfulQA、2WikihopQA和HotpotQA的基准测试中达到了最新水平。总体而言,它也实现了最新平均性能,展示了我们模型在许多上下文任务中的强大能力。特别是,我们的模型在2WikiHopQA方面表现优异,与GPT-4o相比,性能提高了近25%。与此同时,我们的9B模型在大多数基准测试中一直优于Llama-3.18B Instruct和gemma-2-9b-it。

3.3 对无法回答的、矛盾的和虚构的背景的适应能力

因为大多数QA基准都基于真实世界的事实,所以理解LLMs在上下文问答任务中的表现可能存在歧义,因为高分可能归因于两种情况:(i)从上下文文档和内容中寻找准确事实的能力,或(ii)SFR-RAG-9B和各种开源和闭源基线在7个方面的性能。

ContextualBench中的上下文问答任务。粗体数字表示最佳表现,而下划线数字表示在开源模型中表现最佳。PopQA以易匹配准确率(EasyEM)衡量,而其余几个任务以精确匹配准确率(EM)衡量。附录中呈现了各项指标的完整结果。

Command-R+GPT-4ogemma-2-9b-itSFR-RAG-9B

图3: FaithEval [27]: 当上下文事实被虚构(反事实)、移除(未知)或事实相互矛盾时,不同模型的平均易配对准确度得分。

(冲突)。这些设置之间的微小差异和整体较高的绝对分数表明,SFR-RAG-9B对上下文信息的变化具有弹性。

在预训练阶段获得的模型固有的参数化知识,其中像GPT-4o这样的大型和最先进的模型常常具有显著优势。

Ming等人[27]最近提出了FaithEval,一个评估套件,用于衡量当上下文的事实发生改变时,LLMs如何保持忠实于上下文。该基准评估LLMs在三种情况下的表现:(i)“未知”情况,其中相关事实被删除,原始问题变得无法回答;(ii)“冲突”情况,提供了包含冲突或矛盾信息的多个上下文文档,模型应能够识别这一点;和(iii)“反事实”情况,其中某些常识事实被引入虚假制作的上下文文档来改变。例如,“月球是用棉花糖制成的”。被视为反事实上下文,评估的LLM在提示进行时预期保持对该“事实”的忠实。根据Ming等人[27]的做法,将“未知”和“冲突”任务在10个基准上进行平均评估[43, 8, 49, 18, 41, 19, 32, 10, 17, 15],而“反事实”任务则使用ARC-C数据集[6]进行评估。

图3显示了在FaithEval套件下三个任务中不同LLM的平均非严格匹配准确性得分。如图所示,其他基线模型如GPT-4o在反事实和未知设置下随着事实变化呈现高度变化。特别是,在反事实设置下,GPT-4o的得分较低,可能是因为大型模型可能具有更高的知识惯性和更强的抗拒事实变化能力。同时,我们的SFR-RAG-9B得分在即使在上下文信息被改变的情况下仍然保持高得分。这表明我们的模型在面对未知上下文信息时具有弹性且忠诚。这也意味着该模型更适应这个不断变化的世界。此外,我们的模型更能够识别上下文中的矛盾,并抵抗标准LM-eval-harness基准中的矛盾。SFR-RAG-9B在标准世界知识和推理能力方面相对有竞争力,与可比较的基线模型相媲美。

表3:伯克利函数调用基准测试[48]上的分数:SFR-RAG-9B展示出具有竞争力的函数调用能力。

根据上下文呈现的信息与其自身的参数化知识相矛盾时,模型仍然更忠实于上下文,即使上下文与其预先训练的知识相矛盾。

3.4标准基准测试

我们还在传统的少样本提示基准[12, 7]中评估了我们的SFR-RAG模型,以衡量其参数化知识以及一般的指令遵循和推理能力。使用Open LLM排行榜[3]中类似的设置,我们采用了标准的评估测试架构。

评估我们的模型在MMLU(5次射击)、GSM8K(5次射击与严格匹配)、Winogrande(5次射击)、TruthfulQA(0次射击MC2)、Hellaswag(10次射击并进行了规范化准确性评估)和ARC-C(25次射击并进行了规范化准确性评估)中的表现。

如表2所示,尽管我们的SFR-RAG模型优化用于上下文和检索用例,但在世界知识、常识和推理能力方面表现竞争力。特别是,我们的9B模型在MMLU、 GSM8K、TruthfulQA和ARC-C方面优于具有35B参数的Command-R [36]。与此同时,它仍然在Llama-3.1-Instruct [9]和gemma-2-9b-it [38]中保持竞争力。

我们的模型还通过函数调用进行训练,重点支持与外部工具进行动态和多跳交互,以检索高质量的上下文信息。因此,我们在伯克利函数调用任务中与某些流行的基线模型进行了比较。如表3所示,我们的SFR-RAG在与类似基线模型(如Llama-3-8B)的竞争中表现出色。

4 结论

我们提出了SFR-RAG模型,这是一个经过细致调整的LLM,注重于对检索增强生成应用的忠实上下文理解和理解能力。SFR-RAG模型经过训练,旨在最小化幻觉,有效处理无法回答的、反事实或低质量和不相关的上下文。它还能够执行复杂的多跳推理,并可可靠准确地生成引用。我们还介绍了ContextualBench,这是一个各种流行的RAG基准的汇编,在一致和适当的设置下进行评估。实验证明,我们的9B SFR-RAG模型胜过明显的基线,包括Command-R+和GPT-4o,在ContextualBench的7个基准中的3个中达到了最先进水平。我们通过FaithEval的评估还表明,我们的模型对上下文信息的变化具有韧性,并能够识别无法解答的问题。最后,与类似规模的基线相比,SFR-RAG模型在一般的指导任务和函数调用能力方面保持着竞争性表现。

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

学习路线

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值