再看大模型幻觉排行、检测工具及多模态RAG技术范式总结

今天是2025年4月21日,星期一,北京,雨。

我们今天继续围绕RAG,看看多模态RAG技术总结及实现范式,也有多模态RAG中的embedding和rank模型进展,可以看看。

另外,关于幻觉问题,我们看看最新模型的表现,以及两个幻觉检测的工具,都是很有趣的工作,值得研究下

抓住根本问题,做根因,专题化,体系化,会有更多深度思考。大家一起加油。

一、多模态RAG技术总结及实现范式

多模态RAG我们已经讲过很多了,综合来看,其核心问题有多个,即:如何有效地解析和索引多模态文档,如何实现多模态检索,如何在生成过程中整合多模态数据,以及如何评估和改进MRAG系统的性能

而截止到目前,围绕多模态RAG,已经出现了多个RAG综述,列举截止目前的4个多模态RAG综述。

1、《A Survey of Multimodal Retrieval-Augmented Generation》,https://arxiv.org/pdf/2504.08748,这个最早,核心可以看看起提出了三个版本的多模态RAG,后面会重点介绍。

2、《Retrieval Augmented Generation and Understanding in Vision: A Survey and New Outlook》,https://arxiv.org/pdf/2503.18016

核心看两张图:

一个是五个不同的用于视频检索和理解流程的RAG模型一集对应的方案。

一个是三种不同的多模态RAG(检索增强生成)流程,包括 :(a) 将所有模态统一到单一的综合模态中;(b) 将所有模态嵌入到一个共享的向量空间中;(c) 为每种模态分别维护独立的数据库。

3、《Ask in Any Modality》: A Comprehensive Survey on Multimodal Retrieval-Augmented Generation,https://arxiv.org/pdf/2502.08826,主打一个覆盖面。

可以看上面的图,多模态检索增强生成(RAG)流程概览,显示了每个阶段所采用的进展和技术。

流程从查询预处理开始,用户查询被优化后与多模态数据库一同编码到共享嵌入空间中。

检索策略,如模态中心检索、相似性搜索和重排序,增强文档选择,而融合机制通过分数融合或基于注意力的方法对齐并整合来自多种模态的数据。

增强技术,如带反馈机制的迭代检索,进一步优化了为多模态大模型(LLM)检索到的文档。

生成阶段融链式推理(Chain-of-Thought reasoning)和来源归因,以获得更好的输出结果。损失函数结合了对齐损失和生成损失,以优化检索和生成组件。

此外,应用噪声管理技术,以提高训练的稳定性和鲁棒性。

还有4、《Retrieving Multimodal Information for Augmented Generation: A Survey》,https://arxiv.org/pdf/2303.10868

我们这里来看一个最新的,比较实用的,走的是文档这个领域的,即《A Survey on Multimodal Retrieval-Augmented Generation》,https://arxiv.org/pdf/2504.08748不错,可以看看,重点看两点。

1、基本的多模态RAG的核心组件

一个基本的多模态RAG的核心组件包括多模态文档解析和索引、多模态检索以及多模态生成。

其中:

在多模态文档解析和索引阶段。首先,MRAG系统需要对多模态文档进行解析和索引。这包括提取文本内容(使用OCR或特定格式的解析技术从多模态文档中提取文本内容)、检测文档布局并将其分割成结构化元素(如标题、段落、图像、视频等)。对于图像、视频等非文本数据,使用专门的模型生成描述性caption。然后,将这些片段和caption编码成向量表示并存储在向量数据库中。

在多模态检索阶段,系统将用户查询编码成向量表示,并使用相同的嵌入模型从向量数据库中检索最相关的文档片段和caption。通过合并重复或重叠的信息,创建一个综合的外部知识集,并在生成阶段将其整合到提示中。

多模态生成阶段,MRAG系统将用户的查询和检索到的文档合成一个连贯的提示。然后,使用大型多模态语言模型(MLLM)结合其参数化知识和检索到的外部信息生成响应。

2、多模态RAG的三个版本

基于上述的基本范式,可以将其划分为3个版本。分别是:

MRAG1.0,通常被称为“伪MRAG”,与传统的RAG非常相似,由三个模块组成:文档解析与索引、检索和生成。尽管整个过程基本保持不变,但关键区别在于文档解析阶段。在这一阶段,使用专门的模型将多模态数据转换为特定模态的描述性文本(captions)。这些描述性文本随后与文本数据一起存储,以便在后续阶段中使用。

这种方法引入了显著的信息损失,并且解析和检索过程复杂且计算开销大。

MRAG2.0,通过文档解析和索引保留了多模态数据,同时引入了多模态检索和多模态大模型(MLLMs)用于答案生成,真正意义上进入多模态。

这种方式通过使用多模态大型模型(MLLMs)直接处理多模态数据,减少了信息损失。这一阶段的系统支持多模态输入并保留原始多模态数据。

MRAG3.0,在文档解析和索引阶段整合了文档截图,以最大程度减少信息丢失。

