CogVLM:智譜AI 新一代多模態大模型

自 5 月 18 日發佈並開源 VisualGLM-6B 以來,智譜AI&清華KEG潛心打磨,致力於開發更加強大的多模態大模型。
基於對視覺和語言信息之間融合的理解,我們提出了一種新的視覺語言基礎模型 CogVLM。CogVLM 可以在不犧牲任何 NLP 任務性能的情況下,實現視覺語言特徵的深度融合。
我們訓練的 CogVLM-17B 是目前多模態權威學術榜單上綜合成績第一的模型,在14個數據集上取得了state-of-the-art或者第二名的成績。
我們可以初步體驗 CogVLM 的效果: 


在上圖中,CogVLM 能夠準確識別出 4 個房子(3個完整可見,1個只有放大才能看到);作為對比,GPT-4V 僅能識別出其中的 3 個。
為促進多模態基礎模型領域的研究和工業應用,我們將 CogVLM-17B 開源出來,且提供了單台 3090 服務器即可運行的微調代碼,供大家研究和使用。
Github:https://github.com/THUDM/CogVLM
Huggingface:https://huggingface.co/THUDM/CogVLM
魔搭社區:https://www.modelscope.cn/models/ZhipuAI/CogVLM
Paper:https://github.com/THUDM/CogVLM/blob/main/assets/cogvlm-paper.pdf

一、模型架構
CogVLM 之所以能取得效果的提升,最核心的思想是「視覺優先」。
之前的多模態模型通常都是將圖像特徵直接對齊到文本特徵的輸入空間去,並且圖像特徵的編碼器通常規模較小,這種情況下圖像可以看成是文本的「附庸」,效果自然有限。
而CogVLM在多模態模型中將視覺理解放在更優先的位置,使用5B參數的視覺編碼器和6B參數的視覺專家模塊,總共11B參數建模圖像特徵,甚至多於文本的7B參數量。
CogVLM 的結構如下所示:

模型共包含四個基本組件:ViT 編碼器,MLP 適配器,預訓練大語言模型(GPT-style)和視覺專家模塊。
ViT編碼器:在 CogVLM-17B 中,我們採用預訓練的 EVA2-CLIP-E。
MLP 適配器:MLP 適配器是一個兩層的 MLP(SwiGLU),用於將 ViT 的輸出映射到與詞嵌入的文本特徵相同的空間。
預訓練大語言模型:CogVLM 的模型設計與任何現有的 GPT-style的預訓練大語言模型兼容。具體來說,CogVLM-17B 採用 Vicuna-7B-v1.5 進行進一步訓練;我們也選擇了 GLM 系列模型和 Llama 系列模型做了相應的訓練。
視覺專家模塊:我們在每層添加一個視覺專家模塊,以實現深度的視覺 - 語言特徵對齊。具體來說,每層視覺專家模塊由一個 QKV 矩陣和一個 MLP 組成。
模型在15億張圖文對上預訓練了4096個A100*days,並在構造的視覺定位(visual grounding)數據集上進行二階段預訓練。在對齊階段,CogVLM使用了各類公開的問答對和私有數據集進行監督微調,使得模型能回答各種不同類型的提問。

二、模型效果
為了更為嚴格地驗證CogVLM的性能和泛化能力,我們在一系列多模態基準上進行了定量評估。這些基準大致分為三類(共 14 個),包括圖像字幕(Image Captioning)、視覺問答(Visual QA)、視覺定位(Visual Grounding)。
在這些基準當中,CogVLM-17B 在 10 項基準中取得 SOTA性能,而在另外四項(包括 VQAv2, OKVQA, TextVQA, COCO captioning等)取得第二的成績。整體性能超越或匹配谷歌的PaLI-X 55B。

CogVLM 在 10 項評測中取得SOTA效果,4項評測僅次於SOTA。第二張圖為 TDIUC 基準評測效果。
此外,我們可以通過幾個簡單的示例,對比最近比較受關注的 MiniGPT-4、LLaVA-v1.5,可以看出,CogVLM-17B在圖像理解、模型幻覺以及文本識別方面都具有不錯的效果。
———— 示例 1 ————

GPT-4 vsion中的一個著名例子。目前主流的開源的模型包,括知名的MniGPT-4和最近發佈的 LLAVA 1.5,均不能理解該視覺場景的有趣之處,而CogVLM則精準地說出VGA接口充電不合常理。

———— 示例 2 ————

