引言
在快速发展的人工智能领域,多模态大型语言模型 (MLLMs) ,如 LLaVA 和 MiniGPT-4,代表了一个巨大的飞跃。这些模型不仅能阅读文本,还能“看”懂图像并围绕图像进行对话。然而,尽管它们的能力令人印象深刻,MLLM 仍遭受着一个持续存在且令人沮丧的缺陷困扰: 幻觉 (Hallucination) 。
幻觉发生时,模型会自信地描述根本不存在的物体。想象一下,给 AI 看一张客厅的照片,它却描述桌子上有一个“复古红色电话”,而桌子明明是空的。

如上方的图 1 所示,模型看到一架正在飞行的飞机。生成的文本声称“起落架清晰可见地放下 (landing gear is visibly down) ”。然而,仔细观察图像会发现并没有这回事。虽然这看起来可能只是一个小错误,但在关键应用中——如医学影像或自动导航——这种捏造可能是危险的。
目前解决这一问题的方法通常涉及昂贵的人工标注或计算量巨大的强化学习 (RLHF) 。但是,如果有一种方法可以在无需人工标注且仅需一小部分算力的情况下修复这些幻觉呢?
本文将详细解读一篇引人入胜的论文 “EFUF: Efficient Fine-Grained Unlearning Framework” (EFUF: 高效细粒度遗忘框架) , 该论文提出了一种新颖的方法,可以高效地强制模型“遗忘”其不良习惯。
当前修复方法的局限性
要理解 EFUF 为何重要,我们首先需要了解研究人员目前是如何处理幻觉的。这些方法通常分为两类:
- 基于推理的方法: 这些方法使用外部工具或“自我反思”提示,在模型生成文本后检查其工作。虽然有效,但这会显著降低对话体验的速度并增加推理成本。
- 基于微调的方法: 这些方法涉及重新训练模型以使其更好地与现实对齐。像 RLHF (基于人类反馈的强化学习) 或 DPO (直接偏好优化) 等技术在此类方法中很流行。
棘手之处在于?微调方法非常消耗资源。它们通常需要成对数据——即成千上万个“好”回复与“幻觉”回复的对比样本。创建这样的数据集通常需要昂贵的人工劳动或先进的专有模型 (如 GPT-4) 。此外,运行这些对齐算法需要巨大的计算资源 (高 GPU 时数) 。
核心假设: 我们可以自动化检测吗?
EFUF 背后的研究人员提出了一个关键问题: 我们能否在没有人类帮助的情况下区分真实物体和幻觉物体?
他们的假设是 CLIP 模型——一种经过训练用于理解图像和文本关系的神经网络——可以充当自动裁判。如果一个 MLLM 提到了一个物体 (例如“起落架”) ,我们将该文本与图像使用 CLIP 进行对比,如果物体存在,相似度得分应该很高;如果是幻觉,得分应该很低。
为了验证这一点,他们分析了已知幻觉物体与非幻觉物体的 CLIP 分数分布。

如图 2 所示,两者之间存在明显的区分。橙色曲线 (幻觉) 聚集在较低的相似度得分周围,而蓝色曲线 (非幻觉) 在较高得分处达到峰值。这一统计差距证实,我们可以通过设定特定的阈值,利用 CLIP 分数自动将生成的文本分类为“真实”或“幻觉”。
EFUF 方法论
高效细粒度遗忘框架 (EFUF) 主要分为两个阶段: 数据集构建和遗忘过程 。

图 3 提供了工作流程的高层视图。EFUF 不是在通用数据上重新训练整个模型,而是专门针对导致幻觉的模型生成部分。
第一阶段: 构建数据集 (无需人工)
该框架首先提示 MLLM 描述图像。然后,它从生成的文本中提取特定对象,并计算每个对象的 CLIP 相似度得分。基于初步实验 (图 2) 中发现的阈值,数据被分为三类:
- 正样本子句 (\(D^+\)): 包含图像中真实存在的物体 (高 CLIP 分数) 的文本部分。
- 负样本子句 (\(D^-\)): 包含幻觉物体 (低 CLIP 分数) 的文本部分。
- 完整句子样本 (\(D^s\)): 总体质量较高的完整回复,用于保持模型流畅说话的能力。
研究人员将正样本数据集 (\(D^+\)) 和负样本数据集 (\(D^-\)) 定义为:

在这里,\(S(o_i^j)\) 是特定对象的 CLIP 分数。如果它超过阈值 \(T_0\),它就是正样本。如果它低于 \(T_1\),它就是负样本。该框架分离出包含该对象的特定“子句” (cur) ,而不是丢弃整个回复。这种细粒度是该方法效率的关键。
第二阶段: 细粒度遗忘
现在进入实际的“遗忘”环节。目标是更新模型参数,使其生成负样本数据集中文本的可能性降低,而生成正样本数据集文本的可能性增加 (或至少保持稳定) 。
标准的训练使用梯度下降 (Gradient Descent) 来最小化损失 (误差) 。遗忘则是在不良数据上使用梯度上升 (Gradient Ascent) 来最大化损失——实际上就是告诉模型: “不要这样做。”
研究人员设计了一个包含三个部分的复合损失函数。
1. 负样本损失 (\(L_{neg}\))
这是遗忘组件。我们取幻觉样本的标准微调损失 (\(L_{ft}\)),并将其取反 (添加负号) 。通过在这个反转的损失上执行梯度下降,我们实际上是在对幻觉的可能性执行梯度上升。

2. 正样本损失 (\(L_{pos}\))
我们不希望模型在遗忘假物体时,忘记真实物体的样子。因此,标准的监督微调被应用于正样本子句。

3. 句子损失 (\(L_{sent}\))
遗忘有时会破坏模型的语言能力,导致它生成破碎的语法或不连贯的句子。为了防止这种语言技能的“灾难性遗忘”,框架对高质量的完整句子 (\(D^s\)) 应用标准损失。

总损失
最终的目标函数结合了这三个元素,使用权重 (\(\lambda_1\) 和 \(\lambda_2\)) 来平衡遗忘强度与语言保留。

实验与结果
这套数学运算真的有效吗?研究人员在几种领先的 MLLM 上测试了 EFUF,包括 MiniGPT4、LLaVA、mPLUG-owl 和 ShareGPT4V。
幻觉的减少
成功的主要衡量标准是 CHAIR 分数 (基于图像相关性的标题幻觉评估) ,分数越低越好。他们还使用了 POPE (基于轮询的评估) 和人工评估。

表 2 显示了令人印象深刻的结果。对于每一个测试的模型,添加 EFUF 后幻觉率都显著降低 (CHAIR 指标下降了约 15%) 。至关重要的是, 生成质量 (由 BLEU 分数和信息量衡量) 实际上增加了。这很罕见;通常,调整模型使其更“安全”会使其创造性或信息量降低。EFUF 成功地在减少错误的同时保持了文本的丰富性和准确性。
为什么“细粒度”很重要 (消融实验)
你可能会想: 为什么要将文本切分成子句?为什么不直接遗忘整句坏话呢?
研究人员进行了消融实验,以分离细粒度方法和句子损失的影响。

表 3 揭示了一个关键见解。
- 普通遗忘 (整句) : 略微减少了幻觉,但不是很有效。
- 细粒度遗忘 (无句子损失) : 实现了最低的幻觉率,但严重损害了流畅度 (高困惑度,表示为
ppl.) 。模型变得不再符合语法逻辑。 - EFUF (组合) : 达到了完美的平衡。它大幅减少了幻觉,同时保持了低困惑度 (高流畅度) 。
效率与训练成本
EFUF 最强的卖点之一在于它的名字: 高效 (Efficient) 。 因为它自动化了数据集创建并针对特定的子句,所以与 RLHF 或 DPO 相比,它的速度快得令人难以置信。

如图 4 所示,EFUF (红线) 在 A100 上仅需大约 3 个 GPU 小时即可完成训练。相比之下,RLHF 大约需要 20 小时,而 DPO 需要 8 到 16 小时。这使得 EFUF 对于无法访问大型工业计算集群的研究人员和学生来说非常易于使用。
结论
EFUF 论文代表了多模态大型语言模型向前迈出的引人注目的一步。通过巧妙地利用 CLIP 分数来自动化数据标注并采用细粒度遗忘策略,研究人员创建了一个框架,它:
- 消除了对人工标注的需求 , 解决了数据瓶颈。
- 显著减少了多个最先进模型中的幻觉。
- 保留了语言流畅度 , 避免了遗忘过程中常见的模型退化陷阱。
- 运行效率极高 , 仅需现有对齐方法的一小部分时间和算力。
对于该领域的学生和从业者来说,EFUF 证明了“更多数据”并不总是答案。有时,解决方案在于更智能的数据利用和针对性的数学干预——不仅教模型学习什么,还要具体教它忘记什么。
](https://deep-paper.org/en/paper/2402.09801/images/cover.png)