- RAG的发展伴随着LLM的革新而进步的。
- 从发展的时间线上来看,可以分为基于提示的方法、基于微调的方法和基于强化学习的方法。
- 自2025年以来, reasoning模型展示了其强大的推理能力,将检索能力与推理能力相结合,应该是下一代RAG的发展方向。
Reasoning与RAG协同的目的
-
通过推理增强检索的准确性和灵活性;
-
- 推理通过动态查询扩展、歧义消除和多跳证据聚合实现自适应检索,克服了基于关键词或嵌入方法的局限性
-
通过使用丰富的上下文检索知识来加强复杂的推理
-
- 检索依据最新的、特定领域的或模型权重中缺少的罕见信息进行推理,这对于可解释性、多步骤推理和整合不同来源至关重要。
Reasoning与RAG协同的方式
主要分为两种:
-
预定义工作流,它使用具有预设协调规则的逻辑架构;
-
- 每个阶段都有严格的输入输出规则,并且不会根据中间结果进行动态更改。
- 这种模块化设计确保了对复杂任务的可控性和结构化推理。
- 所有步骤都将执行,而不管中间结果如何,从而保证了可重复性和稳定性,同时避免了动态决策带来的不确定性。
- 虽然牺牲了适应性,但这种方法提供了程序的可预测性,非常适合需要清晰推理路径的场景。
-
动态工作流,依赖于通过实时决策引擎进行的上下文感知的自适应协调。
-
- 主动性驱动推理
- 反思性驱动推理
- 反馈性驱动推理
-
- LLM在推理过程中积极评估上下文需求,通过混合反馈协调机制自主确定调用外部工具或资源的最佳时机。
- 通过消除固定的迭代单元和预定的工具调用序列,实现执行路径的动态演变,通过基于中间推理结果实时调整计算工作流,在复杂认知任务中展现出优越的适应性。
- 动态工作流可分为:
- 这些方法通过不同的机制来实现对复杂任务的适应性和灵活性。
Reasoning与RAG协同的几种方案
协同方案,分为推理过程和推理优化两部分。
推理过程的方案
-
基于LLM/CoT的推理方法
-
- 通过将链式推理(CoT)与LLMs相结合,为RAG系统提供了明确的多步推理指导,并能够动态地整合外部知识。
- 例如,ActiveRAG通过“自我查询→知识同化→思维适应”的链式推理过程,将外部文档与LLMs的内存合并,从而创建结构化的知识。
- PlanRAG则通过明确使用CoT来生成可执行的多步计划,并通过闭环的“计划-执行-反馈”循环动态调整操作。
-
特殊标记预测
-
- 通过在LLMs的词汇表中嵌入领域特定或动作特定的标记(例如 “[Web-search]”、“[Retrieve=Yes]”、“<begin_of_query>”),模型可以在文本生成过程中自主触发工具或进行自我反思,从而将静态推理链转变为条件工作流。
- 例如,Self-RAG和SmartRAG使用专门的标记(如“Retrieve”、“ISREL”、“[RETRIEVE]”)来管理检索激活、相关性检查和输出验证,将任务划分为检索启动、文档评估和知识落地阶段。
-
基于搜索的推理
-
- 通过采用结构化的搜索策略来实现动态信息探索和多步推理,结合外部知识。
- 当前的方法主要遵循树搜索、蒙特卡洛树搜索(MCTS)和强化学习优化策略网络三种范式。
- 例如,StePORec采用多步树结构推理方法,在每个节点迭代检索不同的服装搭配知识和用户偏好,最终实现生成性推荐。
- OmniThink通过信息树扩展主题分析,通过生成子查询来指导广度优先或深度优先检索。
-
基于图的推理
-
- 基于查询流的搜索图(例如FinSearch)
- 基于知识关联的扩展图(例如ToG-2.0)
-
- 通过明确建模知识交互路径的拓扑结构,为RAG系统中的多跳推理提供了一种新方法。
- 当前的方法分为两类:
- FinSearch构建了一个有向无环图(DAG),其中节点是原子子查询(例如股票价格、财务报告),边捕获逻辑和时间依赖关系。预规划器将查询分解为子查询序列,使用图遍历来控制信息流,并在出现冲突时动态调整路径。
-
外部求解器
-
- 通过整合外部求解器,将RAG与推理的结合实现为一种优化问题。
- 例如,ARM将用户查询分解为与数据集中的N-gram匹配的关键词,通过信息对齐模块生成初始检索候选集。
- 然后,在结构对齐阶段,混合整数规划(MIP)求解器基于预定义的目标函数对候选对象进行全局过滤,该目标函数最大化检索对象与查询的相关性以及它们之间的相互兼容性。
优化推理的方案
-
基于提示(Prompt-Based)的方法
-
- 通过自然语言模板和特殊标记(如、)来引导模型行为
- 利用提示设计将复杂的推理任务分解为可管理的步骤,并指导LLMs在生成过程中遵循特定的逻辑结构。
- 例如,Co-STORM和WriteHere等方法通过角色分配、阶段划分和特定操作指令来引导多步推理,提高了推理过程的可解释性,并通过要求引用检索结果、强制特定输出格式以及基于检索知识的反思和校准等策略来提高结果的可靠性。
-
基于微调(Tuning-Based)的方法
-
- 通过注入领域特定知识或蒸馏推理能力来优化模型参数,使模型能够更好地适应检索增强的推理链。
- 例如,CoRAG和DeepRAG通过全参数微调和多任务学习构建端到端的多步推理框架,提高了模型分解复杂问题和动态调整检索策略的能力。
- MCTS-KBQA和Self-RAG则通过监督微调来优化模型对特殊标记的生成,从而提高模型在知识图谱协议下的指令生成能力和自我监督生成控制能力。
-
基于强化学习(RL-Based)的方法
-
- 通过结果奖励模型(ORM)或过程奖励模型(PRM)优化检索-推理策略,使模型能够根据结果反馈动态调整推理路径。
- 例如,RAG-Gym、ReARTeR、SmartRAG等方法通过不同的强化学习算法和奖励机制,优化模型在检索、推理和验证等操作中的决策过程,提高了模型在复杂任务中的推理能力和效率。
推理的风险预知
可以从三个方面来考查:
(1)时间动态,强调数据和推理环境的快速变化;
(2)领域特异性,侧重于行业知识和结构化数据的深度整合;
(3)推理链复杂性,反映了对多阶段推理和查询细粒度分解的要求。
- 从RAG到RAG+reasoning的进步增加了多步骤推理能力,通过复杂的推理实现复杂任务处理、自主决策和更具上下文感知的响应。
- 这是以增加延迟、符元消耗、处理需求以及系统集成和维护的复杂性为代价的。
- 推理层的自主性也带来了不透明性、不可预测性以及更高的安全性和可靠性风险。
在实际落地应用过程中,需要慎重考虑。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。