文档解析与向量化技术加速 RAG 应用落地

在不久前举办的 AICon 全球人工智能开发与应用大会上,合合信息智能创新事业部研发总监,复旦博士常扬从 RAG 应用落地时常见问题与需求(文档解析、检索精度)出发,分享了针对性的高精度、高泛化性、多版面多元素识别支持的文档解析技术方案与整合长文档解析引擎、层级切片技术的向量化 Embedding 模型技术方案,以及开放域多模态信息抽取应用与知识库问答应用等实际场景的产品实践案例。本文为常扬的演讲整理。

在将于 2024 年 10 月 18-19 日举办的 Q Con 全球软件开发大会(上海站),Zilliz Senior Product Manager 张粲宇也从自身的 RAG 场景出发,分享了 RAG 的挑战,以及通过采用混合检索技术和其他技巧,最终把准确率提升到 90% 以上的经验。欲了解更多内容,可访问大会官网获悉_https://qcon.infoq.cn/2024/shanghai/schedule_。

近年来,大模型的崛起为人工智能领域带来了革命性的变化。然而,在实际应用中,我们发现仅依靠大模型自身的知识和上下文并不能完全满足用户的需求。检索增强生成(Retrieval-Augmented Generation, RAG )应运而生,旨在通过引入外部知识库,解决领域知识缺乏和信息过时的问题。但其本身在产品化落地的过程中面临检索召回率低、生成质量差的问题。

我会从第一性原理出发,分析其核心突破点:文档解析技术向量化技术,看这两个技术如何发展,加速 RAG 应用落地 的。

RAG 的背景与问题

在传统的大模型应用中,模型的知识来源主要是预训练数据和用户提供的上下文。然而,面对专业领域的复杂问题,模型往往难以给出准确、及时的回答。RAG 的核心目标是将外部的领域知识与大模型结合,使其能够生成更准确、更专业的回答。

LLM(大型语言模型)应用知识的数据来源包括“用户上下文输入和用户意图”、“大模型知识”和“外部文档”。RAG 位于三个知识源的交集处,结合了外部文档、用户输入的上下文、模型的知识进行生成。RCG(Retrieval-Centric Generation)专注于将知识检索与 LLM 的生成分开,把检索知识作为核心来源,而微调(Fine-Tuned LLM)则通过使用外部数据微调模型,提升模型在特定领域的理解能力。

RAG 的核心流程可以简化为以下三个步骤:

  1. 知识库构建(Indexing):对外部文档进行解析、清洗、向量化,构建高质量的索引。

  2. 检索(Retrieval):根据用户的查询,在向量空间中检索最相关的内容。

  3. 生成(Generation):大模型基于检索结果生成最终的回答。

在这个流程中,知识库构建和检索是关键的技术环节,直接影响最终生成的质量。

尽管 RAG 有着广阔的应用前景,但在实际落地过程中,我们发现了许多问题。一篇研究论文总结了 RAG 应用中常见的 12 个问题,包括:

  • 内容缺失:检索结果未能覆盖用户的问题。

  • 不完整回答:生成的内容缺乏细节或关键信息。

  • 性能不足:检索和生成过程耗时过长,无法满足实时性要求。

  • 不可扩展性:面对海量数据时,系统的性能显著下降。

等等这些问题的存在,使得很多 RAG 产品难以从原型(MVP)走向真正满足市场需求的产品(PMF)。

在 AI 产品的开发中,最小可行产品(MVP) 的构建相对容易,但要实现产品市场契合(PMF),真正满足用户需求,却充满挑战。

  1. 理解大模型的技术边界:既不要过度高估大模型的能力,也不要忽视其潜力。明确其适用范围和限制。

  2. 深入理解业务场景:识别大模型和 RAG 技术最适合的应用领域,确保技术与业务需求的契合。

  3. 优先使用最好的模型:在验证方案可行性时,尽可能使用性能最优的模型。如果最佳模型仍无法满足需求,可能需要重新评估方案。

  4. 构建产品壁垒:考虑产品的独特价值和竞争优势,而不仅仅是技术实现。确保产品在市场上具有可持续的竞争力。