输入阶段,引入一个多模态搜索规划模块,将视觉问答(Visual Question Answering, VQA)和检索增强生成(Retrieval-Augmented Generation, RAG)任务统一起来,同时优化用户查询。在输出阶段,多模态检索增强组合模块通过将纯文本转换为多模态格式。

那么,既然说了多模态RAG,那么核心的核心其实还是embedding,那么,这块除了clip这些,还有啥可用,我觉得可以来看看,例如,最近文档https://mp.weixin.qq.com/s/8o0flybYLQVHLctvbPJY8w中提到的jina-reranker-m0多模态、多语言重排器(reranker),其核心能力在于对包含丰富视觉元素的文档进行重排和精排,同时兼容跨语言场景。

应用场景是:当用户输入一个查询(query)以及一堆包含文本、图表、表格、信息图或复杂布局的文档时,模型会根据文档与查询的相关性,输出一个排序好的文档列表,模型支持超过29种语言及多种图形文档样式,例如自然照片、截图、扫描件、表格、海报、幻灯片、印刷品等等

相较于前代纯文本的重排器jina-reranker-v2-base-multilingual,jina-reranker-m0不仅新增了处理视觉信息的能力,在纯文本重排场景下,针对多语言内容、长文档及代码搜索等任务进行优化

模型设计上,跟jina-reranker-v2-base-multilingual不一样,jina-reranker-m0 不再使用经典的交叉编码器(cross-encoder)架构,而是转向了仅解码器(decoder-only)的视觉语言模型。

复用了Qwen2-VL预训练模型中的视觉编码器(visionencoder)和映射(projector),用LoRA对其中的大语言模型(LLM)部分进行了微调,并且在之后额外训练了一个多层感知机(MLP),专门用于生成表征查询-文档相关性的排序分数(rankinglogits)。

开源链接:https://huggingface.co/jinaai/jina-reranker-m0

jina在RAG方面做了不少踏实的工作,很棒,大家可以多关注。

二、大模型幻觉问题排行榜以及两个检测工具

最近大模型开源或者发布的很密集,幻觉问题也依旧受到关注,所以,我们再来看看hallucination-leaderboard(https://github.com/vectara/hallucination-leaderboard)的最新情况,更新到2025年4月17号的版本。结果如下:

从中可以看到,DeepseekR1(14.3%)已经不在top25了,唯一入的,是Deepseek-V2.5(2.4%),但是,Zhipu AI GLM-4-9B-Chat(1.3%)的幻觉率较低。

但是,针对这种幻觉评估结果,是依赖于评估数据集跟评测方式的,其评测方式主要是针对文章问大模型问题,最后使用模型模型来评估幻觉,评估模型在:https://huggingface.co/vectara/hallucination_evaluation_model

顺着这个说,我们又可以看到一些幻觉监测工具,例如:

我们之前说过的,关于基于AI搜索进行大模型幻觉检测的一个工作,https://demo.exa.ai/hallucination-detector?continueFlag=4eb95165e93ab90578d83aa493b261ee,https://github.com/exa-labs/exa-hallucination-detector,如下:

原理是:

声明提取:当输入内容时,该工具会使用一种大型语言模型(Claude 3.5 Sonnet)将文本拆分为单独的声明->来源验证:每个声明都会通过Exa的搜索工具进行检查,以在线查找可靠的来源,这些来源可以支持或反驳该声明->准确性分析:声明及其对应的来源将由我们的大型语言模型进行分析,以确定其准确性。->结果展示:最后,会以简单明了的方式展示结果,指出任何错误并提供修复建议。

又有LettuceDetect(https://github.com/KRLabsOrg/LettuceDetect,https://krlabs.eu/LettuceDetect/),用于检测RAG的幻觉,通过将答案与提供的上下文进行对比,识别出答案中缺乏支持的部分。

在实现上的流程如下:

具体的,在RAGTruth数据集上进行了训练和评估,并利用ModernBERT(https://github.com/AnswerDotAI/ModernBERT)来处理长上下文,使其非常适合需要广泛上下文窗口的任务。训练数据人如下:

训练好的模型是一个基于标记(token)级别的模型,用于预测一个标记是否是幻觉生成的,模型经过训练,能够根据上下文和问题预测答案中哪些标记是幻觉生成的,架构图如下:

处理的对象是一个包含示例问题、上下文和答案的三元组,首先,文本被分词,之后 LettuceDetect 执行标记级别的分类,来自问题和上下文的标记被屏蔽(图中用红线表示),以将其排除在损失函数之外。答案中的每个标记都会获得一个概率值,表明它是幻觉生成的还是有支持的。对于段级检测,将幻觉概率高于0.5的连续标记合并为一个预测的段

参考文献

1、https://arxiv.org/pdf/2504.11544
2、https://github.com/KRLabsOrg/LettuceDetect
3、https://github.com/exa-labs/exa-hallucination-detector
4、https://mp.weixin.qq.com/s/8o0flybYLQVHLctvbPJY8w

(文:老刘说NLP)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往