如何大幅的提高RAG在领域知识的准确性

本文探讨了如何通过领域模型微调和迭代推理优化RAG系统在金融领域的问题解答,发现微调嵌入模型和引入迭代推理机制能显著提高准确率。研究提出了一种结构化技术设计框架,并强调了嵌入模型微调的成本效益和迭代推理的价值。
摘要由CSDN通过智能技术生成

如何大幅的提高RAG在领域知识的准确性

本研究深入探讨了特定领域模型微调和推理机制对基于大型语言模型(LLMs)和增强检索生成(RAG)技术的问答(Q&A)系统性能的影响。通过 FinanceBench SEC 财务文件数据集的分析,我们发现,对于 RAG 系统而言,将经过微调的嵌入模型与 LLM 相结合,能够比通用模型获得更高的准确度,尤其是微调的嵌入模型贡献了更多的性能提升。此外,引入 RAG 之上的推理迭代机制,能够显著提升系统性能,使 Q&A 系统的表现更趋近于人类专家水平。文章还讨论了这些发现的意义,提出了一个包含 Q&A AI 主要技术组件的结构化技术设计框架,并为这些组件的技术选择提供了建议。我们将继续这项工作,为 AI 团队提供实用的指导,并进一步探索特定领域增强在 RAG 中的作用以及代理 AI 的高级规划和推理能力。

缘起

AI驱动的问答系统现在已经是AGI领域的研究热点,也是应用热点。通过与成熟的搜索技术搭配,可以快速的从海量信息中获取有用信息,节省时间。但是这些LLM驱动的问答系统在处理特定领域问题时,仍然会遇到一些问题和局限性。

比如结合了信息检索和生成模型的检索增强技术(RAG),虽然在回答问题时可以更加贴合语境,给出更加丰富的回答,但是,大家也发现,在比如金融这样的特定领域时,仍然表现不是很好。比如,利用LLM+RAG来回答美国证券交易委员会(SEC)财务问题时,就会有81%的问题是得不到答案的。

面对这些问题,作者提出了两个主要思路来提升RAG系统在这些特定领域的问答质量:模型微调和迭代推理(iterative reasoning)。

  • 微调:在RAG的工作流程中,一般有两个关键模型可以进行微调:一个是负责索引和检索信息的嵌入模型,另一个是负责生成答案的生成模型。我们在FinanceBench数据集上进行了实验,比较了基于通用LLM的RAG系统与经过微调的RAG系统,无论是在检索还是生成方面,微调都带来了显著的提升。
  • 迭代推理:受到先前研究和我们在工业应用中的经验的启发,我们探索了将观察-定向-决定-行动(OODA)循环这一成熟的迭代推理机制与基于RAG的问答系统相结合。这种方法在处理极为复杂的问题时,也显示出了显著的进步。

如何才能提高RAG的效果?

要回答这个问题,作者拆分了当前标准RAG流程的步骤,所谓的RAG确实可以拆分为R、A、G三个部分:

  • • R:信息检索,首先,将信息源进行索引,大多数情况下是将文本资料转换为向量嵌入形式。这一过程通常借助嵌入模型来实现,它将内容片段转换为能够捕捉内容语义精髓的固定长度潜在向量。接着,使用同一嵌入模型来寻找与特定问题在语义上相关的信息。检索过程一般依据相似性度量或语义匹配算法进行。
  • • A:信息增强,索引和检索步骤可以通过附加的相关元数据或人为考量来增强。元数据可能来源于资料的格式和结构,如PDF、CSV等;而人为考量可能基于专家对领域内显著事实、规则、例外和流程启发式的知识。在一些专业术语繁多的领域,增强流程以提升对关键词汇的关注度也是必要的。这样的信息增强会影响检索内容片段的相关性排序,为生成阶段提供更加有用的辅助信息,从而为后续的生成步骤打下更坚实的基础。
  • • G:答案生成,大型语言模型Agent应用(LLM)利用检索到的辅助信息和自身的知识及生成能力,综合生成一个连贯且易于理解的答案。相较于单独使用LLM,这种方法通常能够产生更准确、更少错误的结果。