从第一性原理出发,要解决上述问题,我们需要回归本质,关注 RAG 流程中的关键环节:

  1. 高质量的知识库构建:确保文档解析的准确性,将领域知识准确地转化为文本和向量表示。

  2. 精确的检索机制:利用先进的嵌入模型,提高在向量空间中检索相关内容的准确性。

文档解析技术

在大模型 RAG 应用中,文档解析是一个关键环节。如何将复杂的 PDF 文档准确、高效地转换为大模型能够理解的格式,直接影响到模型的性能和应用效果。下面将深入探讨通用文档解析的挑战与解决方案,重点介绍从 PDF 到 Markdown 的转换过程,以及如何通过物理和逻辑版面分析,实现对各种复杂文档的高质量解析。

从计算机的角度来看,文档主要分为两类:

  1. 有标记的文档:如 Word、Markdown、HTML、JSON 等。这些文档具有明确的结构,计算机可以直接解析和理解。

  2. 无标记的文档:如图像、 PDF 等。这些文档缺乏结构信息,计算机无法直接理解其内容。

PDF 是一种常见的文档格式,其本质是一系列显示打印指令的集合,而非结构化的数据格式。例如,一个简单的“ Hello World ” PDF 文件,用文本编辑器打开后会发现大量的排版指令。这使得计算机在解析 PDF 时,难以直接获取其中的结构化信息。

解析 PDF 的挑战有:

  • 结构缺失:PDF 以视觉呈现为主,缺乏逻辑结构,难以直接提取段落、标题、表格等元素。

  • 复杂排版:多栏布局、跨页内容、嵌入图像和公式等,增加了解析难度。

  • 元素遮挡:印章、手写批注等覆盖在文本上,干扰内容识别。

为了让大模型有效地理解 PDF 中的内容,需要将其转换为一种模型熟悉的格式。Markdown 成为了最佳选择,原因如下:

  • 结构清晰:支持多层标题、粗体、斜体、列表、表格、数学公式等,能够完整地表达 PDF 中的信息。

  • 专注内容:Markdown 关注内容本身,而非排版,符合大模型的训练特点。

  • 模型友好:大模型在训练过程中,接触了大量的 Markdown 语料,对其有良好的理解能力。

Markdown 的优势:

  • 简洁优雅:语法简单,易于编写和阅读。

  • 广泛应用:在技术文档、博客等领域被广泛使用,具备良好的生态环境。

  • 易于转换:可以方便地转换为 HTML、 PDF 等格式,满足多种需求。

复杂文档布局的解析难点有很多,比如:

  • 法律条文:包含多级标题和列表,需要准确识别层次关系。

  • 扫描书籍:可能存在噪声、阴影,OCR 识别难度大。

  • 学术论文:包含复杂的公式、表格和引用格式。

  • 产品说明书:双行表头、多栏布局,对解析精度要求高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

有以下的典型挑战:

  • 多栏布局双列、三列布局,跨页内容,如何保持正确的阅读顺序?

  • 复杂表格合并单元格、嵌套表格,需要精确解析结构。

  • 公式和图像数学公式、图像与文字混排,要求高精度的识别和定位。

  • 元素遮挡和噪声印章、手写批注、扫描噪声,干扰内容的提取。

现有解析方法具备一定的局限性。基于规则的解析库,典型代表 PDF Miner、Py PDF 、Mu PDF 等。优点对电子版 PDF 的解析效果较好,速度快。缺点是无法处理扫描件和图像型 PDF 以及对复杂布局支持不足,难以准确还原阅读顺序。

基于深度学习的解析库,典型代表 Unstructured、Layout-Parser、PP-StructureV2 等。优点是能处理扫描件,具备一定的版面分析能力。缺点是效率较低,处理大型文档耗时长以及对复杂布局的支持有限,精度有待提高。

