一段只有公鸡叫声的养蜂视频里,多模态模型会说画面里有公鸡;反过来一段喷洒液体的画面配着人声,模型可能一口否认"刚才确实有人在说话"。这不是看错了,而是融合层里另一条模态的先验抢了主导权——你问视觉,它答耳朵。
幻觉的病根不在输出层,在融合层
近两年治多模态幻觉的主流做法都停在输出层:对比解码在感知输入被破坏时惩罚那些仍然"很可能"的 token,OPERA 加过度自信惩罚并在事后重分配注意力,被对比的 MAD、HulluEdit 也在这一层。南京大学与中国科学院大学团队的新论文指出这忽略了关键:早期融合把接地证据和学到的先验纠缠在同一个表征里,只在输出端动刀等于把混在一起的信号再搅一次。
论文把可诊断的失败归为 cross-modal hallucination:一个模态的证据被另一个模态、或被语言先验压过去。CMM 基准把这类失败描述成语言、视觉、音频三种主导以及虚假的跨模态相关;AVHBench 测音频驱动的视觉幻觉、视觉驱动的音频幻觉和音视频匹配。
三步走:查冲突、拆证据、压先验
方法叫 Omni-Woodpecker,简称 OWP,全程不改一个权重。
第一步查冲突。同一个冻结模型跑四个视图:完整输入、只有音频、只有视频、只有文字。文字视图是共享参照,用来把模态证据和语言驱动的答案分开。完整视图和目标模态视图答案一致就说明没有冲突,直接返回原答案;不一致即定位出"问题问的是哪个模态、抢答的是哪个模态"。
第二步拆证据。对隐藏状态做正交分解,把接地证据和竞争先验分到两个方向上。第三步压先验、扶证据:解码前把纠正预算分配到 token-head 路径重加权和残差状态修复两条路上,算出新状态写回同一层。消融显示残差状态是主要纠正位置,证据最好在中层恢复、先验最好在深层压制。
目标模态判定值得单说:OWP 附加一个诊断问句问"这题需要音频、视频还是两者",取三个 next-token logit 的 softmax 组分,论文报告它在 99.48% 的样本上与基准定义的目标模态一致。
数字:CMM +12.9 分,跨架构也成立
以 Qwen2.5-Omni-7B 为骨干,CMM 准确率 73.2→86.1,AVHBench 75.1→83.7。摘要报的是 +12.9 和 +8.6 分,论文报告在两个基准上分别比 MAD 基线高 4.9 和 7.7 分。更值得看的是幻觉抵抗率 HR 从 57.0 涨到 85.5,感知准确率 PA 停在 86.7——backbone 原本 PA 和 HR 之间差 32.5 分,OWP 压到 1.2 分,MAD 还留着 16.9 分。
换到融合设计完全不同的 VideoLLaMA2-AV 上,CMM 76.2→80.8,AVHBench 70.2→74.1,HR 65.3→77.7。论文还报 OWP 在 Qwen2.5-Omni-7B 上比更新的 Qwen3-Omni 高 4.3 和 6.2 分。
通用音视频推理没被牺牲:OmniBench 45.36→47.29,WorldSense 45.21→47.46,MUSIC-AVQA 85.08→86.08,AVQA 91.83→92.50。统计口径是 4,604 个各方法都能给出有效预测的样本,双侧 McNemar 检验加 5,000 次行级 bootstrap 重采样,论文报告共同子集上的领先幅度 p<10^-16。
代价写在明面上:1.71 倍延迟、24.9 GiB 显存、只能动开源权重
论文自己测了推理成本,RTX A6000 上跑三次取平均。OWP 在 Qwen2.5-Omni-7B 上每次输入 6.05 秒,是 backbone 3.54 秒的 1.71 倍,最多 5 次前向调用;MAD 是 9.96 秒、2.81 倍、9 次调用;HulluEdit 13.02 秒、3.68 倍。两个骨干的峰值显存分别是 24.9 GiB 和 17.3 GiB。它比两个基线便宜,是因为冲突触发的调度——只有 25.8% 的输入被判有冲突并改了答案,16.9% 改了最终答案,其余 74.2% 走未修改的 backbone。
代价还有两条硬的。第一,OWP 改隐藏状态和注意力输出,需要模型内部权限,论文明说只适用于开放权重模型,API-only 的模型用不了。第二,它恢复的是 backbone 已编码但融合时没用上的证据;目标模态本身就被感知错时,没有可靠证据可恢复。论文也承认只处理跨模态幻觉这一类,时间顺序、声纹、情绪归属都还没覆盖。
所以呢
这篇论文的价值不在又一个幻觉抑制方法,而在把问题定位换了个位置:幻觉不是模型嘴上说错了什么,是模型脑子里哪个信号盖住了哪个信号。而"不改权重"这个约束反过来也划出了天花板——你必须在模型内部动手,也必须接受多出来的 1.7 倍延迟和 24.9 GiB 显存。
代码以 MIT 协议释出,仓库是 github.com/ZiiJianLiu/Omni-Woodpecker,论文在 arXiv 的 2610.27103,10 月 19 日提交,10 月 26 日的 Hugging Face 每日论文榜排到当日第三。想试的人注意 README 要求:BF16 下至少 24 GB 显存的 GPU,权重默认缓存在 ~/.cache/omni-woodpecker。
如果 omni 模型的下一个战场是"少说错话"而不是"多说对话",把干预点从输出层挪进融合层,可能比再训一轮后训练更划算。