此类RAG流程在单一的推理过程中完成,从检索与问题相关的信息,到用元数据和用户考量增强这些信息,再到生成用户的答案。

所以提高RAG效果的话,可以从以下三个方面入手:

  • • 优化的检索器:一个能够更精确地捕捉特定领域专业术语中关键词汇的深层含义和隐含意义的嵌入模型;
  • • 改进的生成器:一个对特定领域逻辑和期望的展示格式有深入了解的大型语言模型Agent应用(LLM);
  • • 迭代式、多步骤推理:一种结合了基于RAG的查询、必要性与充分性推理、任务分解和结果验证的机制,这些通常是人类为确保结果准确性而执行的活动。

微调Embedding模型

Embedding模型现状

OpenAI于2022年12月推出的专有文本嵌入模型ada-002,迅速成为文本搜索、代码搜索和句子相似性等信息检索任务的行业标杆。该模型通过整合五个独立模型为一个简化模型,并将上下文长度从2048扩展至8192。不过,OpenAI尚未开放text-embedding-ada-002的微调功能。

开源嵌入模型bge-large-en由BAAI开发,在2023年8月发布之初即在大规模文本嵌入基准测试中夺魁。BAAI为该模型提供了微调功能,并通过LlamaIndex库提供了接口。其在常规文本检索任务中的卓越表现,使其成为观察微调带来性能提升的理想基准模型。

微调Embedding模型

在特定领域中,一些术语的映射含义可能与日常用语中的不同,微调嵌入模型能够根据上下文改变这些术语的关联方式。例如,普通嵌入模型可能将“pizza”与“Italy”、“pasta”等食物相关概念紧密关联,而在冬季运动的语境下,微调后的模型则可能将其与“slowing”、“stopping”和初级滑雪教程等术语更多地联系起来。

在我们的开发实验中,我们对BAAI的bge-large-en模型进行了微调。常规流程包括使用LlamaIndex库的“句子分割器”将文本文档分割成语义块,然后利用OpenAI的GPT-3.5生成每个块的问题-上下文对,以构建合成数据集进行微调,并执行5轮微调训练。在客户关系管理系统等已有自然问答结构的应用场景中,我们可以直接提取问题-上下文对,无需通过大型语言模型Agent应用(LLM)生成。在本文讨论的金融分析特定应用案例中,我们从FinanceBench公共数据集中随机选取了100对问题-上下文对进行微调。

生成答案的LLM模型

LLM模型现状

OpenAI在2022年发布的GPT-3.5模型,标志着大型语言模型技术在公众中的广泛采用。这一模型在各类自然语言处理(NLP)任务上均有卓越表现,为问答AI系统奠定了坚实的基础。此后,众多商业和开源的LLMs相继问世,推动了LLM技术生态系统的蓬勃发展。

OpenAI的GPT-4作为公司目前最先进的LLM,能够处理包括文本和图像在内的多模态输入数据。Google DeepMind的Gemini模型和Anthropic的Claude模型,以其处理长文本的能力,成为了OpenAI GPT系列模型的强大竞争者。

在开源领域,Meta的Llama2模型家族广受青睐,催生了一系列基于此的AI工具生态。HuggingFace提供了Llama2的多种替代模型,其中Falcon模型家族尤为突出。

微调LLM

微调LLM需要高质量的对话历史样本,包括查询-答案对。在RAG系统的推理阶段,用户的消息将与文档文本相结合,以便LLM能够据此生成答案。然而,LLM的微调通常只专注于查询-答案对,以确保回答行为仅依赖于查询本身,而非检索到的文档。

