超越GPT-4!華人團隊爆火InstructBLIP搶跑看圖聊天,開源項目橫掃多項SOTA
GPT-4看圖聊天還沒上線,就已經被超越了。
近來,華人團隊開源了多模態基礎模型InstructBLIP,是從BLIP2模型微調而來的模型。
BLIP家族中增加了一個新成員:InstructBLIP
據介紹,InstructBLIP模型更擅長「看」、「推理」和「說」,即能夠對復雜圖像進行理解、推理、描述,還支持多輪對話等。
比如,下圖這一場景可能發生了什么?
InstructBLIP推理出,可能颶風,或者惡劣的天氣因素造成的。
給我介紹下這幅畫
進行多輪對話
研究人員表示,正是基于強大BLIP-2,才使得InstructBLIP「看」的更好。
最最重要的是,InstructBLIP在多個任務上實現了最先進的性能,甚至在圖片解釋和推理上表現優于GPT4。
為啥如此之強?
新王者:InstructBLIP
InstructBLIP的主要意義就在于解決視覺-語言指令微調中的挑戰,并對模型未見過的數據和任務的改進泛化能力進行系統研究。
論文地址:https://arxiv.org/pdf/2305.06500.pdf
在論文中,研究人員首先介紹了指令微調數據的構建,然后則是具體的訓練過程。
之后,分別從模型和數據的角度闡述了兩種提高指令微調性能的技術。
為了保證指令微調數據的多樣性,同時考慮到它們的可及性,研究人員收集了大量公開可用的視覺語言數據集,并將它們轉化為指令微調格式。
下圖中,研究人員最終收集的數據涵蓋了11個任務類別和28個數據集。
其中包括圖像字幕、帶有閱讀理解的圖像字幕、視覺推理、圖像問題回答、基于知識的圖像問題回答,帶閱讀理解的圖像問題回答,圖像問題的生成(與QA數據集相反),視頻問題回答,視覺對話問題回答,圖像分類,以及LLaVA-Instruct-150K。
對于每一項任務,研究人員都會用自然語言制作10-15個不同的指令模板。這些模板是構建指令微調數據的基礎,它闡明了任務并劃定了目標。
對于固有的偏向于短反應的公共數據集,研究人員在一些相應的指令模板中使用較短的術語,以減少模型適應總是生成短回應的風險。
對于LLaVA-Instruct-150K數據集,研究人員沒有加入額外的指令模板,因為它是自然結構的指令格式。
現有的零樣本圖像到文本的生成方法,包括BLIP-2,在提取視覺特征時采取了與指令并無關系的方法。
也就是說,LLM中的視覺輸入是不知道指令的,這并不利于該模型在不同任務中的靈活性。
相比之下,指令感知的視覺模型可以提高模型從不同指令中學習的能力。
舉例來說,咱們考慮兩種情況:輸入同一圖像,模型被要求完成兩個不同的任務;以及,給定兩個不同的圖像,模型被指示完成同一任務。
在第一種情況中,一個指令感知的視覺模型可以根據指令從同一圖像中提取不同的特征,在解決不同任務時呈現出更多的信息特征。
而在第二種情況中,一個指令感知的視覺模型可以利用指令中體現的共同知識來提取兩個不同圖像的特征,從而實現圖像之間更好的信息轉移。
InstructBLIP通過充分利用BLIP-2模型中的Q-Former架構,提出了一種指令感知的視覺特征提取方法。
如上圖所示,Q-Former被設計用來從一個凍結的圖像編碼器的輸出中提取視覺特征。
根據BLIP-2的論文,Q-Former已經分成兩個階段進行了預訓練,通過預訓練,它學會了提取可以被LLM消化的文本對齊的視覺特征。
在推理過程中,一個指令被附加在視覺提示之后,就可以指導LLM按照規定執行不同的任務。
而在InstructBLIP中,指令文本不僅作為輸入給到LLM,同時也給到了QFormer。
由于訓練數據集的數量眾多,而且每個數據集的大小差異很大,均勻地混合這些數據集可能會導致模型在較小的數據集上過度擬合,而在較大的數據集上擬合不足。
為了緩解這樣的問題,研究人員建議按照數據集的大小(即訓練樣本的數量)進行采樣,并進行平方根平滑處理。一般來說,給定D個數據集的大小:
在訓練期間,數據樣本從數據集d中被選中的概率被表述為,
除了這個加權公式外,研究人員還對某些數據集的權重進行了手動微調,以提高其收斂性。
這是必要的環節,因為各種數據集和任務的內在差異,需要不同程度的訓練強度,即使它們有類似的規模也是如此。
具體來說,研究人員降低了A-OKVQA(多選)的權重,增加了OKVQA的權重。
實驗結果
零樣本評估
研究人員首先在13個數據集上評估InstructBLIP模型,并將InstructBLIP與之前的SOTA模型BLIP-2和Flamingo進行比較。
如表所示,InstructBLIP在所有的數據集上都取得了新的零樣本的SOTA結果。
并且在所有的LLM上都超過了BLIP-2,這表明了視覺指令微調的有效性。
此外,指令微調提高了對未見過的任務類別(如視頻QA)的零樣本泛化能力。
盡管從未用時間視頻數據進行訓練,但InstructBLIP在MSRVTT-QA上比之前的SOTA提高了47.1%。
最后,研究人員用最小的InstructBLIP FlanT5XL(4B)在所有六個共享評估數據集上評估,其表現優于Flamingo-80B,平均相對改善率為24.8%。
指令調優的消融研究
為了研究指令感知的視覺特征提取和數據集平衡策略的影響,研究人員通過在指令微調過程中分別移除它們來進行消融研究。
在所有的數據集中,視覺特征中缺乏指令感知會使性能明顯下降。在涉及空間視覺推理(如ScienceQA)或時間視覺推理(如iVQA)的數據集中,這種性能下降更為嚴重。
在這些數據集中,給Q-Former輸入指令可,以引導它更多地關注信息量更大的圖像嵌入。
關于數據平衡策略,移除它會導致不穩定的訓練模式,因為不同的數據集在明顯不同的訓練步驟中達到最佳性能。因此,這種不穩定性損害了整體性能。
定性評估
此外,研究人員進一步使用更加多樣化的圖像和說明對Instruct-BLIP進行了定性研究。
比如使用GPT-4技術報告中的一張圖。「這張圖有什么不對勁的地方?」
從給出的回答中看出, InstructBLIP比GPT-4更全面,比LLaVA更視覺化,比MiniGPT-4更有邏輯性。
對于「蒙娜麗莎」這幅畫是誰畫的問題,InstructBLIP回答非常簡短。
在這里,研究人員認為長回應不總是可取的。Instruct-BLIP 可以通過自適應調整響應長度直接解決用戶的意圖。
而其他模型傾向于生成較長的段落,以及較不相關的句子。
Instructlip能夠取得這些優勢,是使用多樣化的指令調優數據和有效的架構設計的結果。
另外,通過研究發現,指令調整是提高模型零樣本泛化能力的關鍵。
基于BLIP-2 FlanT5XL的指令調優和多任務訓練的比較
此外,研究人員進一步對InstructBLIP模型進行微調,研究其在學習特定數據集上的表現。
與大多數以前的方法(如Flamingo,BLIP-2)相比,InstructBLIP在指令微調期間保持相同的圖像分辨率(224×224),并在微調期間保持視覺編碼器的凍結狀態。
這大大減少了可訓練參數的數量,從1.2B到188M,從而大大提高了微調效率。
作者介紹
Wenliang Dai
Wenliang Dai (戴文亮)是香港科技大學的博士研究生,導師是Pascale Fung教授。在此之前,他曾獲得倫敦大學學院碩士學位,諾丁漢大學計算機學士學位。
Junnan Li
Salesforce亞洲研究院科學家,香港大學電子工程學學士,新加坡國立大學計算機博士,主要研究方向計算機視覺和深度學習、非監督式學習,弱監督學習,遷移學習和社交場景理解。
其他SOTA
網友表示,近來提出類似InstructBLIP的多模態模型還有,MiniGPT-4,以及LLaVA。
MiniGPT-4也能夠看圖聊天,比如傳一張海鮮大餐照片上去,就能直接獲得菜譜。
對于,MiniGPT-4能夠做到這么好的效果,實現起來卻并不復雜。
把圖像編碼器與開源語言模型Vicuna整合起來,并且凍結了這兩者大部分參數,只需要訓練很少一部分。
另外,團隊讓MiniGPT-4與ChatGPT合作創建了3500個圖像文本的高質量數據集,也一并開源。
還有LLaVA,是用一個小的多模態指令數據集訓練的,但它在一些示例上展示了與多模態模型 GPT-4 非常相似的推理結果。