
前言前一阵多步RAG的风吹入了工业界kimi推出了探索版本各应用都推出了深度搜索You.COM更是早就有了Genius的多步模式。其实都是类似multi-hop RAG的实现。之前学术界在讨论multi-hop RAG的时候总是给一些基于历史知识类的问题什么某年诺贝尔奖的获奖人在哪读的大学呀给人一种错觉就是这类问题现实世界里真的有人这么提问么其实还真有这里举几个单步RAG效果可能不好的case在碰到的很多场景里多步RAG其实主要针对模糊指代的问题包括偏动态信息的主体指代例如事件产品政策现象华为最新型号的手机市场怎么看需要先获取华为最新的手机型号最新出台的房地产政策专家解读需要先获取最新的房地产政策请根据当前的市场成交情况分析当前市场情绪需要获取当前市场成交数据偏静态知识的主体指代例如分类话题主题相关主体近三年全国各大电影节的获奖名单需要先获取有哪些电影节再逐个获取每个电影节的获奖名单光伏上下游产业链近期有哪些利好政策需要先获取光伏上下游产业链节点抽象指代需要先验知识专家经验对前置问题的回答请依据美林时钟判断从2013年到2023年间都经历哪些经济周期阶段需要先获获取美林时钟的定义探讨我国粮食价格的形成机制从市场供求关系、政策调控等多个因素分析价格变动的原因需要先搜索粮食价格形成机制多条件指代因为条件过于复杂需要多步缩小筛选范围哪些国家在内部制造业不景气的时候通过设立贸易壁垒来解决失业率过高的问题哪些中央银行曾经因为长时间通货膨胀居高不下在经济不景气的时候还不得不提高提率水平时间指代贵州茅台最新季报的资产负债情况需要先获取当前时间定位季报近一周异动板块有哪些需要获取当前时间并定位时间窗口前面说单步RAG可能解决不好因为以上的场景当你幸运的召回了正确的数据时包括但不限于query改写拆解引入相关信息检索部分解决了时效性问题模型自身压缩知识的辅助等等其实是有可能解决的当然需要碰运气哈哈哈~~例如华为手机刚发布大热那你不需要获取华为最新的手机号直接使用搜索引擎搜索“华为最新型号的手机市场怎么看”,这时搜索引擎已经帮你处理了热点的时效性问题大概率你就能获得正确的答案。再比如光伏上下游产业链近期有哪些利好政策可能把query拆解为光伏上游产业链利好政策光伏中游产业链利好政策光伏下游产业链利好政策你不需要知道上中下游具体是啥也是能检索到部分有效信息的。但是我们需要的是可以稳定解决复杂多条件模糊指代问题的方案所以下面我们会给出多步RAG的几个核心步骤和对比再讨论几篇论文大致的实现方案论文细节大家感兴趣可以自己去看。更多RAG query改写召回粗排精排的多个步骤我们在前面的章节已经说过这里就不提了~方案对比懒得看具体方案的小伙伴直接看对比吧这里总结对比下多步RAG的几个核心模块和几种实现方案模块方案1方案2方案3对比规划模块/COT每次只基于上一步的检索规划下一步的局部规划方案全局预规划先全局预规划再进行修订局部规划方案容易歪楼有时会缺少整体视角全局规划是否需要修订其实部分取决于拆分步骤的方式如果拆分过程不和query耦合其实多数场景不用修订也是可以的子Query生成和规划等同规划本身就是子Q和规划一起全局生成依赖前面的的检索结果生成全部or上一步方案2和3结合的方式更常见依赖检索结果的Query提供更加specific的检索视角而只依赖主Q拆分的子Q提供更加general的检索视角推理每一步独立推理拼接最后润色获得所有检索结果后一体生成每一步基于上一步的推理和新获得的检索内容向后续写连贯性最好幻觉较低但对模型长文本有更高要求的肯定是一体化生成方案类似KimiYou.COM的生成结果更类似于多步推理再拼接润色而对于一些超长文本生成续写的方案使用更多在尝试过You.COM的Genius模式Kimi的探索模式智谱的深度搜索后发现除了以上的核心模块多步RAG还有以下几个可以进一步提升效果的方向Reflection: 复杂问题往往很难一步到位通过对推理结果进行反思发现遗漏的方向然后新增一步检索推理进行补充或者对原始推理修订针对多跳问题设计更适配的Query生成方案复杂query往往涉及多条件或者多主体因此在Query拆解上需要有更多的视角。几种Query生成视角包括相似改写最常见的单步RAG主要使用角度拆解问题独立的多个视角多步RAG的问题拆解是串行的这里是并行的单步RAG主要使用例如抽象、系统思维类似step-back prompt通过对问题抽象获取领域概念或先验知识多步RAG的第一步query拆解常用例如简化假设通过放宽问题假设来补充信息召回多步RAG中多条件的复杂问题常用例如实体遍历: 通过对第一步检索得到的实体进行遍历生成第二步检索的query通过明确主体获得更丰富的主体信息多步RAG的第二步常见例如历史视角分析影响类问题事件解读类问题多引入历史视角来补充观点几种实现局部 生成IRCOTInterleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questionshttps://github.com/StonyBrookNLP/ircot这里IRCOT的实现最为简单我们那这篇论文作为基准论文。IRCOT的整个流程是Retrieve用户Query进来直接去检索COT检索内容作为上文使用以下prompt进行COT推理只保留COT推理的第一个段落Retrieve使用上一步推理的句子直接作为Query取进行搜索COT使用当前检索到的全部上文之前COT推理完成的段落再继续进行推理并保留第一个句子。不断重复RetrieveCOT直到模型给出The answer is或者超过最大迭代步骤IRCOT的几个特点包括没有全局的规划每一步都是先检索再向前推理一步没有Query生成Query直接来自上一步推理的COT没有额外生成直接推理生成COT是直接基于检索和前面的推理结果进行继续生成每一步都独立推理: 不会修改前面的生成结果以下是基于检索内容生成COT推理的prompt格式Wikipedia Title: Page Title Paragraph Text ... Wikipedia Title: Page Title Paragraph Text Q: Question A: CoT-Sent-1 ... CoT-Sent-n全局 生成Search in the chainSearch-in-the-Chain: Towards Accurate, Credible and Traceable Large Language Models for Knowledge-intensive Taskshttps://github.com/xsc1234/Search-in-the-Chain对比前面的IRCOTSearch in the chain会预先生成全局规划并且规划的步骤中增加了子问题的拆解生成。每一步检索后都根据检索重新生成新的全局规划。以下是Search in the Chain的实现步骤SearchChain针对问题生成全局的SearchChain包括问题拆解的多个子query并且每个子问题会让模型判断能否直接回答能直接给出[Answer]不能: 给出[Unsolved Query]Retrieve把以上的全局SearchChain按结构拆分成多个步骤第一步的query先去进行检索Revise or Generate根据第一个节点的检索结果如果当初模型判断这个节点子问题无法回答(Unsolved Query)则根据检索进行生成如果当初模型判断可以回答但答案和检索不一致则根据检索进行修订两种逻辑的prompt不同会根据searhChain选择不同的prompt拼接到模型的上文Revise SearchChain: 然后新的上文让模型重新生成新的SearchChain再接着遍历下一个节点进行步骤2~3直到结束SearchChain的几个特点包括全局预规划Query预生成Query就是全局规划中拆分的子问题允许基于前一步的检索结果调整全局规划但其实之所以需要调整就是因为query和规划是一起做的所以当中间推理答案错误的时候下一步的query生成也会存在问题所以需要重新生成以下是Search in the chain构建search chain的prompt全局 修订RATRetrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Horizon Generationhttps://github.com/CraftJarvis/RAT对比Search ChainRAT也是生成全局规划但是把query生成的步骤放到了检索之后同时把基于检索重新生成的方案替换成了基于检索对初始回答进行修正。RAT的整体流程是COT用户query进来先让模型进行COT推理然后把COT按\n\n分成多个段落stepToQuery针对第1个段落的推理生成检索QueryRetrieve基于检索query发起检索Revise: 使用检索结果对第1个段落进行修订TOQuery针对第1个修订段落第2个原始段落生成检索QueryRetrieve基于检索query发起检索Revise: 使用检索结果对前面的所有段落进行修订遍历各个段落重复ToQueryRetrieveRevise的步骤直到结束RAT的几个特点包括全局预规划串行Query生成并使用全部历史信息每一步Query生成都是用前面生成的全部信息。更不容易丢失核心主体信息但同时可能会让Query过于宽泛不够具体。修订而非生成使用检索结果修改原始推理而非直接生成能更多保留模型压缩的知识效果但是存在内容检索不全修订后的答案还是有错误存在的可能。每一步都修订前面的所有内容成本更高但可能会有更好的连贯性但也有可能因为多次修订而引入幻觉以下分别为第一步COT回答的Promptquery生成的prompt和基于检索内容的COT进行最后的最后感谢你们的阅读和喜欢作为一位在一线互联网行业奋斗多年的老兵我深知在这个瞬息万变的技术领域中持续学习和进步的重要性。为了帮助更多热爱技术、渴望成长的朋友我特别整理了一份涵盖大模型领域的宝贵资料集。这些资料不仅是我多年积累的心血结晶也是我在行业一线实战经验的总结。这些学习资料不仅深入浅出而且非常实用让大家系统而高效地掌握AI大模型的各个知识点。如果你愿意花时间沉下心来学习相信它们一定能为你提供实质性的帮助。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】大模型知识脑图为了成为更好的 AI大模型 开发者这里为大家提供了总的路线图。它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。经典书籍阅读阅读AI大模型经典书籍可以帮助读者提高技术水平开拓视野掌握核心技术提高解决问题的能力同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说阅读经典书籍是非常有必要的。实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。面试资料我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】