在作者的实验中,利用OpenAI的微调API对gpt-3.5-turbo-0125模型进行微调。针对本文讨论的金融分析案例,我们直接从FinanceBench公共数据集中随机抽取了100对查询-上下文样本,随后进行了5轮的微调训练。为保持一致性,我们采用了与前文提到的嵌入模型微调部分相同的随机样本集。

迭代推理

OODA推理模式

观察-定向-决策-行动(OODA)循环是一种成熟的迭代推理框架,它强调在复杂环境中进行持续的适应和决策。由军事战略家约翰·博伊德提出,OODA循环已被广泛应用于商业、体育、医疗等多个领域。

OODA循环包含四个主要步骤:

  • • 观察:搜集有关环境和当前问题的信息;
  • • 定向:分析搜集的信息,更新对情境的理解,并提出可能的解决方案或行动;
  • • 决策:评估各种可能的解决方案或行动,并基于当前理解选择最合适的方案;
  • • 行动:执行选定的解决方案或行动,并监测其对环境的影响。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OODA循环的迭代特性使得可以根据环境反馈进行不断的优化和调整。通过这四个步骤的循环往复,代理可以逐步深化对问题的理解,提出更加贴切的解决方案,做出更明智的决策。

在问答系统的领域,OODA循环有助于将复杂问题拆解为更易解答的简单问题,整合并理解来自多个RAG查询的数据点,并确保内部逻辑的一致性。融入OODA循环的问答系统能够逐步提升对问题的理解,检索出更为相关的信息,生成更精准、更符合情境的答案。这种迭代方法有助于克服许多现有的大型语言模型Agent应用(LLMs)和AI系统所采用的单次输入-处理-输出的数据流限制。

将OODA循环整合进基于RAG的问答系统,需要将循环的四个阶段与RAG流程的各个部分相对应。

构建OODA推理机制

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为引导生成模型条理清晰地完成任务推理,我们采用了Aitomatic开源的OpenSSA框架,该框架融合了OODA循环迭代机制。执行任务时,推理器会通过逻辑推理得出结论。在推理过程中,模型会根据任务描述中的指示和工具,对当前任务不断进行OODA循环迭代。这包括利用现有资源持续搜集数据(观察),思考当前情境及新信息的适配性(定向),依据累积知识与任务目标做出选择(决策),并运用现有工具执行决策(行动)。OODA循环的迭代为模型提供了一个稳定且明确的框架,以达成任务目标,并允许它根据实时信息灵活调整策略。

如何评价优化后的RAG(含OODA推理)

为评估我们新方案的效果,作者设计了一系列指标和方法来评估。

如何评估检索质量

利用LlamaIndex评估工具箱提供的自动化检索品质指标,该工具箱使用大语言模型Agent应用(LLM)来核实检索文档与查询、答复和参考文档之间的相关度。

  • • 相关性:评估答复是否与上下文信息吻合,不相关得0分,相关得1分。
  • • 忠实度:衡量答复是否有检索到的上下文支持,无支持得0分,有支持得1分。
  • • 上下文相似度:通过计算上下文映射到嵌入空间后的余弦相似度,衡量检索到的上下文与参考上下文的语义差异。余弦值若低于0.8则得0分,高于0.8则得1分。

如何评估回答质量

使用自动化准确度指标和人工评分相结合的方法,来评价问答系统生成的最终答案的正确性,以参考答案为标准。

  • • 自动化准确度:我们采用LlamaIndex的CorrectnessEvaluator,根据回答与参考答案的相关性,对回答进行1至5分的评分,并为每个评分提供理由,确保评分一致性。1分代表不相关回答,2至3分代表相关但可能存在错误的回答,4至5分代表完全正确回答。为与人工评定的二元分数保持一致,我们将这些分数转换为百分比形式。
  • • 人工准确度:我们同时开展人工评估,依据FinanceBench参考数据,对生成的回答进行正确性评定。通过观察不同难度问答问题类别的表现,我们能够洞悉各种问题类型的性能提升。这种定性评价为我们提供了关于所提框架在现实世界中的应用性和有效性的深刻见解。

