你有没有遇到过这样的场景:你给AI一段视频加一段音频,问它"视频里有没有鸟"。明明音频里只有人说话和鸟叫两种声音,画面里压根没出现鸟,它却斩钉截铁地告诉你"是的,视频里能看到一只鸟在叫"。
这不是段子,这是真实发生在现在最先进的全模态大模型身上的事。
这类能同时处理文字、图片、声音、视频的AI模型,
全模态大模型(OmniLLM):能够统一理解和生成文本、图像、音频、视频等多种模态内容的大语言模型,比如Qwen2.5-Omni、Qwen3-Omni这些。
正在变得越来越强,但也越来越容易"一本正经地胡说八道"。研究者们把这种现象叫做幻觉,而当幻觉发生在多个模态交织的场景里,情况会变得格外棘手。这篇来自北京邮电大学和南洋理工大学团队的论文,提出了一个叫OmniConfess的方法,试图从根子上解决这个问题。
这事到底难在哪
先说说问题出在哪里。论文里举了三个特别典型的例子。
第一个是音视频场景。给AI一段视频,画面里是两条狗在追逐玩耍,音频里能听到狗叫和鸟叫声。问AI"视频里能看到鸟吗",正确答案应该是没有,因为音频caption明确写的是"person speaking; bird chirping",鸟只是被听到,没有被看到。但模型却回答"是的,一只鸟在视频里叫着",把听觉信息错误地嫁接到了视觉判断上。
第二个是图文场景。图片里一只狗在一个红球旁边休息,文字描述却说狗是在陪伴一个毛绒玩具休息。模型被问到"狗在陪伴什么休息"时,答案本该忠实于图片内容,结果模型却说狗在和它玩耍过的红球待在一起,忽略了图片里真正呈现的内容,被不相关的文字线索带偏了。
第三个是纯文本场景,这个恰恰相反。一段医学文献里明确写着褪黑素并不能减少术后谵妄,当被问到"围手术期褪黑素是否能降低术后谵妄发生率"时,正确答案是"否",模型却给出了相反的判断。这次问题不是依赖了错误的证据,而是没有充分利用手头已有的正确证据。
你看,这三个案例指向了同一个核心矛盾:模型在生成答案的时候,到底依据了哪部分信息,依据得对不对,外部根本看不清楚。
研究者把这个核心矛盾归纳成了两类错误:
过度依赖不相关证据:模型把本不该用来支撑某个判断的信息当成了依据,比如把听到的声音当成看到的画面。
证据利用不足:明明相关证据已经摆在那里,模型却没有把它用够,导致生成的内容和证据脱节。
要解决这个问题,第一步得先搞清楚:模型生成每一个字、每一个词的时候,到底在多大程度上依赖了哪一部分输入信息。这个问题听起来简单,做起来却极其棘手,论文里总结出了三个绕不开的障碍。
第一个障碍是轨迹漂移。如果你改变输入证据后重新生成一遍答案,哪怕只改了一点点,后面生成的每一个字都可能完全不一样,因为自回归模型生成下一个词的时候,依赖的是前面已经生成的所有词。这样一来,你根本分不清楚,答案的变化到底是因为证据真的变了,还是因为生成路径本身就换了一条。
第二个障碍是模态耦合。全模态模型要同时处理文字、图像、声音、视频,这些信息往往是交织在一起起作用的,很难说清楚某一个具体的词到底是被哪个模态"喂"出来的。
第三个障碍是粒度太粗。证据对生成内容的影响并不是均匀分布的,有些词高度依赖某个证据,有些词几乎不受影响,如果只给整段话或者整个模态打一个笼统的分数,根本没法精确定位到底哪里出了问题。
论文团队在正式提出方法之前,先做了一组实验来验证这三个障碍确实存在,而且有清晰的统计规律。
他们发现,幻觉样本中的证据依赖呈现出前置集中的特点,生成序列最开始的三分之一部分就占了将近一半(49.8%)的依赖权重。这说明早期生成的词一旦出问题,会像推倒多米诺骨牌一样影响后面所有内容,印证了轨迹漂移问题的严重性。
他们还测量了不同模态通道之间依赖程度的相关性,发现这种相关性的方向其实很不统一,有的呈正相关,有的呈负相关,平均绝对相关系数大约是0.724,说明各个模态通道的贡献确实是异质的,不能简单混在一起算。
最后,他们统计了依赖程度在各个词上的集中度,发现排名前20%的词汇贡献了整整82%的依赖权重。换句话说,一句话里真正"要命"的词可能就那么几个,剩下的大部分词其实无关痛痒。
这三组数据分别对应三个障碍,也为后面方法的设计提供了依据。
OmniConfess:先定住答案,再逐一审问证据
搞清楚问题之后,研究团队给出的解法有一个挺有意思的名字叫OmniConfess,直译是"全模态招供",意思是让模型的每一个回答都交代清楚自己到底依据了什么。
这个方法分成三步,分别对应前面提到的三个障碍。
第一步叫承诺锚定。
简单说,就是先让模型按正常流程生成一个完整的答案,然后把这个答案死死冻住,不管后面怎么折腾证据,这个答案的每一个字都不再改变。接下来要做的所有实验,都是在"固定答案不变,只改变输入证据"的前提下进行的,重新计算这个固定答案在新证据下出现的概率。
这里要解释一个关键操作,叫教师强制。
教师强制(Teacher Forcing):一种评估方式,强制让模型沿用已经生成好的某个具体词序列,不让它自由发挥,只是在新的条件下重新计算这个序列中每个词出现的概率。
这样一来,不管你怎么增删证据,模型永远是在"复述"同一句话,差异完全来自输入证据的变化,而不会混入生成路径本身跑偏带来的噪音。
这就好比你想测试一道菜的味道到底是哪种调料决定的,正确做法是把菜已经做好、味道已经定型,然后只换掉某一种调料看味道会怎么变,而不是每次都重新炒一遍菜,因为重新炒的话,火候、下锅顺序、翻炒时间都可能悄悄变化,最后你根本说不清是调料的锅还是手法的锅。如果不锚定答案,每次改变证据都重新生成一遍,那前面提到的轨迹漂移问题会彻底污染你的分析,你永远分不清到底是证据的问题还是生成路径自己跑偏了。
第二步叫证据审问。
既然答案已经锁死,接下来就是对每个输入模态轮流"动手术":依次把某一个模态通道从输入里拿掉,重新计算被冻结的答案在残缺输入下出现的概率,看看概率掉了多少。如果去掉视频后答案的生成概率大幅下降,说明这个答案高度依赖视频信息;如果去掉之后几乎没变化,说明这部分证据原本就没起到什么作用。
这个过程对答案里的每一个词、每一个模态通道都单独计算,最终形成一张细密的表格,记录着每个词在每个通道上的依赖程度,论文里管这个表格叫问题乘词乘通道混淆矩阵的confession,中文可以理解成口供表。
口供表(Confession):一张记录答案中每个词对每个证据通道依赖程度的结构化表格,标注每个词究竟是合理依赖证据、证据利用不足、过度依赖还是被某个证据完全主导。
每个词在每个通道上的状态会被标记成四种之一:对齐(依赖程度合理)、利用不足、过度依赖、或者被完全主导。这就相当于给答案做了一次全身CT扫描,哪里有问题一目了然。
第三步叫基于口供的纠正。
有了这张口供表,接下来要做的事情根据任务类型分成两条路。
如果是判断题(比如回答是或否),系统会根据口供表计算出一个修正量,这个修正量综合了"模型对自己判断的原始偏好"以及"不相关证据到底贡献了多少支撑力"。如果不相关证据的贡献过大,修正后的得分就会被拉低,甚至可能导致最终答案从"是"翻转成"否"。
如果是自由生成的文本(比如描述一段话),系统会把口供表里的三类信号综合起来,算出每个词的修订风险分数,风险超过某个阈值的词会被标记出来,并且自动扩展到完整的词边界,合并成一段段需要重新生成的区间,然后只对这些问题区间重新生成替换内容,区间之外的文字原封不动保留。
这个设计背后藏着一个很朴素的道理:既然你已经知道问题出在哪几个具体的词上,就没必要把整段话推倒重来。这就像医生做手术,已经通过CT精确定位到了病灶的位置和大小,自然没必要把整个器官都切除重建,只需要精准切除病变部分,其余健康组织原样保留。如果不做这种精细定位,直接把整段答案推倒重新生成,很可能会把原本正确、已经扎根于真实证据的内容也一并丢掉,还可能在重新生成的过程中引入新的错误。论文里专门用数学证明了这一点:经过这套修正流程后,没被选中的文字片段会被逐字保留,顺序也不变。
实验结果:全面碾压现有方法
光讲原理不够,得看数据说话。
研究团队专门搭建了一个叫OmniHalluBench的评测基准,从六个公开数据集里精选出3540道高难度题目,覆盖文本、图像、音频、视频四种模态,既包括判断题也包括自由生成题。这里面有几个数据集名字值得记一下:CMM专测音视频跨模态幻觉,PhD专测图文幻觉,PubMedQA是纯文本的医学问答,AVHBench是音视频描述任务,HaloQuest是刁钻的视觉问答,RAGTruth则是检索增强生成场景下的幻觉语料。
值得一提的是,这些题目不是随便选的,研究者用GPT-4o和Gemini两个模型分别作答,再让另外的模型加人工评审来打分,专门挑出那些最容易让AI翻车的高难度题目,保证评测基准本身是货真价实的硬骨头。
在Qwen2.5-Omni-7B这个主力模型上,OmniConfess在全部六个数据集、全部评测指标上都超过了所有对比方法。具体数字相当亮眼:
| 数据集 | 任务类型 | 基础模型F1 | 最强对比方法F1 | OmniConfess F1 |
|---|---|---|---|---|
| PHD(图文) | 判断 | 71.68 | 79.40 | **89.60** |
| CMM(音视频) | 判断 | 70.07 | 72.80 | **82.15** |
| PubMedQA(文本) | 判断 | 95.14 | 95.24 | **97.26** |
| RAGTruth(文本) | 自由生成 | 38.25 | 38.74 | **55.58** |
| HaloQuest(图文) | 自由生成 | 34.22 | 42.09 | **43.14** |
| AVHBench(音视频) | 自由生成 | 19.42 | 21.11 | **22.87** |
在PHD和CMM这两个数据集上,F1分数分别比此前最强的对比方法高出10.20分和9.35分,这说明按通道逐一审问证据这个思路,确实能有效压制模型对不相关模态的过度依赖。在RAGTruth上,Token-F1更是提升了16.84分,说明口供机制在纠正证据利用不足这类问题上同样有效。
研究团队还做了一个很直观的对比,拿三类现有的推理时方法(搜索式方法、证据对比方法、细粒度方法)跟OmniConfess做了横向比较。搜索式方法比如思维树、自洽性采样,会去探索多条生成路径再挑一条最好的,问题是这种探索在多模态场景下有时候反而会帮倒忙,性能不稳定。证据对比式方法通过扰动证据观察输出变化来引导解码,但论文发现这类方法效果跟基础模型差不太多,推测是因为对模态做扰动的时候,连同有用的证据一起被抑制掉了。细粒度方法试图用注意力模式之类的内部信号定位风险词,但光知道哪里"有风险"不够,还得知道这个风险到底该加强证据依赖还是削弱证据依赖,这正是现有细粒度方法没能解决的盲点,也恰好是OmniConfess补上的那一块。
消融实验也证明了三个模块都不可或缺。把三个步骤逐一拿掉做对比,完整版本平均F1是71.63,去掉锚定降到67.06,去掉证据审问降到63.96,去掉最后的纠正环节降到58.66,纠正环节的缺失影响最大,说明光知道问题出在哪儿还不够,真正把它改过来才是价值所在。
研究团队还专门对比了不锚定、用共享前缀锚定、以及OmniConfess自己的锚定方式这三种做法。不锚定的情况下平均F1只有56.73,定位幻觉的AUPRC(可以理解成"找得准不准"的指标)只有47.28;换成共享前缀的锚定方式,两个指标分别提升到59.00和58.20;而OmniConfess的锚定方式则达到65.10和66.38。这组对比直接证明了,承诺锚定这一步绝不是可有可无的点缀,而是实实在在决定了后续分析精度的地基。
跨架构的稳健性也经受住了考验。团队把方法搬到了另外两个架构完全不同的模型上做验证,一个是混合专家架构的Qwen3-Omni-30B,一个是混合架构的Nemotron-3-Nano-Omni-30B。
混合专家架构(MoE):一种模型设计,内部包含多个专门的子网络,处理不同输入时会动态激活不同的子网络组合,而不是用同一套参数处理所有输入。
结果显示OmniConfess在三种架构上分别把平均F1提升了10.30、6.34、7.50分,而大部分对比方法要么表现飘忽不定(在某个架构上涨、换个架构就跌),要么三个架构上全线下跌。论文里还给了一个很说明问题的案例:有个叫OPERA的方法在小模型上表现不错,换到30B的大模型上反而因为推理链条变长、把判断范围收窄导致覆盖不了真实的视觉证据,结果判断错误。模型越大不代表幻觉控制越好,这件事本身就值得琢磨。
当然天下没有免费的午餐,效率这块OmniConfess确实要付出代价。因为要对每个模态通道逐一做证据审问,哪怕判断题输出很短,在音视频场景下耗时也会明显增加,比如在CMM数据集上要花35秒,是基础模型的近两倍。不过好消息是,相比搜索式方法动辄生成几百个token反复试错,OmniConfess靠着锚定机制把生成成本死死摁住了,在音视频描述任务AVHBench上,生成的token数量只有搜索式方法的三分之一不到,推理时间也省下了不少。
从生成质量来看,OmniConfess不只是在冷冰冰的指标上领先。研究者专门请GPT-4o和人类专家从七个维度给生成内容打分,包括证据支撑度、事实正确性、相关性、完整性、逻辑连贯性、不确定性校准和表达清晰度。OmniConfess的总体得分达到88.7,证据支撑度、事实正确性、不确定性校准分别超过此前最强方法5.4、6.9和18.3分。尤其是不确定性校准这一项提升得特别明显,说明模型变得更懂得什么时候该说"我不确定",而不是在证据不足的情况下硬着头皮瞎编。这一点恰恰呼应了文章开头那几个翻车案例的本质:很多幻觉不是能力不够,而是不知道什么时候该收手。
这个方法也不是万能的
论文也很诚实地指出了几个局限。
有个案例挺有意思:模型看一张猫坐在行李箱上的图片,正确观察到猫眼睛睁得很大、耳朵竖起,这些观察本身都没问题,但最终判断却说猫看起来不开心,而真实答案是开心。问题不在于证据依赖出了错,模型确实老老实实依据了图片内容,但它对"警觉"和"开心"这两种状态的主观解读本身就错了。OmniConfess能告诉你答案依据了哪些证据,却没法保证模型对证据的理解方式是对的。这暴露了一个更深的问题:证据依赖是否正确,和证据解读是否正确,是两件不同的事情,前者可以被审问和修正,后者目前还没有很好的办法介入。
另一个案例是关于音视频描述的,模型把参考答案里的"man"(男人)描述成了"person"(人),意思完全没变,但基于token重合度的评测指标会因为这种同义替换而扣分。这其实是单一参考答案评测方式本身的局限,跟OmniConfess这个方法的好坏没有直接关系,但也提醒我们,自动化评测指标永远只是对真实质量的一种近似,不是终点。
写在后面
读完这篇论文,有个细节让我反复琢磨。研究者在做前期统计分析的时候发现,排名前20%的词贡献了82%的依赖权重,这个数字乍一看好像只是个技术细节,但往深了想,它其实在说一件更根本的事:幻觉从来不是均匀分布在整句话里的病,而是像癌症一样局部长出来的。这意味着"全面重写"式的纠错思路从一开始就用错了力气,真正值得投入的是定位那几个要命的词,而不是把整段话推倒重来。这种"少数词决定整体质量"的现象,其实在很多系统里都能看到影子,一篇论文的核心论点可能就藏在三五句话里,一段代码的bug往往就出在某一行,一次谈判的成败可能就取决于某一句措辞。局部精确定位,可能比全局推倒重来更值得信赖。
还有一点值得多说一句,论文反复强调这个方法是训练无关的,不需要额外的训练数据,不需要微调模型参数,纯粹是在推理阶段做文章。这种思路放在当下这个大家拼命堆算力、堆数据去训练更大模型的氛围里,显得有点反潮流。它提醒我们,有时候问题不出在模型学得不够多,而出在模型"说话"的时候没有一个机制逼它交代清楚自己依据了什么。给已经训练好的模型装一个"测谎仪",有时候比重新培养一个更诚实的模型来得更现实。
那个一开始被问"视频里有没有鸟"却信口说"有"的模型,如果每次开口前都被逼着交代一句"我这么说是因为看到了什么、听到了什么",它还敢这么自信吗。
Q&A
Q1:OmniConfess是什么?
A:OmniConfess是一种训练无关的推理时方法,专门用来减少全模态大模型(同时处理文字、图像、音频、视频的AI)产生的幻觉。它先固定住模型生成的答案,再逐一移除不同模态的证据,观察答案依赖程度的变化,生成一张详细的"口供表",据此修正判断结果或重写有问题的文字片段。
Q2:OmniConfess和其他去幻觉方法相比优势在哪?
A:在OmniHalluBench基准测试的六个数据集上,OmniConfess全面超越了搜索式、证据对比式、细粒度三类现有方法,比如在PHD数据集上F1比最强对比方法高出10.20分,在RAGTruth上Token-F1提升16.84分,而且在三种不同架构的模型上都保持稳定提升,不会出现有的方法换个模型就失效的问题。
Q3:OmniConfess存在什么局限性?
A:它能准确判断答案依赖了哪些证据,但无法保证模型对证据的解读方式本身是正确的,比如模型可能正确看到猫眼睛睁大、耳朵竖起,却错误地把这解读成不开心而非警觉。另外审问多个模态证据会带来额外的推理耗时,在音视频场景下耗时会明显增加。







