多模態大語言模型展現了強大的圖像理解和推理能力。但要讓它們基于當前觀測來對未來事件進行預測推理仍然非常困難。
即便是當前最強大的 GPT-4V(如下圖所示),也無法很好地解決這一問題。
△ GPT-4V 的錯誤案例
現在,華科大和上科大團隊提出了一個賦予多模態大語言模型前瞻性思維的學習范式,并基于這一范式構建了多模態大語言模型 Merlin(梅林)。
Merlin(梅林)是亞瑟王傳說中的一個傳奇人物,以其強大的魔法和智慧而聞名于亞瑟王傳說。傳說中梅林擁有預見未來的能力,并對命運有著深刻的理解。
來看看它具體是如何做的?
注:人類可以根據當前觀測狀態來推理出即將或者接下來一段時間可能會發生的事件,我們將這一能力稱為前瞻性思維。
一個簡單的例子:
當你在電視上觀看 NBA 球賽時,你可以根據場上不同球員的狀態來判斷接下來可能會出現的場景。
比如當一名進攻球員在持球突破防守人之后,我們有理由判斷這名球員即將沖到籃下進行上籃或者灌籃。
再比如當持球人在三分線停下并面向籃筐時,我們則有理由預測這名球員即將進行三分射籃(當然也有可能是假動作為了晃開防守人進行突破)。
Merlin 大模型就可以進行此類預測。
方法介紹
為了探究如何賦予激發多模態大語言模型的前瞻性思維。
我們首先深入分析了人類是如何進行未來事件的預測的。
我們將人類進行未來事件的推理預測視為一個兩階段的系統。
首先一階段我們會對當前場景進行觀測,觀測過程當中重點捕捉相關主體的動態線索,第二階段我們的大腦會根據這個獲取的動態線索來分析主體的行為模式(比如奔行走或者奔跑等)及行為意圖,進而推理出即將可能發生的事件。
對標多模態大語言模型,我們認為第二階段是可以較好地完成的,這得益于大語言模型強大的邏輯推理能力。
所以問題出在了第一階段,也就是當前的多模態大語言模型難以成功捕獲相關主體的動態信息,進而限制了其對于未來事件推理的能力。
得到這一結論之后,接下來我們要做就是探究如何讓多模態大語言模型學會從當前觀測中捕捉相關主體的動態線索信息。
為了實現這一目標,一個直接的方案就是讓多模態大語言模型學習預測下一幀的全部信息(也就是以重建下一幀為優化目標)。
不過這么做一方面學習難度較大,另一方面圖像或者視頻序列存在大量的冗余視覺信息,這并不利于模型學會捕獲對應主體的動態信息。
基于上述分析,本文提出了一個以“軌跡”這一結構化表示作為優化目標來建立過去與未來之間的動態關聯。我們認為以軌跡作為優化目標有以下幾點好處:
(1)軌跡作為一種高度結構化的表征具有較強的信息凝練性,能夠幫助模型有效地提取出主體在連續動作中的關鍵動態信息,從而減少了對冗余視覺信息的學習需求,計算成本更低。
(2)軌跡可以很自然地將過去和未來關聯在一起,通過學習預測主體的軌跡,多模態大語言模型必須學會精確地關注對應的主體在不同幀中的對應位置,可以極大地增強模型多圖多身份 (Id) 的對齊能力。
基于這些優點,我們設計了一個新型的學習框架,它專注于從多模態輸入(如圖像、視頻和文本)中提取和理解主體的運動軌跡并進行預測。此框架具體如下:
受到當前主流 LLM 學習范式的啟發,我們也構建了一個兩階段的學習范式,分別為前瞻思維預訓練(Foresight Pre-TrAIning, FPT)以及前瞻思維指令微調(Foresight Instruction-Tuning, FIT)。
在 FPT 中,我們首先會輸入包含數幀圖片的視覺上下文 tokens 給模型,然后我們會給予相關主體的第一幀的初始觀測(初始位置,表觀描述或者是動作描述),接著我們要求模型需要根據初始觀測來預測出對應主體的整條軌跡。
通過學習預測整條軌跡,模型必須學會正確關注多圖中的對應主體并捕捉其動態信息。
而在 FIT 中,則會加入一些相關的 user prompt 來進行關于相關主體的對話。
值得注意的是,為了在這一階段激發模型的前瞻性思維,我們也設計了一種以“軌跡”為核心的指令交互形式,我們將其稱之為軌跡思維鏈技術(Trajectory Chain-of-Thought,T-CoT)。
具體來說,當和模型進行對話時,我們會要求模型將提及的相關主體的軌跡一并輸出(如上圖所示)。
通過輸出整條軌跡,強制要求模型關注多圖中的對應主體,為后續的未來事件推理提供足夠的動態信息。更多方法細節,請閱讀論文。
數據構造
設計好了我們的學習范式之后,接下來更重要的是構建合適的數據來讓模型進行學習,我們基于現在市面上開源的數據精心構建了一整套多任務學習數據,數據分布具體如下:
主要包括 Caption,Referring,Detection,Tracking,Reasoning 以及 Dialogue 數據 * 表示數據只用于指令微調階段(FIT)。
這里梅林首次使用了由 tracking 數據構造的 FPT 數據來賦予模型軌跡感知及預測能力。
另一方面,我們也提出了精確任務及輸出形式提示(Precise Definition of Task Prompt and Answer Format)技術:
通過告訴大模型具體的任務以及輸出形式來避免多任務學習之間的沖突以及對通用多模態能力的損害。
我們后續的實驗也表明采用這一技術可以讓大模型兼顧學習多任務專有能力以及通用多模態能力。
能力展示
結合上述兩個學習過程以及構建的高質量數據,我們搭建了一個全新的通用多模態大語言模型,梅林(Merlin)。
Merlin 可以支持單圖或多幀圖像序列的輸入,可以完成包括檢測,跟蹤,REC,REG 等一系列任務。
同時得益于我們提出的 FPT 以及 FIT,Merlin 展現了強大基于軌跡的未來推理能力,這里我們挑一些 cases 來展示 Merlin 的能力,更多的測試結果請閱讀我們的論文以及后續開放的 demo。
實驗分析
為了全面評測 Merlin 的各方面能力,我們設計了一系列性能比較試驗以及性質探究實驗,這里我們著重挑選幾個有啟發性的實驗來進行分享,更多實驗細節,請閱讀我們的論文。
1、未來推理(Future Reasoning)評測
由于當前領域內并沒有成熟的可以對多模態大語言模型進行評測的 benchmark,所以本工作基于 MMBench 搭建了一套新的 Future Reasoning Benchmark。
在這一 benchmark 上,Merlin 顯著超越了現有的主流多模態大模型,展現了強大的未來推理能力。
2、軌跡關聯及預測評測
由于 Merlin 將基于初始觀測進行相關主體軌跡預測作為預訓練中的一項核心學習目標,為了更全面的評測這一學習情況,我們重點選擇了 tracking 這一下游任務來進行評測。
這是由于軌跡關聯是 tracking 任務中的一個核心子任務,tracking 的評測指標可以一定程度上反應大模型的多圖多 id 的對齊能力。
從結果可以看到 Merlin 作為一個通用多模態大語言模型,在 tarcking 任務上甚至超越了一些專家模型,同時值得注意的是這也是多模態大語言模型首次可以執行 tracking 相關的任務。
3、幻覺評測
幻覺問題是大模型領域的一個重要研究課題,由于多模態大語言模型引入了視覺模態,由主體描述和對應的視覺信息無法準確對齊而導致的 bias 也進一步帶來了更加嚴重的幻覺。
本文中我們在 POPE 上對 Merlin 進行了幻覺評測來評估模型的圖文之間的對齊能力。如下表所示:
可以看到,Merlin 展現了強大的抗幻覺能力,顯著領先當前的主流多模態大語言模型,這證明了我們提出的前瞻性思維訓練范式可以增強模型的“識圖”能力,讓模型減少對圖片內容的誤識別以及圖文之間的不一致問題。
4、多模態綜合性能評測
Merlin 同樣在當前的主流多模態大語言模型綜合能力(包括 MMBench 以及 MMVet)以及視覺問答能力(包括 GQA 以及 VisWiz)評測 Benchmark 上進行了評測。
評測結果表明 Merlin 都取得了非常有競爭力的結果,展現了 Merlin 強大的通用綜合能力。
5、可視化分析
為了更直觀的展現 Merlin 對于動態信息線索的捕捉情況,本文也進行了一個有趣的可視化實驗,對于一個具體的對話問答,我們將模型輸出的軌跡坐標的 word embedding 與多幀圖片的視覺 tokens 之間的注意力圖進行了可視化,如下圖所示:
我們可以看到,模型輸出的估計坐標的 word embedding 可以準確的關注到對應幀中的對應目標主體。
這個可視化結果也進一步證明了“軌跡”是一個非常好的中間表示來幫助多模態大語言模型建立起語言描述和多幀圖像對應主體之間的動態關聯。
這也從另一個角度解釋了為什么 Merlin 具有強大的多模態綜合能力以及抗幻覺能力。
思考和總結
Merlin 這一工作向我們展示了“軌跡”這一結構化表示在幫助多模態大語言模型具備前瞻性思維中的重要作用。
從這一點出發我們可以進一步思考回歸框(bounding box)以及軌跡(trajectory)究竟在多模態大語言模型的學習中究竟起到了什么樣的作用 ——
是作為一種中間形式還是可以作為一種單獨的學習優化目標?
另一方面現有的坐標編碼是否合理,有沒有什么更加適配自然語言的表示形式呢?
我想這些目前都還沒有標準答案,需要各位研究者們進一步深入地探索。最后希望 Merlin 這個工作能給多模態大模型社區帶來一些新的思考和認知,也歡迎大家持續關注我們的工作,多多交流。
論文:
- https://arxiv.org/pdf/2312.00589.pdf