深度解析创新RAG:PIKE-RAG与DeepRAG,RAG技术的创新变革
|文末点击阅读原文查看网页版|
更多专栏文章点击查看:
LLM 架构专栏
大模型架构专栏文章阅读指南
Agent系列
强化学习系列
欢迎加入大模型交流群:加群链接 https://docs.qq.com/doc/DS3VGS0NFVHNRR0Ru#
公众号【柏企阅文】
个人网站:https://www.chenbaiqi.com
PIKE-RAG:从DIY家具到室内设计
开源代码:https://github.com/microsoft/PIKE-RAG
传统的RAG(检索增强生成,Retrieval-Augmented Generation)就好比购买一套DIY家具套件,你虽然能拿到所有的零件和组装说明,但必须亲自动手把它们组装起来。
而PIKE-RAG则截然不同,它如同聘请了一位专业的室内设计师。这位“设计师”会先深入了解你的风格偏好和实际需求,为你精心挑选最合适的元素,再将它们完美地组合搭配,让空间既美观又实用。
如图1所示,PIKE-RAG包含多个关键组件:文件解析、知识提取、知识存储、知识检索、知识组织、任务分解与协调,以及以知识为核心的推理。每个组件都可根据系统不断变化的需求进行定制。
深度洞察
PIKE-RAG是一项经过深入研究、内容详实的成果,并且它是开源的。
下面这些要点引起了我的浓厚兴趣。
首先是文件解析(AI探索之旅:PDF解析与文档智能)。由于文档中常常包含复杂的表格、图表和图形,因此第一步需要运用布局分析(揭秘PDF解析02:基于管道的方法)来保留这些多模态元素。之后,借助视觉语言模型(VLMs)对图表和图形进行处理,生成有助于知识检索的描述。
这种处理方式有两大显著优势。其一,提取的布局信息有助于文本分块,能确保分割后的文本在上下文语境中保持完整。其二,相较于端到端方法(揭秘PDF解析03:无OCR的基于小型模型的方法,揭秘PDF解析04:无OCR的基于大型多模态模型的方法),这种分而治之的策略在利用基于管道方法(揭秘PDF解析02:基于管道的方法)优势的同时,还能实现更高程度的定制化。
其次是将知识库构建为多层异构图,如图2所示,它主要由以下几层构成:
- 信息资源层:在这一层中,各种不同的信息源被视作节点,节点之间的连接展示了它们相互引用的关系。
- 语料库层:该层会将解析后的信息整理成不同的部分和片段,同时保留文档原有的层次结构。像表格和图形这类多模态内容,会由大语言模型(LLMs)进行汇总,并整合为片段节点。这一层能够支持不同粒度级别的知识提取。
- 蒸馏知识层:此过程运用命名实体识别和关系提取等技术,获取关键实体及其逻辑连接。通过清晰地捕捉这些关系,为高级推理过程提供支持。
在这种架构下,节点可以代表各类元素,如文档、章节、文本片段、图表、表格以及精炼后的知识,而边则定义了它们之间的关系。
最后一点,PIKE-RAG将问题划分为四种类型:
- 事实性问题:直接从现有知识中提取清晰、客观的事实信息。
- 可链接推理问题:需要跨越多个知识片段进行推理和关联,从而得出正确答案。
- 预测性问题:识别数据中的模式,并依据现有数据进行推断,以预测未来的结果。
- 创造性问题:将知识与逻辑相结合,产生全新的见解或创新性的解决方案。
为了衡量系统处理这些不同类型问题的能力,PIKE-RAG定义了四个级别(L1、L2、L3和L4),为逐步提升RAG的功能绘制了清晰的路线图。
如图3所示,不同级别的RAG采用不同的处理方式。
快速交付、智能路由:DeepRAG让大语言模型化身知识快递员
形象解读
DeepRAG就像一位经验丰富的快递员,他不会盲目地一股脑儿去派送所有订单。相反,他会根据送货地址规划出最佳路线(任务分解)。如果他对路线了如指掌(大语言模型的内部知识),就会直接前往目的地。但要是遇到不熟悉的街道(知识缺失),他会查看地图(外部检索),找到最优路径。
全面概览
传统的RAG在任务分解效率和检索冗余方面存在难题。
如图4右侧所示,DeepRAG的检索机制确保了整个检索过程具有良好的结构性和自适应性。它会基于之前检索到的信息生成子查询,同时原子决策会动态判断每个子查询是获取外部知识,还是仅依靠参数化知识。
DeepRAG是通过训练大语言模型来强化基于检索的推理能力构建而成的。如图5所示,DeepRAG的训练过程主要遵循三个关键步骤:(1)二叉树搜索,(2)模仿学习,(3)校准链。
给定一个数据集,训练过程首先通过二叉树搜索生成用于模仿学习的数据,帮助模型学习检索模式。接着,再次利用二叉树搜索创建偏好数据,进一步优化大语言模型对自身知识边界的理解。
深度解读
下面是这项研究中两个非常有价值的要点,我觉得很值得分享。
第一个要点是自适应RAG方法的分类,主要可以分为三类:
- 基于分类器的方法:依赖于训练一个额外的分类器来做出检索决策。一个典型的例子是自适应RAG,我们之前介绍过(高级RAG 11:查询分类与优化)。它训练了一个查询复杂性分类器,这是一个相对较小的语言模型。
- 基于置信度的方法:依靠与阈值相关的不确定性指标。FLARE就是这类方法的一个重要示例。
- 基于大语言模型的方法:由大语言模型生成检索决策,但这类方法往往难以准确识别自身的知识边界,所以让模型自行决定何时检索并不可靠。Self-RAG就是一个广为人知的例子,我们之前也介绍过(高级RAG 08:Self-RAG)。
值得一提的是,我们之前介绍过的SEAKR(释放AI的自我意识:SEAKR如何革新大语言模型中的知识检索),它利用大语言模型的内部状态来判断何时需要外部知识支持(即进行外部信息检索)。SEAKR采用了更为精细的处理方式,使其成为一种独特的自适应RAG方法,而不仅仅是基于大语言模型的方法。
第二个要点是RAG中推理能力的增强。以下是一些具有代表性的方法:
- Self-RAG(高级RAG 08:Self-RAG)和Auto-RAG通过自动数据合成来提升RAG框架中的推理能力。
- Search-o1将检索融入推理过程,构建了一个智能代理系统,不过它的应用范围目前仅限于像OpenAI o1这类推理大语言模型。
- AirRAG结合了蒙特卡洛树搜索(MCTS)和自洽性技术,进一步强化了基于检索的推理能力。
与上述这些严重依赖大量检索操作或特定推理大语言模型的方法不同,DeepRAG提供了一种端到端的解决方案,使任何模型都能根据实际需求,逐步执行基于检索的推理操作。
## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。