为什么你的LLMs玩不转外部知识?RAG分类学助你诊断!
2024-09-24 | 作者:系统组(上海)
编者按:大语言模型在教育、医疗、金融等多领域的应用已展现出其不可忽视的价值。如何更好地结合外部数据,如何提升模型处理专业领域问题的可靠性,是大语言模型应用开发中值得不断思考的问题。针对此,微软亚洲研究院的研究员们提出了一种基于查询需求分层的 RAG 任务分类法,从显式事实、隐式事实、可解释的推理、隐式推理4个层级出发,直指大模型应用在不同认知处理阶段所面临的难点和定制化的解决手段。该研究可以使大模型更好地整合专有领域知识,保证其在特定领域中发挥最前沿的能力,在微软亚洲研究院与上海市精神卫生中心针对个性化认知训练展开的联合研究中发挥了关键作用。
随着人工智能的快速发展,结合外部数据的大语言模型(LLMs)在完成真实世界任务时展现出了卓越的性能。这些外部数据既能够提升 LLMs 的专业性和时效性,还降低了模型产生幻觉的风险,同时增强了其可控性和可解释性。尤其是当模型结合了无法纳入初始训练语料库的私有数据或特定场景数据时,这些优势更加明显。
然而,要将结合外部数据的 LLMs 有效地应用于不同的专业领域,目前仍面临重大挑战。这些挑战范围广泛,不仅包括构建数据管道(如数据处理和索引)以及准确捕捉用户查询的真实意图,还涉及到如何充分挖掘 LLMs 的潜力以实现复杂的智能推理。
在与领域专家和开发者进行深入讨论,并细致分析当前的挑战后,微软亚洲研究院的研究员们认识到,数据增强型 LLM 应用并非是一劳永逸的解决方案。由于实际需求复杂多变,尤其是在专业领域,数据与所需推理难度之间的关系可能存在显著差异。所以,在实际应用大模型时,表现不佳往往是因为未能准确把握任务的重点,或者任务本身需要多种能力的融合,要拆分处理后才能更有效地解决。
因此,如图1所示,研究员们提出了一种“RAG 任务分类法”,根据用户对外部数据查询的需求类型,将其分为四个级别,并对这四个级别查询的主要难点以及解决这些难题的技术手段进行了归纳总结。
研究员们认为,只要深入理解各个层面的需求以及与之相伴的独特挑战,就能顺利构建出应用,并通过不断改进来满足最终的任务需求。为此,他们精心编制了一份详尽的调研报告,旨在精确界定不同层次的查询需求,识别每个层次所面临的独特挑战,并详述解决这些挑战的相关工作与努力。该调研报告希望帮助读者构建对数据增强型 LLM 应用的全面认识,成为开发此类应用的实用指南。
将查询分层为四个级别,明确LLMs任务复杂度
在数据增强型 LLM 应用的框架下,研究员们首先根据复杂性和所需数据的交互深度,对查询进行了系统化的分层。这种分层方法有助于更深入地理解 LLMs 在生成准确且相关性强的响应时所经历的不同认知处理阶段。从基础的事实检索到深层次的隐含知识解释,每一层都标志着 LLMs 任务复杂度的逐级提升。
具体的层次划分如下:
• Level-1 显性事实:此类查询涉及直接从数据中提取明确存在的事实,无需进行任何形式的额外推理。这构成了最基础的查询类型,其中模型的主要任务是精确定位并提取相关信息。例如,“2024年夏季奥运会在哪里举行?”
• Level-2 隐性事实:这些查询要求揭示数据中隐含的事实,可能需要一些常识推理或简单的逻辑推断。信息可能分散在不同的数据片段中,或者需要通过简单的推理过程来获取。例如,“目前哪个国家正在举办堪培拉所在国家的执政党会议?”这个问题可以通过结合堪培拉位于澳大利亚的事实和当前执政党的信息来解答。
• Level-3 可解释的推理:在这一层级,查询不仅要求对事实的掌握,还要求模型能够理解并应用与数据背景密切相关的领域特定推理依据。例如,在制药领域,LLMs 需要解读美国食品药品监督管理局(FDA)的指导文件,以评估药品申请是否符合监管要求。在客户支持场景中,LLMs 必须遵循预定义的工作流程来有效响应用户查询。在医学领域,LLMs 可以开发成一个专门管理胸痛的专家系统,遵循权威的诊断手册和标准化指南。这种能力确保了 LLMs 的输出不仅在事实上正确,而且在上下文中也相关,且严格遵守监管和操作规范。
• Level-4 隐式推理:这一级别的查询进入了一个更具挑战性的领域,其中推理依据并未明确记录,而是需要通过分析历史数据中的模式和结果来推断。例如,在IT运营领域,LLMs 需要从云运营团队解决的历史事件中挖掘隐性知识,识别成功的策略和决策过程。在软件开发中,LLMs 必须从以往的调试错误记录中提取出指导性原则。通过整合这些隐含的推理依据,LLMs 提供的回答不仅准确,而且能够反映出经验丰富的专业人士的隐性知识和问题解决技巧。
将查询划分为不同层次,既体现了 LLMs 需要理解的复杂性和多样性,也指明了各个层次的关注点,如图2所示。前两个层级——显性事实和隐性事实,主要聚焦于事实信息的检索,无论是直接呈现的还是需要基本推理得出的。这些层级考验的是 LLMs 从数据中提取和综合信息以形成连贯事实的能力。与此相对,后两个层级——可解释的推理和隐式推理,则将重点转向了 LLMs 学习和应用数据背后逻辑的能力。这些层级要求更高层次的认知介入,LLMs 必须要么与专家的思维方式保持一致,要么从非结构化的历史数据中提炼出洞见。
对于显性事实查询,准确的回答依赖于在庞大的外部数据库中精确定位具体的外部数据信息;而对于隐性事实查询,答案通常需要从多个相互关联的事实中综合得出,因此,全面检索并整合有效信息成为了这一类查询的关键挑战。可解释的推理查询任务是将多样的外部逻辑关系输入大语言模型,并确保其精确遵循这些逻辑指导来生成回应;而对于隐式推理查询,从外部示例或知识库中提炼并识别出解决问题的策略则成为至关重要的任务。
针对不同层级查询的定制化解决方案
数据增强型大语言模型应用的四个层级各具特点,面临的挑战也各有不同,因此,每个层级都需要量身定制解决方案,如图3所示。对于涉及静态常识的查询,采用链式推理的通用型大语言模型能够有效应对。
在处理显性事实查询时,其关键挑战在于如何在数据库中精确地定位事实,因此,基础的 RAG(Retrieval-Augmented Generation,检索增强生成)方法成为了首选策略。对于隐性事实查询,这类查询要求整合多个相关事实,所以采用迭代式的 RAG 方法或基于图结构、树结构的 RAG 实现更为适宜,因为它们能够同时检索独立事实并建立数据点之间的联系。在需要广泛数据互联的情况下,Text-to-SQL 技术则显得尤为重要,它可以通过数据库工具来增强外部数据的搜索能力。
针对可解释推理查询,运用提示调优和链式推理提示技术可以增强 LLMs 对外部指令的遵循度。而最具挑战性的隐藏推理查询,则需要从大量数据中自动提炼出问题解决策略。在这种情况下,离线学习、上下文学习以及模型的微调就成为了解决问题的关键手段。
总体而言,研究员们认为,开发者作为领域专家在着手开发特定的大语言模型应用之前深入洞察预期任务,明确相关查询的复杂性,并选取恰当的技术手段来解决问题十分必要。这些方法主要可以通过以下三种机制向 LLMs 注入知识,如图4所示:
a) 根据查询需求,从领域数据中提取部分内容作为 LLMs 的上下文输入;
b) 训练一个规模较小的模型,该模型在特定领域数据上训练后,用于引导外部信息的整合,并最终输入至 LLMs;
c) 直接利用外部的领域知识对通用大语言模型进行微调,从而将其转化为领域专家模型。
这三种策略在数据量、训练时间和计算资源的需求上各有不同,且需求逐渐增加。通过上下文进行知识注入的方法在解释性和稳定性方面表现更为优异,但受限于上下文窗口的大小和潜在信息丢失,尤其是中间信息的缺失,这一方法也面临一定的局限性。因此,该方法更适用于可以通过简短文本解释的数据场景,对模型的检索和知识提取能力提出了较高要求。小型模型方法的优势在于训练时间短,且能够处理大量数据,但效果依赖于模型的能力,对于复杂任务,LLMs 的性能可能会受到限制,且随着数据量的增加,可能需要额外的训练成本。微调方法能够利用大模型处理大量特定领域数据的能力,但对 LLMs 的影响在很大程度上取决于所使用的数据质量。使用领域外的事实数据进行微调可能会无意中导致 LLMs 产生更多错误输出,甚至可能使其丧失原有的领域知识,并在微调过程中忽视未遇到的任务。
因此,在将数据注入 LLMs 时,选择合适的策略需要对数据源有深刻的理解,并基于此做出明智的选择。并且,在实际应用场景中,数据增强的 LLM 应用通常涉及多种类型的查询,这就要求开发者设计出一个合适的架构,将多种方法融合在一起,以有效地应对这些复杂挑战。
微软亚洲研究院的研究员们提出的 RAG 任务分类学方法已经在实际大语言模型应用中体现出其价值。在近期微软亚洲研究院和上海市精神卫生中心的联合研究中,研究员们开发了个性化认知训练框架“忆我“(ReMe),为帮助认知障碍患者进行认知训练带来更具便捷性、互动性、直观性和个性化的工具。该工具的设计正是结合了 RAG 等技术,使多模态大模型更好地整合了相关领域的专业知识,并优化了智能代理的行为逻辑和性能,展现出了该方法的巨大贡献。
Retrieval Augmented Generation (RAG) and Beyond: A Comprehensive Survey on How to Make your LLMs use External Data More Wisely