這張圖片內容較為複雜,是日常生活的場景。CogVLM精準地說出來所有的菜肴和餐具的種類,並且判斷出了鏡子(「許多動物甚至不能理解鏡子」)是反射而並非真實,且注意到了角落的人的腿。整個複雜的描述中未出現錯誤與幻覺。相對地,MiniGPT-4和LLaVA-1.5都出現了幻覺現象且不夠全面。

———— 示例 3 ————
帶文字的圖片。CogVLM忠實地描述了場景和相應的文字,而其他模型沒有輸出文字且有大量幻覺。

三、研究者說
問:CogVLM和VisualGLM之間有什麼關聯和不同?
答:CogVLM延續了VisualGLM的研究,但進行了較大尺度的改進。首先體現在多模態融合的技術上,CogVLM採用了最新的圖像和文本信息融合的方案,在我們文章中已經有相關的說明。其次,VisualGLM 是一個依賴於具體語言模型的多模態模型,而CogVLM則是一個更廣闊的系列,不僅有基於GLM的雙語模型,也有基於Llama2系列的英文模型。這次開源的 17B 模型就是基於Vicuna-7B 的英文模型。其實我們內部也訓練完成了更大的英文模型和基於GLM的雙語模型,後面可能也會開源出來。
問:VisualGLM-6B 模型中視覺相關的參數僅為 1.6B,而作為對比,CogVLM-17B 的視覺相關參數達到了 11 B(甚至超過了語言模型的 7B 參數)。為什麼要採用更大視覺參數的方式?
答:首先,通過大量的實驗,我們得出一個結論,即更大的參數量對視覺多模態模型很重要。
之前有觀點認為視覺不需要大模型。因為人們在一些傳統的數據集(例如ImageNet-1k等)上做的驗證,發現模型變大對性能的提升似乎並不是很大。但之所以出現這個現象,原因在於傳統數據集大部分的測試樣例太簡單了,小的模型足以應對這樣的問題。
然而人類世界中視覺模型需要認識的事物遠遠不止幾千、幾萬類,例如各種品牌商標、名人相貌、地點、動植物品類、商品品類等,小模型不可能記住;同時在這種「開放詞典」的設定下,由於可能類別增加,出錯的概率也會上升。我們做了一些實驗,發現對於這些真實場景中的問題,模型變大往往會帶來非常明顯的效果提升。
當然,還有一個原因是,之前的視覺大模型往往都是閉源的,大部分很難真正地體驗模型大小所帶來的性能區別。也是基於此,雖然 CogVLM在性能上已經超過一眾大公司的閉源模型(例如PaLI、PaLM-E、BEiT-3、GIT2等),但我們依然選擇像 VisualGLM一樣,把它開源出來。我們希望能通過開源來進一步地促進多模態模型在研究和工業應用方面的發展。
問:我們在使用圖文理解模型的時候,模型經常會給出一些圖片中並沒有包含的信息。請問該如何減少模型的這種幻覺呢?
答:模型有幻覺,根源還是在於模型能力不足。
之前的多模態模型,無論是MiniGPT-4、VisualGLM-6B還是LLaVA,經常會在描述時說一些明顯不存在於圖像中的物體或者錯誤的顏色。本質還是模型無法識別某些特別的視覺表示,從而遵循先驗輸出在該場景中的常見物體。
在這方面,我們通過特定的微調,對不確定的物體,模型會輸出「不清楚」,以此來減少幻覺現象,從而提高用戶體驗。當然這並不能徹底消除幻覺,但可以大大降低幻覺出現的頻次。另外一個有效的解決幻覺的方法,就是用更大的參數,以及更多的訓練量。經過這兩種方案,CogVLM 的幻覺已經降到一個比較低的水平。
問:從CogView、CogVideo到VisualGLM、RDM、CogVLM等,你的工作一直推動圖片理解、視頻理解,圖片生成,視頻生成。你為什麼要堅持做多模態的基座模型呢?
答:無論是現實還是虛擬的界面的感知、交互,主要以視覺等為媒介。現在的大語言模型雖然有智能的湧現,但是仍然被關在「籠子」里,它與這個世界是割裂的。一個完整的智能agent,必然是多模態的理解。多模態理解是智能發展和應用的必由之路。也正是基於同樣的理解,智譜AI,希望能夠在這個方向上趟出一條路來。
雷峰網
分享到Facebook
技術平台: Nasthon Systems