基于大模型的解析库,典型代表 GPT- PDF 。优点是具备多模态理解能力,直接处理图像和文本。缺点是计算资源消耗大,实时性差以及受限于大模型的输入长度,对长文档支持不足。

针对上述挑战,我们提出 TextIn 文档解析技术:

  1. 解析更稳:无论何种排版和格式,都能正确提取文档元素,并还原正确的阅读顺序。

  2. 识别更准:高精度地识别文本、表格、公式、图像等内容。

  3. 性能更优:满足实时性需求,支持大规模文档的快速解析,适用于 RAG (检索增强生成)应用场景。

具备以下功能特性:

  • 全面支持兼容电子版和扫描版 PDF 。

  • 预处理优化文档图像预处理,提高 OCR 精度,减少噪声干扰。

  • 深度分析物理版面分析和逻辑版面分析相结合,准确还原文档结构。

  • 元素识别全面识别段落、标题、表格、公式、页眉页脚等内容。

我们的解析流程主要分为三个阶段:

1. 文档预处理

拆分文档将多页文档拆分为单页,便于并行处理。

类型识别区分电子版和扫描版,选择适当的处理策略。

2. 版面分析

物理版面分析基于视觉特征,划分页面区域,如段落、列、图像、表格等。

逻辑版面分析基于语义特征,构建文档的目录树,确定元素的层次关系和阅读顺序。

3. 内容重建

元素识别对文本、表格、公式、图像等进行精确识别。

格式转换根据需求生成 Markdown 或 JSON 格式,方便大模型理解或产品呈现。

物理版面分析逻辑如下:方法选择采用单阶段检测模型,兼顾精度和效率,避免复杂的多阶段流水线。数据处理注重数据的多样性和分布,增强模型的泛化能力。层级结构按照页(Page)→ 区块(Section)→ 列(Column)→ 段落(Paragraph)→ 文本片段(Text Slice)进行解析。阅读顺序还原策略从上到下、从左到右,结合页面布局和元素位置,准确还原阅读顺序。

逻辑版面分析逻辑如下:模型架构采用 Transformer,利用自注意力机制,捕获元素间的全局关系。父子关系确定标题与其子内容的从属关系,旁系关系识别同级元素之间的顺序关系,目录树构建通过关系预测结果,生成文档的逻辑结构树,方便内容的组织和导航。

面对多种复杂的文档解析需求,如何客观评估不同解析方法的效果,是一个重要问题。传统的文字和表格评估方法,无法全面衡量复杂布局和结构的解析质量。我们开源了 Markdown Tester,指标定义针对段落、标题、表格、公式、阅读顺序等核心元素,定义了识别率、召回率、F1 值等评价指标。结构评估引入树状编辑距离,评估目录树、表格结构与原文档的相似程度。可视化展示通过雷达图等方式,直观展示各解析方法在不同指标上的表现。

在实际应用中,解析效率至关重要。特别是在 RAG 场景下,需要对大量文档进行实时解析,要求解析过程既快又准。我们进行了以下优化策略,算法模块优化针对耗时模块,如版面分析和元素识别,优化算法,提高执行效率。并行处理采用分布式集群结构,对文档解析流程进行并行化处理,充分利用计算资源。资源调度智能调度计算任务,平衡负载,减少等待时间。

我们目前实现处理速度实现了对 100 页文档的解析,P90(90% 请求的响应时间)小于 1.5 秒。稳定性在大规模文档解析任务中,保持了高稳定性和低失败率。扩展性系统设计支持水平扩展,能够应对更大的数据量和更高的并发需求。

向量化技术

在现代自然语言处理任务中,向量化(Vectorization)技术扮演着关键角色,特别是在检索增强生成( RAG )模型中。下面将探讨向量化的原理、模型选择以及多尺度训练方法,揭示其在实际应用中的重要性和优化策略。

向量化的核心思想是将大量的文本数据转换为具有方向和数值的向量列表。这种表示方式使计算机能够利用矩阵运算的高效性,快速计算文本之间的语义相似度。在 RAG 模型中,向量化主要用于信息检索,即通过计算用户问题和文档块的向量相似度,找到最相关的文本内容。

