阅读原文
多模态检索增强生成是一种新兴的设计范式,允许AI模型与文本、图像、视频等存储进行交互。在介绍多模态 RAG 之前,我们先简单了解一下传统的检索增强生成 (RAG)。
标准 RAG
RAG 的理念是找到与用户查询相关的核心信息,然后将该信息注入Prompt中并将其传递给大语言模型(LLM)从而生成回答。
RAG 系统的检索通常是通过Embedding来实现的。为了对某些内容进行Emebdding,通常使用复杂的 AI 模型将信息转换为纯数字的向量。
检索过程基于一组候选文档和用户query,通过计算它们的向量相似度来完成,与用户query距离最小的文档则被视是为最相关的。 一旦 RAG 系统检索到足够的相关信息,就会使用用户query和相关文档来构建增强的Prompt,然后将其传递给LLM进行生成。
"Answer the customers prompt based on the following context:
==== context: {document title} ====
{the most relevant document content retrievaled by RAG}
...
prompt: {prompt}"
这种通用系统通常假设整个知识库由文本组成,但许多知识来源不止文本,可能还有音频、视频、图像等,这就是多模态 RAG(Multimodal RAG) 的作用所在。
在讨论多模态 RAG 之前,让我们先简单探讨一下多模态的概念。
多模态
在数据科学中,“模态”本质上是一种数据类型。文本、图像、音频、视频、表格,这些都可以被视为不同的“模态”。这些能够理解多种类型数据的模型通常被称为“多模态模型”。
多模态模型的理念通常围绕“联合Embedding”这一理念展开。联合Embedding是一种建模策略,它迫使模型同时学习不同类型的数据。该领域的一篇里程碑式论文是 CLIP,它创建了一个能够执行与图像和文本相关的任务的强大的多模态模型。自 CLIP 以来,已经出现了各种建模策略,以某种方式对齐图像和文本。
多模态RAG
多模态 RAG 的理念是允许 RAG 系统以某种方式将多种模态的信息注入多模态模型。因此,多模态 RAG 系统不仅可以根据用户问题检索文本片段,还可以检索图像、视频和其他不同模态的数据。