丰色 发自 凹非寺 量子位 | 公众号 QbitAI
还在用指令微调解决多模态大模型的“幻觉”问题吗?
比如下图中模型将橙色柯基错认为“红狗”,还指出周围还有几条。
现在,中科大的一项研究想到了一个全新办法:
一个免重训、即插即用的通用架构,直接从模型给出的错误文本下手,“倒推”出可能出现“幻觉”之处,然后与图片确定事实,最终直接完成修正。
他们将这个方法命名为“啄木鸟”(Woodpecker)。
就像这位所谓的“森林医生”先找出树木的虫洞再吃掉里面的虫子一样,本文中所提出的“啄木鸟”也是多模态大模型们的“幻觉”医生,能够将问题先诊断出来再一一纠正。
结果是“医术确实高明”,成功将:
(1)MiniGPT-4的准确性从54.67%提高到了85.33%;
(2)mPLUG Ow的准确性从62%提到了86.33%。
如下图所示,各种难以检测到的小对象、复杂的计数场景,它都能没问题。
那么,它具体是如何诊断的呢?
“啄木鸟法”治疗多模态LLM幻觉
目前,业内对于大模型幻觉问题的解决办法基本都是用特定数据进行指令微调。
比如说,一些多模态大模型(MLLM)在回答问题时总是倾向于肯定答案(eg. 面对一个光头人物图,问它头发是什么颜色,张口就说“黑”),那么我们再喂给模型一些包含负样本的数据,就能解决它“无中生有”的幻觉,遇到没有的就说“no”。
除了指令微调,也有的会进行架构调整,反正都要重新训练一个新的模型。
本文提出的“啄木鸟”框架,是业内第一个无需此操作就能解决“幻觉”的全新办法。
它一共分为5个步骤,每一步都采用了清晰透明的设计方式,因此具备良好的可解释性。
具体而言:
第一步,关键概念提取。
指找出模型给出的答案中提到的主要对象,即最有可能解除“幻觉”的元素。
例如对于下图,多模态大模型最开始可能描述图中有一辆自行车停在一个垃圾桶旁边,还说图上有几个人从垃圾桶旁边走过。
那么,我们就可以得到三个关键概念:自行车、垃圾桶和人。
第二步,问题构造。
指在获取关键概念后,围绕它们提出一些问题有助于检验“幻觉”所在的问题。
可主要分为对象层面和属性层面,前者可以问“图中有几辆自行车?”,后者可问“垃圾桶位于什么位置?”。
在此,由于属性问题比较依赖于上下文,作者也用了一些带有上下文的例子来提示模型,以便提出的问题更有意义
第三步,视觉验证。
指引用专家模型回答上步提出的所有问题,方便后续校正。
对于对象层面的问题,例如我们利用GroundingDINO来进行目标检测,确定关键目标是否存在以及关键目标的数量。
对于属性问题,则用BLIP-2来搞定。这类传统VQA模型输出答案的长度有限,"幻觉"问题更少。
第四步,视觉断言生成。
简单来说,就是基于于前两步中获得的问题以及对应的视觉信息,合成结构化的“视觉断言”。
格式如下:
最后,“幻觉”纠正。
即根据上步的总结比对模型原始的输出,得出新的答案。
具体实施环节中,“啄木鸟”采用GPT-3.5-turbo来完成关键概念提取、提问和最后一步的纠正。
由于一些多模态模型的指令跟随能力较弱,导致结果可能输出无关文本(例如表情、特殊符号),再加上有时一些模型只输出一个“是”或“否”,这让实际的校正过程也面临挑战。
不过,我们两个简单措施就可以搞定:
(1)将模型回答的“是”或“否”与“啄木鸟”给出的答案组合起来,比如“是的,图像中有一只狗”,就不怕模型原本只是给出一个简单的“yes or no”逃过校正了。
(2)在校正过程中,将原始问题添加到LLM,以便LLM更好地掌握文本和任务要求。
效果验证:幻觉减少30%
整个方法看起来非常好理解,效果如何呢?
在此,作者在POPE、MME和LLaVA-QA90数据集上进行了全面的定量和定性实验。
基线模型选用这四个主流多模态大模型:
MiniGPT-4、mPLUG Owl、LLaVA和Otter。
最终,POPE数据集上的结果如下:
(w/Ours表示由“啄木鸟”校正的MLLM响应,x为未采用,对勾为采用)
可以看到,“啄木鸟”都能给这几个模型带来不同程度的提升,同时大幅降低模型回答“yes”的概率。
其中在随机设定下,它给MiniGPT-4和mPLUG-Owl和在准确率指标上分别带来了30.66%和24.33%的提升。
在更全面的MME数据集上,“啄木鸟”也有效减少了多模态大模型在对象级和属性级层面的“幻觉”,也就是某物是否存在、数量多少,以及它的位置和颜色。
比如LLaVA的颜色得分从78.33分大幅提升到155分。
不过,位置方面的“幻觉”提升不是特别大,作者推测可能是VQA模型BLIP-2在位置推理方面的能力相对较弱等原因造成的。
为了更直接地衡量修正表现,更直接的方式是使用开放评测。
不同于以往将图片转译后送入纯文本GPT-4的做法,作者利用OpenAI最近开放的视觉接口,提出使用GPT-4V对修正前后的图片描述直接对下列两个维度进行打分:
(1)准确度:模型的答复相对于图片内容是否准确;
(2)细节程度:模型答复的细节丰富度。
在该实验条件下,实验结果如下表所示(满分为10):
结果表明经过“啄木鸟“修正后图片描述的准确性有一定的提升,这说明该框架可以有效修正描述中幻视的部分。
另一方面,“啄木鸟“修正后引入的定位信息丰富了文本描述,提供了进一步的位置信息,从而提升了细节丰富度。
GPT-4V辅助的评测样例如下图所示:
试玩
还有Demo供大家测试使用。
如下图所示,上传图片并输入请求,就可以得到修正前以及修正后的模型答复,以及供参考验证的新图片。
Woopecker论文地址: https://arxiv.org/abs/2310.16045 Woopecker代码地址: https://github.com/BradyFU/Woodpecker
— 完 —