“多模态RAG是一项非常复杂的系统,需要分布解决,文档解析,嵌入多模态融合,上下文构建等。”
RAG技术虽然还存在很多问题,但基本上已经可以应用于真实的业务场景,并且用来解决部分实际问题;但随着业务场景越来越复杂,多模态RAG也被提上了日程,因为有些场景下单纯的文本解决不了问题。
如各种领域内的设计图,产品图,架构图,单纯靠文字描述很难解决问题;所以才有了多模态RAG,当然多模态RAG并不是一个新概念,而且已经被提出了一段时间;如果单纯从理论上来讲,多模态RAG很简单,只是在之前的RAG上加上了多模态数据,但在真实的工程开发中,多模态却面临着各种各样的问题。
所以,今天我们就来简单记录一下多模态系统是怎么实现的,然后存在哪些问题。
多模态RAG实现流程
多模态RAG既然是在基础RAG之上增加了多模态数据,那么它依然遵循RAG的完整流程,文档解析-->入库-->检索召回-->生成。
而由于多模态数据的特殊性,它和传统的纯文本处理还存在很大的差别;首先,在第一步文档解析,需要把文档中不同模态的数据提取出来,如文本,图片等,然后分别存储,并构建关联关系。
{"file_id": "文件id","page_no": "页码","text": "文本描述","img": ["图片地址", "图片地址"]}
关于文档解析,可以使用多种技术,如使用一些文档处理库,自己手动解析文档中的文本,图片,页码等信息;其次,也可以使用VLM模型进行解析,或者使用OCR技术(解析文本,表格类文档),亦或者是第三方文档解析服务。
总之,文档解析的第一步就是提取文档中不同模态的数据,并保留结构和元数据信息。
入库与检索
多模态文档入库的目的和传统RAG一样,都是为了进行向量相似度计算;但多模态文档入库有两种方式:
1. 内容提取,转换为文本说明,然后通过文本语义相似度进行检索
2. 多模态嵌入模型,使用模态融合的方式,直接把不同模态的数据转换成同一向量空间进行检索,包括文字,图片,视频,音频等模态数据,经典模型如CLIP。
当然,在以后可能还会存在其它方法解决多模态检索的问题,如不同模态的数据分块进行检索,即文本数据用来检索文本内容,图片数据用来检索图片内容,最后把不同模态数据的检索结果进行合并;或者其它新的算法出现。
总之,你用什么样的方法存,就要用对应的方法取;多模态数据涉及到多种算法,包括但不仅限于跨模态对齐,多模态表示,多模态融合等,最终目的只有一个,那就是怎么更好的处理不同模态的数据。
生成
在RAG中检索的目的是为了增强生成,因此生成才是最后一步,也是最重要的一步,否则前面检索做的再好,也没有任何意义。
而在生成过程中,最重要的就是构建上下文,合理的上下文有利于模型理解和生成。
在文本RAG中,上下文构建只需要按照提示词模板,把用户问题,历史记录,参考文档等拼接到一块即可;但在多模态中,因为涉及到多种模态的数据,因此其上下文构建要复杂得多,因为目前多模态模型的接口,都是把文本和图片分开处理的,所以这个对应关系怎么搞。
而且,在多模态RAG中,前面的检索和上下文构建好之后,还需要模型的理解和生成能力,这个就需要靠模型自己了;比如说,互联网的产品设计图,和房地产的产品设计图,以及铁路,交通等设计图结构,侧重点都不一样;针对这些特定的行业,可能需要对模型进行适当的训练和优化,否则很难达到想要的效果。
总结
多模态RAG实操要远比理论复杂的多,我们没有办法一次性解决所有问题,只能按照RAG的整体框架,一步一步的解决问题和优化问题,而在多模态RAG中,作者认为最核心的三个步骤就是,文档解析,嵌入和生成;对应的就是智能文档处理,多模态融合嵌入,上下文构建。
其中,对模型来说它需要的是一个结构化的,文本,图片,视频,音频等内容组成的一个多模态上下文;而嵌入是解决怎么存储和检索多模态数据,包括内容总结,多模态融合等技术,解决的构建上下文的数据从哪来,怎么来的问题;而文档解析的目的,是对文档进行拆分,然后方便存储和检索。
本人创建了一个大模型应用学习交流的社群,入群需要缴费19.9,仅此一次不会后续收费,目的是为了防止有人乱发广告,并保持社群的活性;一周内可以免费退群,但乱发广告不退费,并直接踢出。
并且,对RAG或Agent应用遇到问题的企业人员,也可以和作者咨询讨论,作者提供相关的企业服务,详情可以添加作者进一步了解。
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份《LLM项目+学习笔记+电子书籍+学习视频》已经整理好,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方二维码免费领取【保证100%免费】👇👇
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