在选择嵌入(Embedding)模型时,许多人可能会在网上查找评价效果较好的模型,或者自行进行评测。然而,在评估之前,建议先查看像 Hugging Face 上 MTEB 和 C-MTEB 评测基准排名,这些指标涵盖了文本分类、聚类、成对分类、重排序、检索等任务,能够大致了解每个模型在不同任务上的表现。

在选择合适的嵌入模型时,需要考虑以下六个关键因素:

1. 特定领域适应性:嵌入模型的训练依赖于大量语料,不同领域的语料量和质量会影响模型在该领域的表现。例如,在工业领域,如果训练语料较少,模型的性能可能不理想。因此,即使某个模型在排行榜上名列前茅,也应在自己的领域数据上进行测试。

2. 检索精度:对于以检索为核心的任务,模型的检索精度至关重要。需要评估模型在实际检索场景下的准确率和召回率。

3. 语言支持:根据业务需求,选择支持所需语言的模型,确保在多语言环境下的有效性。

4. 文本块长度**(Chunk Size)**:文本块的长度应根据任务需求进行调整。如果处理的是信息密度较低的长文本,如小说,可能需要更长的文本块。而对于信息密度高、需要精确检索的内容,较短的文本块可能更合适。

5. 模型大小与推理成本:模型的大小直接影响推理的资源消耗和成本。在资源有限的情况下,需要在模型性能和资源消耗之间取得平衡。

6. 检索效率:在需要处理海量数据的场景下,检索效率变得尤为重要。模型的计算复杂度和向量维度都会影响检索速度。

我们的模型采用了对比学习的方法,这与业界领先的实践保持一致。其中一个较为特殊的点是引入了多尺度训练(Multi-Resolution Learning,MRL)。在训练过程中,我们采用不同的尺度,如 1024、512、256、128 等长度的 Token,计算整体的损失函数。这样做的目的是:

  • 保证信息质量集中在前序序列:通过多尺度训练,模型能够在较短的序列中捕获高质量的信息,确保在截断或限制序列长度时,重要信息不会丢失。

  • 提高检索效率:在资源受限或需要高效检索的情况下,可以使用较短的向量表示,而不会显著降低精度。

  • 减少维度,保持精度:通过多尺度训练,模型在降低向量维度的同时,尽可能保持了语义表示的准确性。

综上所述,向量化技术在 RAG 模型中具有不可替代的作用。通过慎重选择嵌入模型,结合多尺度训练等优化方法,我们能够在提高检索精度的同时,优化资源使用,实现高效、准确的文本信息检索。

总 结

我们的目标始终是打造真正可用、好用的产品,实现从 MVP(最小可行产品)到 PMF(产品市场契合)的飞跃。只有当产品真正满足用户需求,具备市场推广价值,才能称之为成功的产品。

在 RAG (检索增强生成)应用中,我们发现了两个突出的核心问题:文档解析和向量化。为了解决这两个问题,我们专注于以下研究方向:

1. 通用文档解析

我们致力于实现快速、精准、稳定的文档解析,支持各种类型的文档,包括扫描件和多种版式。通过提高解析的稳定性,确保阅读顺序的正确,还原文档的真实结构。同时,提升解析的精度和效率,使解析过程更准确、更高效。

2. 高性能的嵌入模型(Embedding)

在向量化过程中,我们注重模型的精度和效率。选择最适合业务需求的嵌入模型,能够更高效地进行信息检索,提高检索的精确度和速度。这不仅包括模型本身的优化,还涉及对领域数据的深入理解和应用。

我们相信,专注于问题的本质,才能取得最大的收益。如果您对我们的技术和产品感兴趣,欢迎访问我们的官网 textin.com。在网站上,您可以了解更多关于通用文档解析、嵌入模型技术,以及我们的财报分析、分析师问答等产品信息。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值