字節(jié)大模型新進(jìn)展:首次引入視覺定位,實(shí)現(xiàn)細(xì)粒度多模態(tài)聯(lián)合理解,已開源&demo可玩
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
字節(jié)大模型,BuboGPT來(lái)了。
支持文本、圖像、音頻三種模態(tài),做到細(xì)粒度的多模態(tài)聯(lián)合理解。
答哪指哪,什么講了什么沒講,一目了然:
除了有“慧眼”,還有“聰耳”。人類都注意不到的細(xì)節(jié)BuboGPT能聽到:
Audio-1-chime-bird-breeze,量子位,20秒
前方高能!
三模態(tài)聯(lián)合理解,文字描述+圖像定位+聲音定位,一鍵搞定,準(zhǔn)確判斷聲音來(lái)源:
Audio-7-dork-bark,量子位,6秒
別著急,還沒完!
即使音頻和圖像之間沒有直接關(guān)系,也可以合理描述兩者之間的可能關(guān)系,看圖辨音講故事也可以:
Audio-11-six-oclock,量子位,1分鐘
這么一看,BuboGPT干點(diǎn)活,夠“細(xì)”的。
研究人員表示:
MiniGPT-4,LLaVA和X-LLM等最近爆火的多模態(tài)大模型未對(duì)輸入的特定部分進(jìn)行基礎(chǔ)性連接,只構(gòu)建了粗粒度的映射。
而BuboGPT利用文本與其它模態(tài)之間豐富的信息且明確的對(duì)應(yīng)關(guān)系,可以提供對(duì)視覺對(duì)象及給定模態(tài)的細(xì)粒度理解。
因此,當(dāng)BuboGPT對(duì)圖像進(jìn)行描述時(shí),能夠指出圖中對(duì)象的具體位置。
BuboGPT:首次將視覺連接引入LLM
除了上面作者分享在YouTube的示例,研究團(tuán)隊(duì)在論文中也展示了BuboGPT玩出的各種花樣。
活久見青蛙彈琴!這樣的圖BuboGPT也能準(zhǔn)確描述嗎?
一起康康回答得怎么樣:
不僅能夠準(zhǔn)確描述青蛙的姿勢(shì),還知道手摸的是班卓琴?
問它圖片都有哪些有趣的地方,它也能把圖片背景里的東西都概括上。
BuboGPT“眼力+聽力+表達(dá)力測(cè)試”,研究人員是這樣玩的,大家伙兒先來(lái)聽這段音頻。
Audio-9-hair-dryer,量子位,5秒
再來(lái)看看BuboGPT的描述怎么樣:
圖片上的人的性別、聲音來(lái)源、圖片中發(fā)生的事情,BuboGPT都能準(zhǔn)確理解。
效果這么好,是因?yàn)樽止?jié)這次用了將視覺定位引入LLM的方法。
具體方法我們接著往下看。
BuboGPT的架構(gòu)是通過學(xué)習(xí)一個(gè)共享的語(yǔ)義空間,并進(jìn)一步探索不同視覺對(duì)象和不同模態(tài)之間的細(xì)粒度關(guān)系,從而實(shí)現(xiàn)多模態(tài)理解。
為探索不同視覺對(duì)象和多種模態(tài)之間的細(xì)粒度關(guān)系,研究人員首先基于SAM構(gòu)建了一個(gè)現(xiàn)成的視覺定位pipeline。
這個(gè)pipeline由標(biāo)記模塊(Tagging Module)、定位模塊(Grounding Module)和實(shí)體匹配模塊(Entity-matching Module)三個(gè)模塊組成。
流程大概是這樣?jì)饍旱模?/p>
首先,標(biāo)記模塊是一個(gè)預(yù)訓(xùn)練模型,可以生成與輸入圖像相關(guān)的多個(gè)文本標(biāo)簽。
基于SAM的定位模塊進(jìn)一步定位圖像上與每個(gè)文本標(biāo)簽相關(guān)的語(yǔ)義掩?;蜻吔缈颉?/p>
然后,實(shí)體匹配模塊利用LLM的推理能力從標(biāo)簽和圖像描述中檢索匹配的實(shí)體。
研究人員就是通過這種方式,使用語(yǔ)言作為橋梁將視覺對(duì)象與其它模態(tài)連接起來(lái)。
為了讓三種模態(tài)任意組合輸入都能有不錯(cuò)的效果,研究人員采用了類似于Mini-GTP4的兩階段走訓(xùn)練方案:
單模態(tài)預(yù)訓(xùn)練和多模態(tài)指令調(diào)整。
具體而言,BuboGPT使用了ImageBind作為音頻編碼器,BLIP-2作為視覺編碼器,以及Vicuna作為預(yù)訓(xùn)練LLM。
在單模態(tài)預(yù)訓(xùn)練階段,在大量的模態(tài)-文本配對(duì)數(shù)據(jù)上訓(xùn)練相應(yīng)的模態(tài)Q-Former和線性投影層。
對(duì)于視覺感知,研究人員僅對(duì)圖像標(biāo)題生成部分進(jìn)行投影層的訓(xùn)練,并且保持來(lái)自BLIP2的Q-Former固定。
對(duì)于音頻理解,他們同時(shí)訓(xùn)練了Q-Former和音頻標(biāo)題生成部分。
在這兩種設(shè)置下都不使用任何提示(prompt),模型僅接收相應(yīng)的圖像或音頻作為輸入,并預(yù)測(cè)相應(yīng)的標(biāo)題(caption)。
△不同輸入的指令遵循示例
在多模態(tài)指令調(diào)整階段,構(gòu)建了一個(gè)高質(zhì)量的多模態(tài)指令數(shù)據(jù)集對(duì)線性投影層進(jìn)行微調(diào),包括:
- 圖像-文本:使用MiniGPT-4和LLaVa中的兩個(gè)數(shù)據(jù)集進(jìn)行視覺指令調(diào)優(yōu)。
- 音頻-文本:基于Clotho數(shù)據(jù)集構(gòu)建了一系列表達(dá)性和描述性數(shù)據(jù)。
- 音頻-圖像-文本:基于VGGSS數(shù)據(jù)集構(gòu)建了<音頻,圖像,文本>三模態(tài)指導(dǎo)調(diào)優(yōu)數(shù)據(jù)對(duì),并進(jìn)一步引入負(fù)樣本來(lái)增強(qiáng)模型。
值得注意的是,通過引入負(fù)樣本“圖像-音頻對(duì)”進(jìn)行語(yǔ)義匹配,BuboGPT可以更好地對(duì)齊,多模態(tài)聯(lián)合理解能力更強(qiáng)。
目前BuboGPT代碼、數(shù)據(jù)集已開源,demo也已發(fā)布啦,我們趕緊上手體驗(yàn)了一把。
demo淺玩體驗(yàn)
BuboGPT demo頁(yè)面功能區(qū)一目了然,操作起來(lái)也非常簡(jiǎn)單,右側(cè)可以上傳圖片或者音頻,左側(cè)是BuboGPT的回答窗口以及用戶提問窗口:
上傳好照片后,直接點(diǎn)擊下方第一個(gè)按鈕來(lái)上傳拆分圖片:
就拿一張長(zhǎng)城照片來(lái)說(shuō),BuboGPT拆成了這個(gè)樣子,識(shí)別出了山、旅游勝地以及城墻:
當(dāng)我們讓它描述一下這幅圖時(shí),它的回答也比較具體,基本準(zhǔn)確:
可以看到拆分框上的內(nèi)容也有了變化,與回答的文本內(nèi)容相對(duì)應(yīng)。
再來(lái)一張圖片,并帶有一段音頻,BuboGPT也正確匹配了聲音來(lái)源:
Audio-8-bicycle_bell,量子位,22秒
當(dāng)然,它也會(huì)出現(xiàn)識(shí)別不成功,表述錯(cuò)誤的情況,比如說(shuō)下面這張圖中并沒有人,音頻也只是鐘聲,但它的描述和圖片似乎并不搭邊。
感興趣的家人趕緊親自上手試試~~
傳送門:
[1]https://bubo-gpt.github.io/
[2]https://huggingface.co/spaces/magicr/BuboGPT(demo)