评估结果

为了完成测试,作者设计了几种配置组合:

  • • 通用RAG配置:使用bge-large-en模型与gpt-3.5-turbo-0125。
  • • 微调生成器的RAG配置:使用bge-large-en模型搭配经过微调的gpt-3.5-turbo-0125。
  • • 微调检索器的RAG配置:使用经过微调的bge-large-en模型与gpt-3.5-turbo-0125。
  • • 完全微调的RAG配置:使用经过微调的bge-large-en模型与同样微调过的gpt-3.5-turbo-0125。
  • • 集成OODA推理的通用RAG配置:使用bge-large-en模型、gpt-3.5-turbo-0125及OODA推理流程。

所有系统均采用相同的VectorStoreIndex处理文档,选取前十名文档,并运用基础LlamaIndex提供的默认RAG提示。

测试集涵盖了FinanceBench公开测试集中除用于训练的100题外的其余41个有效问题

检索质量评估结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上表概括了不同技术配置在FinanceBench测试集问题上的检索质量得分。由于OODA推理过程包含多轮迭代检索,与RAG系统的单步检索过程不具有一一对应的可比性,故未在此表中展示。

答案准确性评估结果

图片

上表汇总了在FinanceBench测试集中不同配置所获得的自动化评分以及人工评判的二元准确度评分。请注意,自动化准确性评分已从原始的1至5分的评分标准转换为百分比形式。“总体”得分反映了整个测试集的表现。而“简单”和“困难”问题的得分则分别基于第3.2节所述的相应子集进行评估。

结论

微调组件模型带来的RAG准确率提升

采用微调检索器、微调生成器或全面微调的RAG系统,相较通用RAG有更佳表现。尤其是在FinanceBench数据集上,我们实现了最高可达20个百分点的准确率提升。微调检索器模型在提升准确率方面,比微调生成器更为显著。这一点尤为重要,因为与微调用于生成的大型语言模型Agent应用(LLMs)相比,微调用于检索的嵌入模型成本更低廉,工作量更小。

OODA推理集成带来的RAG准确率提升

将迭代推理机制如OODA与RAG引擎结合,能显著增强系统性能。具体而言,通用RAG集成OODA推理的配置,在FinanceBench数据集上的准确率提升了高达50个百分点。这一发现表明,OODA作为一种通用的推理机制,当与相关信息源结合使用时,在特定领域的任务中显著提升了准确率。在FinanceBench数据集上,通用OODA配置的性能超过了完全微调的RAG,准确率差距达到了20至25个百分点。

一些启示

相较于语言模型,应优先对嵌入模型进行微调。作者的方法不仅表现更佳,还提供了一种更为高效且可扩展的解决方案,通过特定领域内的嵌入调整来应对实际问题。与语言模型的微调相比,嵌入模型的微调在数据采集上需要的人力更少,因而更为实用。

引入OODA推理或其他迭代推理机制,这能显著提升信息的连贯性,并增强问答系统整合多方信息的能力。

明确技术设计空间,涵盖关键组件,并基于实证依据做出明智选择:

  • • (a) 确定对问答系统性能影响最大的关键组件,例如信息索引与检索、答案生成和迭代推理。
  • • (b) 构建一个结构化的技术设计框架,覆盖这些组件的所有可能配置。
  • • © 根据实证量化证据,如本研究所示结果,为特定领域或任务选定最佳配置。

https://arxiv.org/abs/2404.11792

通往 AGI 的神秘代码

if like_this_article():
    do_action('点赞')
    do_action('再看')

if like_all_arxiv_articles():
    go_to_link('https://github.com/HuggingAGI/HuggingArxiv')    star_github_repo(''https://github.com/HuggingAGI/HuggingArxiv')

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值