多模態(tài)LLM幻覺問題降低30%!業(yè)內(nèi)首個“啄木鳥”免重訓(xùn)方法誕生
還在用指令微調(diào)解決多模態(tài)大模型的“幻覺”問題嗎?
比如下圖中模型將橙色柯基錯認(rèn)為“紅狗”,還指出周圍還有幾條。
圖片
現(xiàn)在,中科大的一項(xiàng)研究想到了一個全新辦法:
一個免重訓(xùn)、即插即用的通用架構(gòu),直接從模型給出的錯誤文本下手,“倒推”出可能出現(xiàn)“幻覺”之處,然后與圖片確定事實(shí),最終直接完成修正。
他們將這個方法命名為“啄木鳥”(Woodpecker)。
圖片
就像這位所謂的“森林醫(yī)生”先找出樹木的蟲洞再吃掉里面的蟲子一樣,本文中所提出的“啄木鳥”也是多模態(tài)大模型們的“幻覺”醫(yī)生,能夠?qū)栴}先診斷出來再一一糾正。
結(jié)果是“醫(yī)術(shù)確實(shí)高明”,成功將:
(1)MiniGPT-4的準(zhǔn)確性從54.67%提高到了85.33%;
(2)mPLUG Ow的準(zhǔn)確性從62%提到了86.33%。
如下圖所示,各種難以檢測到的小對象、復(fù)雜的計(jì)數(shù)場景,它都能沒問題。
圖片
那么,它具體是如何診斷的呢?
“啄木鳥法”治療多模態(tài)LLM幻覺
目前,業(yè)內(nèi)對于大模型幻覺問題的解決辦法基本都是用特定數(shù)據(jù)進(jìn)行指令微調(diào)。
比如說,一些多模態(tài)大模型(MLLM)在回答問題時總是傾向于肯定答案(eg. 面對一個光頭人物圖,問它頭發(fā)是什么顏色,張口就說“黑”),那么我們再喂給模型一些包含負(fù)樣本的數(shù)據(jù),就能解決它“無中生有”的幻覺,遇到?jīng)]有的就說“no”。
除了指令微調(diào),也有的會進(jìn)行架構(gòu)調(diào)整,反正都要重新訓(xùn)練一個新的模型。
本文提出的“啄木鳥”框架,是業(yè)內(nèi)第一個無需此操作就能解決“幻覺”的全新辦法。
它一共分為5個步驟,每一步都采用了清晰透明的設(shè)計(jì)方式,因此具備良好的可解釋性。
圖片
具體而言:
第一步,關(guān)鍵概念提取。
指找出模型給出的答案中提到的主要對象,即最有可能解除“幻覺”的元素。
例如對于下圖,多模態(tài)大模型最開始可能描述圖中有一輛自行車停在一個垃圾桶旁邊,還說圖上有幾個人從垃圾桶旁邊走過。
圖片
那么,我們就可以得到三個關(guān)鍵概念:自行車、垃圾桶和人。
第二步,問題構(gòu)造。
指在獲取關(guān)鍵概念后,圍繞它們提出一些問題有助于檢驗(yàn)“幻覺”所在的問題。
可主要分為對象層面和屬性層面,前者可以問“圖中有幾輛自行車?”,后者可問“垃圾桶位于什么位置?”。
在此,由于屬性問題比較依賴于上下文,作者也用了一些帶有上下文的例子來提示模型,以便提出的問題更有意義
第三步,視覺驗(yàn)證。
指引用專家模型回答上步提出的所有問題,方便后續(xù)校正。
對于對象層面的問題,例如我們利用GroundingDINO來進(jìn)行目標(biāo)檢測,確定關(guān)鍵目標(biāo)是否存在以及關(guān)鍵目標(biāo)的數(shù)量。
對于屬性問題,則用BLIP-2來搞定。這類傳統(tǒng)VQA模型輸出答案的長度有限,"幻覺"問題更少。
第四步,視覺斷言生成。
簡單來說,就是基于于前兩步中獲得的問題以及對應(yīng)的視覺信息,合成結(jié)構(gòu)化的“視覺斷言”。
格式如下:
圖片
最后,“幻覺”糾正。
即根據(jù)上步的總結(jié)比對模型原始的輸出,得出新的答案。
具體實(shí)施環(huán)節(jié)中,“啄木鳥”采用GPT-3.5-turbo來完成關(guān)鍵概念提取、提問和最后一步的糾正。
由于一些多模態(tài)模型的指令跟隨能力較弱,導(dǎo)致結(jié)果可能輸出無關(guān)文本(例如表情、特殊符號),再加上有時一些模型只輸出一個“是”或“否”,這讓實(shí)際的校正過程也面臨挑戰(zhàn)。
不過,我們兩個簡單措施就可以搞定:
(1)將模型回答的“是”或“否”與“啄木鳥”給出的答案組合起來,比如“是的,圖像中有一只狗”,就不怕模型原本只是給出一個簡單的“yes or no”逃過校正了。
(2)在校正過程中,將原始問題添加到LLM,以便LLM更好地掌握文本和任務(wù)要求。
效果驗(yàn)證:幻覺減少30%
整個方法看起來非常好理解,效果如何呢?
在此,作者在POPE、MME和LLaVA-QA90數(shù)據(jù)集上進(jìn)行了全面的定量和定性實(shí)驗(yàn)。
基線模型選用這四個主流多模態(tài)大模型:
MiniGPT-4、mPLUG Owl、LLaVA和Otter。
最終,POPE數(shù)據(jù)集上的結(jié)果如下:
(w/Ours表示由“啄木鳥”校正的MLLM響應(yīng),x為未采用,對勾為采用)
可以看到,“啄木鳥”都能給這幾個模型帶來不同程度的提升,同時大幅降低模型回答“yes”的概率。
其中在隨機(jī)設(shè)定下,它給MiniGPT-4和mPLUG-Owl和在準(zhǔn)確率指標(biāo)上分別帶來了30.66%和24.33%的提升。
圖片
在更全面的MME數(shù)據(jù)集上,“啄木鳥”也有效減少了多模態(tài)大模型在對象級和屬性級層面的“幻覺”,也就是某物是否存在、數(shù)量多少,以及它的位置和顏色。
比如LLaVA的顏色得分從78.33分大幅提升到155分。
圖片
不過,位置方面的“幻覺”提升不是特別大,作者推測可能是VQA模型BLIP-2在位置推理方面的能力相對較弱等原因造成的。
為了更直接地衡量修正表現(xiàn),更直接的方式是使用開放評測。
不同于以往將圖片轉(zhuǎn)譯后送入純文本GPT-4的做法,作者利用OpenAI最近開放的視覺接口,提出使用GPT-4V對修正前后的圖片描述直接對下列兩個維度進(jìn)行打分:
(1)準(zhǔn)確度:模型的答復(fù)相對于圖片內(nèi)容是否準(zhǔn)確;
(2)細(xì)節(jié)程度:模型答復(fù)的細(xì)節(jié)豐富度。
在該實(shí)驗(yàn)條件下,實(shí)驗(yàn)結(jié)果如下表所示(滿分為10):
圖片
結(jié)果表明經(jīng)過“啄木鳥“修正后圖片描述的準(zhǔn)確性有一定的提升,這說明該框架可以有效修正描述中幻視的部分。
另一方面,“啄木鳥“修正后引入的定位信息豐富了文本描述,提供了進(jìn)一步的位置信息,從而提升了細(xì)節(jié)豐富度。
GPT-4V輔助的評測樣例如下圖所示:
圖片
試玩
還有Demo供大家測試使用。
如下圖所示,上傳圖片并輸入請求,就可以得到修正前以及修正后的模型答復(fù),以及供參考驗(yàn)證的新圖片。
Woopecker論文地址:
https://arxiv.org/abs/2310.16045 Woopecker代碼地址:https://github.com/BradyFU/Woodpecker