EFUF:面向多模态大语言模型的高效细粒度遗忘框架
论文:EFUF: Efficient Fine-Grained Unlearning Framework for Mitigating Hallucinations in Multimodal Large Language Models
作者:Shangyu Xing, Fei Zhao, Zhen Wu*, Tuo An, Weihao Chen, Chunhui Li, Jianbing Zhang, Xinyu Dai
机构:Nanjing University(National Key Laboratory for Novel Software Technology)
发布时间:2024年2月(arXiv),2024年6月(v2)
论文链接:arXiv
发表会议:EMNLP 2024
分类标签:
MLLMUnlearningCLIPFine-GrainedHallucinationGradient Ascent
一句话总结
利用 CLIP 分数自动区分幻觉/非幻觉对象并构建细粒度数据集,通过梯度上升遗忘幻觉子句 + 梯度下降保留正确子句 + 句子损失维持生成质量,无需配对数据、仅 3 GPU 小时训练,即可在 4 个 MLLM 上一致降低 ~15% CHAIR
一、问题与动机
1.1 现有微调方法的两大瓶颈
已有微调方法(RLHF、DPO、对比学习等)在缓解 MLLM 幻觉上取得了不错的效果,但存在两个核心问题:
- 数据需求昂贵:需要人工标注配对的幻觉/非幻觉响应对。构建 10K 级别的偏好数据集通常耗费 $3,000+ 的人工标注成本,或使用 GPT-4 辅助筛选 500K 级样本(约 2 亿 token,成本 ~$2,000)
- 计算资源庞大:RLHF 需要同时运行策略模型和奖励模型,DPO 需要同时运行策略模型和参考模型,训练开销在 8-20 A100 GPU 小时
1.2 遗忘(Unlearning)的新视角
遗忘算法的核心是梯度上升——对需要"遗忘"的内容执行梯度上升来降低其生成概率。传统遗忘方法应用于整个响应,但本文提出细粒度遗忘:仅对含幻觉对象的子句执行梯度上升,保留正确内容不受影响。
关键挑战在于:如何无需人工标注地区分幻觉与非幻觉对象?
1.3 CLIP 相似度作为幻觉指示器
论文通过预备实验验证了假设:文本-图像相似度可以可靠地指示幻觉。
对 MiniGPT4 和 LLaVA 各 200 条生成的图像描述进行人工标注,计算每个对象与对应图像区域的细粒度 CLIP 相似度:
其中
| 模型 | 是否幻觉 | 均值 | 标准差 | p 值 |
|---|---|---|---|---|
| MiniGPT4 | 否 | 28.26 | 2.74 | |
| MiniGPT4 | 是 | 25.35 | 2.70 | |
| LLaVA | 否 | 28.64 | 2.65 | |
| LLaVA | 是 | 26.11 | 2.27 |
关键发现:
- 两个模型上幻觉与非幻觉对象的 CLIP 分数分布差异极为显著(
) - CLIP 分数 >32 的对象中仅 0.6%/1.6% 是幻觉,<23 的对象中仅 2.3%/1.7% 是非幻觉
- 可以用阈值有效分离正负样本
二、预备知识
2.1 遗忘算法基础
标准微调通过梯度下降更新参数:
遗忘则反转方向,执行梯度上升:
其中 MLLM 的监督微调损失为:
2.2 直接遗忘的问题
先前研究表明,仅使用遗忘损失(纯梯度上升)会严重破坏模型的语言理解能力,导致无法生成连贯句子。因此需要配合正向训练信号来维持模型能力。
三、核心方法
EFUF 分为两个阶段:数据集构建和遗忘训练。
3.1 数据集构建
对象提取与评分
- 用 MLLM 对 MSCOCO 图像生成描述
- 用 LLaMA-2-70B 从描述中提取所有对象
- 用 CLIP 计算每个对象与图像的细粒度相似度分数
三类数据集
基于 CLIP 分数的阈值,将数据划分为三类:
正子句数据集
其中
负子句数据集
其中
完整句子数据集
其中
直觉:由于同一响应中可能同时包含正确和幻觉对象,所以必须在子句级别而非响应级别进行区分。子句以标点符号为分隔。截断该子句之后的文本,只保留对象出现位置及之前的上下文。
3.2 三重损失函数
负损失(Negative Loss)— 梯度上升遗忘幻觉
取反微调损失实现梯度上升,降低幻觉对象的生成概率。
正损失(Positive Loss)— 梯度下降强化正确对象
标准微调损失,鼓励模型生成正确对象。
句子损失(Sentence Loss)— 保持长文本生成能力
对高质量完整响应进行标准微调,防止遗忘过程破坏模型生成连贯长文本的能力。
完整目标
其中
训练时从三个数据集并发采样,分别计算损失后加权聚合。
四、实验结果
4.1 实验设置
- 模型:MiniGPT4、LLaVA、mPLUG-owl、ShareGPT4V
- 数据:MSCOCO,仅使用图像,标注仅用于评估
- 训练:仅微调多模态映射层,1 epoch,AdamW,lr=1e-5,weight decay=0.05
- 评估:CHAIR(
/ )、MHumanEval( / )、POPE(F1)、BLEU、Info.(GPT-4 信息量评分)、ppl.(GPT-2 困惑度)
4.2 主实验
| 模型 | CHAIR | CHAIR | Human | Human | POPE↑ | Bleu1↑ | Bleu4↑ | Info.↑ | ppl.↓ |
|---|---|---|---|---|---|---|---|---|---|
| MiniGPT4 | 45.9 | 23.2 | 69.0 | 27.3 | 81.0 | 43.8 | 15.5 | 86.7 | 0.134 |
| + EFUF | 38.9 | 21.1 | 45.0 | 12.7 | 82.3 | 45.6 | 16.7 | 87.5 | 0.121 |
| LLaVA | 52.8 | 22.8 | 42.0 | 14.7 | 85.3 | 43.2 | 15.2 | 93.7 | 0.139 |
| + EFUF | 41.9 | 18.7 | 24.0 | 7.7 | 85.9 | 45.3 | 16.8 | 93.5 | 0.129 |
| mPLUG-owl | 71.1 | 33.5 | 60.0 | 24.1 | 88.5 | 43.3 | 15.1 | 91.1 | 0.129 |
| + EFUF | 40.5 | 23.2 | 46.0 | 17.7 | 90.7 | 52.3 | 19.9 | 90.0 | 0.139 |
| ShareGPT4V | 46.8 | 22.3 | 31.0 | 9.9 | 87.8 | 43.3 | 15.4 | 89.6 | 0.157 |
| + EFUF | 36.9 | 18.4 | 14.0 | 5.4 | 88.1 | 46.9 | 18.1 | 91.1 | 0.159 |
关键观察:
- EFUF 在所有 4 个 MLLM 上一致降低幻觉:CHAIR
平均降低 ~15%,CHAIR 平均降低 ~5%,Human 平均降低 ~18%,Human 平均降低 ~8% - 生成质量同步提升:BLEU-1 平均 +4%,BLEU-4 平均 +2%,信息量 +1%,流畅度 +1%
- mPLUG-owl 改善最大:CHAIR
从 71.1 降至 40.5(降低 43%),说明幻觉率越高的模型受益越大
4.3 消融实验
在 MiniGPT4 上对比不同配置:
| 方法 | CHAIR | CHAIR | Human | Human | POPE↑ | Info.↑ | ppl.↓ |
|---|---|---|---|---|---|---|---|
| MiniGPT4 | 45.9 | 23.2 | 69.0 | 27.3 | 81.0 | 86.7 | 0.134 |
| + 粗粒度遗忘 | 42.4 | 22.7 | 56.0 | 17.3 | 82.0 | 87.6 | 0.120 |
| + 细粒度遗忘(无句子损失) | 36.1 | 17.9 | 39.0 | 9.7 | 82.7 | 87.2 | 0.170 |
| + 仅句子损失 | 44.1 | 29.8 | 58.0 | 17.0 | 81.7 | 86.8 | 0.120 |
| + EFUF | 38.9 | 21.1 | 45.0 | 12.7 | 82.3 | 87.5 | 0.121 |
关键发现:
- 细粒度遗忘是核心:粗粒度遗忘(整句级别)改善有限,细粒度遗忘(子句级别)大幅降低幻觉率
- 细粒度遗忘代价是流畅度:无句子损失时 ppl. 从 0.134 恶化至 0.170,人工检查发现生成内容碎片化、不连贯
- 句子损失不可或缺:EFUF 保持了流畅度(ppl. 0.121)同时有效降低幻觉,两者缺一不可
4.4 与其他幻觉缓解方法对比
在 LLaVA 上与 RLHF、HA-DPO、POVID 对比:
| 方法 | CHAIR | CHAIR | Human | Human | POPE↑ | Bleu1↑ | Info.↑ | ppl.↓ |
|---|---|---|---|---|---|---|---|---|
| LLaVA | 52.8 | 22.8 | 42.0 | 14.7 | 85.3 | 43.2 | 93.7 | 0.139 |
| + RLHF | 60.2 | 24.8 | 40.0 | 12.7 | 87.0 | 39.8 | 93.5 | 0.126 |
| + HA-DPO | 52.3 | 21.6 | 28.0 | 10.8 | 84.2 | 43.8 | 91.4 | 0.148 |
| + POVID | 41.3 | 19.2 | 29.0 | 8.3 | 86.3 | 44.5 | 86.8 | 0.233 |
| + EFUF | 41.9 | 18.7 | 24.0 | 7.7 | 85.9 | 45.3 | 93.5 | 0.129 |
- EFUF 在大多数指标上可比或优于其他方法,且训练资源需求最低
- RLHF 甚至加重了幻觉(CHAIR
从 52.8 升至 60.2) - POVID 虽然 CHAIR
略优,但流畅度严重受损(ppl. 0.233 vs 0.129)
4.5 训练成本对比
| 方法 | A100 GPU 小时 |
|---|---|
| RLHF | 20 |
| DPO | 12 |
| 对比学习 | 10 |
| EFUF | 3 |
EFUF 训练时间仅为 RLHF 的 1/7,且无需人工标注配对数据。
4.6 与其他方法的叠加效果
EFUF 可作为附加方法与已有的幻觉缓解策略叠加:
| 模型 | CHAIR | Human | Human | POPE↑ |
|---|---|---|---|---|
| LLaVA-RLHF | 60.2 | 40.0 | 12.7 | 87.0 |
| + EFUF | 59.7 | 38.0 | 12.4 | 88.8 |
| LRV | 39.4 | 46.0 | 16.0 | 85.1 |
| + EFUF | 37.3 | 45.0 | 15.1 | 85.1 |
在已经经过 RLHF 或指令微调的模型上,EFUF 仍能进一步降低幻觉率,证明其与现有方法互补。
4.7 超参数分析
在 ShareGPT4V 上分析
| CHAIR | Human | Info.↑ | ppl.↓ | |
|---|---|---|---|---|
| 0.1 | 46.3 | 30.0 | 89.5 | 0.155 |
| 0.2 | 38.5 | 20.0 | 91.2 | 0.129 |
| 0.3 | 36.9 | 18.0 | 90.9 | 0.154 |
| 0.4 | 21.0 | 13.0 | 88.5 | 0.243 |
是最优平衡点:再增大会严重损害流畅度(ppl. 飙升至 0.243) 是最优:过小(0.1)流畅度不足,过大(0.3)会抑制遗忘效果导致幻觉回升
五、局限性与未来方向
- 文本-图像相似度度量单一:仅使用 CLIP 作为幻觉指示器,其他视觉-语言对齐模型(如 SigLIP、BLIP-2)可能提供更好的信号
- 仅针对对象幻觉:与大多数同期工作一样,仅关注对象是否存在于图像中,未涉及属性幻觉(颜色、大小错误)或关系幻觉(空间位置错误)
- 仅微调映射层:训练仅调整多模态映射层参数,如果同时微调 LLM 主干可能有更大提升空间
- CLIP 分数阈值固定:
、 、 均为手动设定,不同模型/数据集可能需要不同阈值
六、个人思考
6.1 遗忘视角的独特性
EFUF 最大的贡献在于将遗忘(unlearning) 引入多模态幻觉缓解——与主流的对齐/偏好优化方向形成了正交的思路。核心逻辑很清晰:与其让模型学习什么是"好的",不如直接让模型"忘掉"坏的。这个思路简单直接,但细粒度处理是关键——粗粒度遗忘整句效果有限,细粒度遗忘子句大幅提升,这说明幻觉是局部现象,需要精确定位。
6.2 与项目中其他方法的定位对比
| 维度 | EFUF | mDPO | CSR | SENTINEL |
|---|---|---|---|---|
| 核心思路 | 细粒度遗忘幻觉子句 | 修复 DPO 忽略图像条件 | CLIP 校准自奖励 + 迭代 DPO | 句子级域内偏好 + C-DPO |
| 是否需要配对数据 | 否 | 是(Silkie) | 自生成 | 自生成 |
| 是否需要参考模型 | 否 | 是 | 是 | 是 |
| 训练开销 | 3 GPU 小时 | — | — | — |
| CLIP 的角色 | 数据筛选(正/负/句子) | 无 | 奖励校准 | 无 |
| 粒度 | 子句级对象 | 响应级 | 句子级 | 句子级 |
EFUF 在训练效率上有明显优势:无需配对数据、无需参考模型、无需多轮迭代,是四者中计算成本最低的方案。
6.3 CLIP 在幻觉缓解中的多面角色
CLIP 在本项目收录的多篇论文中扮演不同角色,值得横向对比:
- EFUF:CLIP 作为数据集筛选器,阈值化区分正/负样本
- CSR:CLIP 作为奖励校准器,计算 CLIP Score 校准自奖励信号
- DLC:CLIP 作为解码时探针,逐 token 评估视觉优势
- HALC:CLIP 作为 beam search验证器,视觉匹配筛选候选
这说明 CLIP 的文本-图像对齐能力在幻觉缓解中具有广泛的应用空间,但各方法利用的粒度和时机不同。
6.4 细粒度遗忘 vs 对比解码
EFUF(训练时细粒度遗忘)与 HIO(推理时对比解码)形成有趣的对比:
- HIO:训练一个"Evil LVLM"专门放大幻觉,推理时用对比解码消除
- EFUF:直接通过梯度上升让模型遗忘幻觉模式,推理时无需额外操作
两者的目标相同(降低幻觉 token 概率),但时机不同。EFUF 的优势是推理零开销,HIO 的优势是不修改原模型参数。实际上,EFUF 微调后的模型可以进一步叠加 HIO 等对比解码方法,形成训练时 + 推理时的双重缓解。
6.5 句子损失的必要性与"遗忘-保持"平衡
消融实验中最有意义的发现是:细粒度遗忘(无句子损失)虽然幻觉率最低,但 ppl. 从 0.134 恶化至 0.170,人工检查生成内容碎片化不连贯。这揭示了遗忘方法的固有矛盾——过度遗忘会损害模型的基础能力。EFUF 通过句子损失优雅地解决了这个问题,但
参考
- CLIP (Radford et al., 2021):文本-图像对齐模型,EFUF 数据集构建的核心工具
- LLaVA-RLHF (Sun et al., 2023):首个将 RLHF 应用于缓解多模态幻觉的工作
- HA-DPO (Zhao et al., 2023):幻觉感知 DPO,EFUF 的对比基线
- RLHF-V (Yu et al., 2023):细粒度人工纠正 + 密集 DPO
- CHAIR (Rohrbach et al., 2018):对象幻觉评估指标
- CSR (Zhou et al., 2024):CLIP 校准自奖励 + 迭代 DPO,同样利用 CLIP 但角色不同
- mDPO (Wang et al., 2024):条件偏好优化,从优化目标层面修复多模态 DPO
- HIO (Chen et al., 2024):反转 BT 模型训练 Evil LVLM + 对比解码
- HALC (Chen et al., 2024):FOV 对比解码 + 视觉匹配 beam search