PIKE-RAG框架的设计目标是提供一个灵活且可扩展的RAG系统,应对工业应用中复杂多样的任务需求。框架的核心是通过有效的知识提取、理解和组织,以及构建连贯的推理逻辑,解决了RAG系统在工业应用中的局限性。下面来看下微软开源的PIKE-RAG框架及其实现过程,供参考。
PIKE-RAG框架
PIKE-RAG框架主要由几个基本模块组成,包括文档解析、知识抽取、知识存储、知识检索、知识组织、以知识为中心的推理以及任务分解与协调。
PIKE-RAG框架
从上图可以看到,相比传统的RAG框架,PIKE-RAG框架的核心是构建一个多层次的异质图作为知识库,涵盖信息资源层、语料库层和蒸馏知识层。每一层代表不同的信息抽象和粒度级别,支持在不同尺度上探索和检索相关知识。
实现过程
1 Level-0: 知识库构建
1.1 文件解析
文件解析模块负责处理各种类型的文件,这包括处理扫描文档、图像和复杂的表格等。为了保留多模态元素(如图表),框架采用布局分析技术,并使用视觉语言模型来描述图表内容,以确保信息的完整性。
文档解析流程
1.2 知识组织
知识库被构建为一个多层次的异质图,包括信息资源层、语料库层和蒸馏知识层。每个层次代表不同的信息粒度和抽象级别。
多层次的异质图
-
信息资源层:捕获多样化的信息源,建立跨源的引用关系。
-
语料库层:将解析的信息组织成段落和块,保留文档的原始层次结构,并集成多模态内容。
-
蒸馏知识层:将语料库进一步提炼为结构化的知识形式(如知识图、原子知识和表格知识),以支持高级推理。
2 Level-1: 事实性问题回答
可以在知识提取过程中使用上下文感知切分技术、自动术语标签对齐技术和多粒度知识提取方法来提高知识提取和检索的准确率,从而增强事实信息检索能力,如下面的流程所示:
方块表示知识提取模块中增强的分块和自动标注子模块
-
增强的分块:分块是将大文本分割成小块的过程,以提高检索效率和准确性。PIKE-RAG采用一种文本分割算法,迭代地将文本分割成小块,同时保持上下文的连贯性。
-
自动标注:自动标注模块用于最小化源文档和查询之间的域差距。通过提取和映射领域特定的标签,提高检索的召回率和精确率。
-
多粒度检索:在多层次的异质图上进行多粒度检索,允许系统在不同层次上探索和检索相关信息。通过计算查询和图节点之间的相似性得分,并进行传播和聚合,优化检索过程。
3 Level-2: 可链接推理问题回答
基于上一层L1,增加一个任务分解与协调模块,将复杂任务拆分为更小、可管理的子任务
深绿色(■)表示知识提取模块中的原子知识生成,而深橙色(■)代表知识起源模块中的知识重排和聚合子模块。此外,浅蓝色(■)表示以知识为中心推理模块中的多跳推理、比较推理、总结子模块。
-
知识原子化:知识原子化是将文档中的知识分割成小的原子单元,以便更精细地检索和使用。通过生成相关的问题作为知识索引,增强知识与查询之间的匹配度。
-
知识感知的任务分解:任务分解模块将复杂任务分解为更小的子任务,以提高系统的处理效率。通过生成和评估原子问题提案,动态调整检索和推理过程。
-
知识感知任务分解器的训练:通过收集和训练数据,使任务分解器能够更好地理解和处理领域特定的知识。通过强化学习等方法,优化任务分解和结果寻找过程。
4 Level-3: 预测性问题回答
Level-3专注于处理预测性问题,强调基于知识的预测能力。
深红色(■)表示知识组织模块中的知识构建和知识归纳,而深蓝色(■)代表以知识为中心的推理模块中的预测子模块。
-
知识结构和归纳:在知识组织模块中,通过结构化和归纳知识,支持高级分析和预测任务。通过分类和时间序列分析,优化知识的使用。
-
预测子模块:在知识中心推理模块中,引入预测子模块,以支持基于知识的预测。通过历史数据和逻辑推理,生成未来的预测。
5 Level-4: 创造性问题回答
L4系统实现的特点是整合多智能体系统,支持多视角思考。通过并行处理和集成不同的推理路径,生成综合和连贯的解决方案。这种思维依赖于事实信息和对基本原理及规则的理解。
实验
如何学习大模型 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 的正确特征了。