多模態模型免微調接入互聯網,即插即用新框架,效果超閉源商用方案
一個5月份完成訓練的大模型,無法對《黑神話·悟空》游戲內容相關問題給出準確回答。
這是大模型的老毛病了。
因為《黑神話》8月才上市,訓練數據里沒有它的相關知識。
眾所周知,大模型的訓練和微調會消耗大量計算資源和時間,這意味著頻繁更新大模型的參數是不切實際的。
然而,現實世界中的信息是實時產生的且不斷變化的。這使得大模型在完成訓練后,對于后續新產生的信息感到陌生,所以無法提供準確可靠的反饋。
為此,上海人工智能實驗室、北京理工大學、浙江大學、香港大學聯合提出即插即用的SearchLVLMs框架,可以無縫整合任意的多模態大模型。
該框架在推理階段對大模型進行互聯網檢索增強,使得大模型無需微調即可對實時信息進行準確的反饋。
研究團隊提出首個輔助多模態大模型對實時信息進行反饋的開源檢索增強框架SearchLVLMs。
該框架主要包括查詢生成、搜索引擎調用、分層過濾三個部分。
以視覺問答為例,該框架會基于問題和圖片生成查詢關鍵詞,并調用搜索引擎查找相關信息,再由粗到細地對檢索結果進行過濾,得到對回答該問題有幫助的信息。
這些信息會以prompt的形式在推理階段提供給模型,以輔助回答。
同時,團隊提出一個數據生成框架UDK-VQA,它可以自動生成依賴實時信息進行回答的視覺問答數據。
基于此框架,數據集可以完成動態更新,以保證測試數據的時效性。
目前已有UDK-VQA-240401-30、UDK-VQA-240816-20兩個版本的數據集,涉及到的時間跨度分別是2024年4月1日-2024年4月31日和2024年8月16日-2024年9月5日。
研究者在超過15個開源、閉源模型上進行了實驗,包括GPT-4o、Gemini 1.5 Pro、InternVL-1.5、LLaVA-1.6等。
在UDK-VQA數據集上的回答準確率,則配備了SearchLVLMs的SOTA LVLMs超過了自帶互聯網檢索增強的GPT-4o模型35%。
開源框架SearchLVLMs
SearchLVLMs框架主要由三部分組成:
- 查詢生成
- 搜索引擎調用
- 分層過濾
在查詢生成階段,需要對問題和圖像進行充分地理解,以轉化為適用于搜索引擎的文本查詢。
對于問題而言,直接使用手工設計的prompt調用LLM得到問題查詢詞。
對于圖像而言,調用必應視覺搜索得到包含該圖像或與該圖像相關的網頁,提取這些網頁的題目/快照的最長公共子串作為圖像查詢詞。
在搜索引擎調用階段,用戶可以根據問題類型自主選擇調用的搜索引擎類別。
比如:對于實時性較強的新聞相關問題,可以選擇調用必應新聞搜索;對于常識性問題,可以選擇調用必應通用搜索。
調用搜索引擎后會得到多個網頁的題目、摘要和鏈接。
在分層過濾階段,首先調用網頁過濾器對得到的網頁進行初篩,基于網頁的題目和摘要對這些網頁進行重排。
對于排序靠前的網頁,使用爬蟲獲取網頁的文本內容,每三句切分成一個片段,使用內容過濾器對這些片段進行重排。
對于排序靠前的片段,基于CLIP特征對它們進行聚類,選擇離每個聚類中心的最近的片段,以避免內容重復片段對大模型預測帶來的誤導。
被選擇的片段被直接拼接在一起,用于提示大模型。
其中,網頁過濾器和內容過濾器是兩個獨立訓練的LLaVA-1.5模型,作用是為網頁/片段進行打分——網頁/片段對于回答該問題的幫助程度。
為了訓練這兩個過濾器,也為了測試大模型對實時信息的反饋能力,研究團隊進一步提出了一個數據生成框架——UDK-VQA,如下圖所示。
五個步驟完成數據生成
UDK-VQA數據生成主要遵循五個步驟:
分別是查詢搜集、問題生成、圖像分配、偽標注生成、人為驗證。
第一步,查詢搜集。
查詢搜集主要包括兩方面,一方面是從谷歌每日搜索趨勢上爬取熱門搜索詞,另一方面是人為搜集一些熱門搜索詞來對前者進行補充。
第二步,問題生成。
研究人員首先根據搜集到的搜索詞調用搜索引擎得到相關的新聞,將新聞內容進行切分,得到多個內容片段。
然后要求GPT根據內容片段自問自答,得到<問題,答案>的集合。
在第三步圖像分配階段,團隊會提取出問題中的實體,使用圖片搜索引擎得到實體的圖片,并將問題中的實體單詞替換為其上分位詞,與圖片一起組成視覺問答樣本。
第四步,偽標注生成。
為了訓練網頁過濾器和內容過濾器,需要對網頁/片段進行打分。
對于一個視覺問答樣本和一個網頁/片段,研究者基于兩個原則進行打分:
① 如果該樣本是基于該網頁/片段生成的,分數為1.0。
② 如果該樣本不是基于該網頁/片段生成的,使用5個開源模型在該網頁/片段下嘗試回答該樣本,根據模型回答的正確率進行打分。
基于這樣的偽標注方法,研究人員構造了~80w樣本用于訓練。
最后一步,人為驗證。
構造測試集時,研究者對第3步得到的視覺問答樣本進行了人為篩選,確保測試樣本的正確性。
為了避免訓練數據和測試數據需要參考相似的實時信息,在構造訓練集和測試集時,研究過程中使用不同時間區間的谷歌每日搜索趨勢來爬取熱門搜索詞。
下圖中(a)、(b)、(c)分別展示了訓練樣本、測試樣本和測試樣本的分布。
基于數據生成框架UDK-VQA,很容易可以構造出需要實時信息進行回答的視覺問答樣本。
研究團隊聲明會不斷更新測試集,保證測試樣本的時效性。
目前,研究人員已經構造了兩個版本的測試集,分別涉及到2024年5月份和2024年9月份的信息。
實驗結果與結論
SearchLVLMs框架團隊在UDK-VQA上測試了15個現有的LVLMs,主要實驗結果如下表所示。
其中,Raw表示模型的原始版本(沒有檢索增強功能)、Long-Context (LC)表示將搜索引擎返回的網頁爬取內容后,直接拼接起來提示模型,IAG表示使用了模型內嵌的互聯網檢索增強能力。
Gen.、Cham.和CLIP→FID (C→F)分別表示[1]、[2]和[3]中的方法。
從實驗結果中可以有以下發現:
1、接收長上下文輸入可以一定程度上避免對搜索引擎的返回內容進行二次篩選。
Gemini Pro 1.5 (LC)的性能高于內嵌互聯網檢索增強的GPT-4V和GPT-4o,但是長上下文會引入額外的計算消耗,并引入一些不必要的信息對模型造成誤導。
經過SearchLVLMs的分層過濾模型進行二次篩選還有,可以進一步提升模型性能。
2、具備檢索增強能力的閉源商用模型在性能上顯著高于不具備檢索增強能力的開源模型。
GPT-4V和GPT-4o由于內嵌互聯網檢索增強模塊,在準確率上大幅領先開源模型,如LLaVA-1.6和InternVL-1.5,差距約為20%~30%。
3、SearchLVLMs框架可以整合任意的多模態大模型,并大幅度提高它們對于依賴實時信息的問題的回答能力。
無論是在閉源商用模型Gemini 1.5 Pro、GPT-4o、GPT-4V,還是開源SOTA模型LLaVA-1.6和InternVL-1.5上,SearchLVLMs均能帶來超過50%的性能提升。
4、SearchLVLMs帶來的性能提升,遠高于已有方法。
研究對比了檢索增強方法Gen.、C→F和調用搜索引擎來輔助回答的框架Cham.,SearchLVLMs在應對實時信息檢索任務時,表現出明顯的優越性。
5、使用SearchLVLMs整合開源模型,性能可以大幅超過內嵌互聯網檢索增強能力的閉源商用模型。
InternVL-1.5+SearchLVLMs的準確率為92.9%,遠高于GPT-4o(IAG)的57.8%。
這一發現表明,開源模型具有巨大的潛力,SearchLVLMs在性能、可定制性和透明度上具有顯著的優勢。
文章鏈接: https://arxiv.org/abs/2405.14554
項目主頁:https://nevermorelch.github.io/SearchLVLMs.github.io/