阿里mPLUG-Owl新升級(jí),魚(yú)與熊掌兼得,模態(tài)協(xié)同實(shí)現(xiàn)MLLM新SOTA
OpenAI GPT-4V 和 Google Gemini 都展現(xiàn)了非常強(qiáng)的多模態(tài)理解能力,推動(dòng)了多模態(tài)大模型(MLLM)快速發(fā)展,MLLM 成為了現(xiàn)在業(yè)界最熱的研究方向。
MLLM 在多種視覺(jué)-語(yǔ)言開(kāi)放任務(wù)中取得了出色的指令跟隨能力。盡管以往多模態(tài)學(xué)習(xí)的研究表明不同模態(tài)之間能夠相互協(xié)同和促進(jìn),但是現(xiàn)有的 MLLM 的研究主要關(guān)注提升多模態(tài)任務(wù)的能力,如何平衡模態(tài)協(xié)作的收益與模態(tài)干擾的影響仍然是一個(gè)亟待解決的重要問(wèn)題。
- 論文地址:https://arxiv.org/pdf/2311.04257.pdf
- 代碼地址:https://github.com/X-PLUG/mPLUG-Owl/tree/main/mPLUG-Owl2
- ModelScope 體驗(yàn)地址: https://modelscope.cn/studios/damo/mPLUG-Owl2/summary
- HuggingFace 體驗(yàn)地址:https://huggingface.co/spaces/MAGAer13/mPLUG-Owl2
針對(duì)這一問(wèn)題,阿里多模態(tài)大模型 mPLUG-Owl 迎來(lái)大升級(jí),通過(guò)模態(tài)協(xié)同同時(shí)提升純文本和多模態(tài)性能,超過(guò) LLaVA1.5,MiniGPT4,Qwen-VL 等模型,取得多種任務(wù) SOTA。具體的,mPLUG-Owl2 利用共享的功能模塊來(lái)促進(jìn)不同模態(tài)之間的協(xié)作,并引入模態(tài)自適應(yīng)模塊來(lái)保留各個(gè)模態(tài)自身的特征。通過(guò)簡(jiǎn)潔有效的設(shè)計(jì),mPLUG-Owl2 在包括純文本和多模態(tài)在內(nèi)的多種任務(wù)上取得了 SOTA 性能,對(duì)模態(tài)協(xié)作現(xiàn)象的研究也有助于啟發(fā)未來(lái)多模態(tài)大模型的發(fā)展。
圖 1 與現(xiàn)有 MLLM 模型性能對(duì)比
方法介紹
mPLUG-Owl2 模型主要由三部分組成:
- Visual Encoder:以 ViT-L/14 作為視覺(jué)編碼器,將輸入的分辨率為 H x W 的圖像,轉(zhuǎn)換為 H/14 x W/14 的視覺(jué) tokens 序列,輸入到 Visual Abstractor 中。
- Visual Abstractor:利用一組可學(xué)習(xí)的 query,提取高層次的語(yǔ)義特征,同時(shí)降低輸入語(yǔ)言模型的視覺(jué)序列的長(zhǎng)度。
- 語(yǔ)言模型:使用了 LLaMA-2-7B 作為文本解碼器,并設(shè)計(jì)了如圖 3 所示的模態(tài)自適應(yīng)模塊。
圖 2 mPLUG-Owl2 模型結(jié)構(gòu)
為了對(duì)齊視覺(jué)和語(yǔ)言模態(tài),現(xiàn)有的工作通常是將視覺(jué)特征映射到文本的語(yǔ)義空間中,然而這樣的做法忽視了視覺(jué)和文本信息各自的特性,可能由于語(yǔ)義粒度的不匹配影響模型的性能。為了解決這一問(wèn)題,本文提出模態(tài)自適應(yīng)模塊 (Modality-adaptive Module, MAM),來(lái)將視覺(jué)和文本特征映射到共享的語(yǔ)義空間,同時(shí)解耦視覺(jué) - 語(yǔ)言表征以保留模態(tài)各自的獨(dú)特屬性。
圖 3 Modality-adaptive 模塊示意圖
如圖 3 所示,與傳統(tǒng) Transformer 相比,模態(tài)自適應(yīng)模塊的主要設(shè)計(jì)在于:
- 在模塊的輸入、輸出階段,分別對(duì)視覺(jué)和語(yǔ)言模態(tài)進(jìn)行 LayerNorm 操作,以適應(yīng)兩種模態(tài)各自的特征分布。
- 在自注意力操作中,對(duì)視覺(jué)和語(yǔ)言模態(tài)采用分離的 key 和 value 投影矩陣,但采用共享的 query 投影矩陣,通過(guò)這樣解耦 key 和 value 投影矩陣,能夠在語(yǔ)義粒度不匹配的情況下,避免兩種模態(tài)之間的干擾。
- 兩種模態(tài)共享相同的 FFN,從而促進(jìn)模態(tài)間的協(xié)作。
圖 4 mPLUG-Owl2 訓(xùn)練策略
如圖 4 所示,mPLUG-Owl2 的訓(xùn)練包含預(yù)訓(xùn)練和指令微調(diào)兩個(gè)階段。預(yù)訓(xùn)練階段主要是為了實(shí)現(xiàn)視覺(jué)編碼器和語(yǔ)言模型的對(duì)齊,在這一階段,Visual Encoder、Visual Abstractor 都是可訓(xùn)練的,語(yǔ)言模型中則只對(duì) Modality Adaptive Module 新增的視覺(jué)相關(guān)的模型權(quán)重進(jìn)行更新。在指令微調(diào)階段,結(jié)合文本和多模態(tài)指令數(shù)據(jù)(如圖 5 所示)對(duì)模型的全部參數(shù)進(jìn)行微調(diào),以提升模型的指令跟隨能力。
圖 5 mPLUG-Owl2 使用的指令微調(diào)數(shù)據(jù)
實(shí)驗(yàn)及結(jié)果
圖 6 圖像描述和 VQA 任務(wù)性能
圖 7 MLLM 基準(zhǔn)測(cè)試性能
如圖 6、圖 7 所示,無(wú)論是傳統(tǒng)的圖像描述、VQA 等視覺(jué) - 語(yǔ)言任務(wù),還是 MMBench、Q-Bench 等面向多模態(tài)大模型的基準(zhǔn)數(shù)據(jù)集上,mPLUG-Owl2 都取得了優(yōu)于現(xiàn)有工作的性能。
圖 8 純文本基準(zhǔn)測(cè)試性能
圖 9 模態(tài)自適應(yīng)模塊對(duì)純文本任務(wù)性能的影響
此外,為了評(píng)估模態(tài)協(xié)同對(duì)純文本任務(wù)的影響,作者還測(cè)試了 mPLUG-Owl2 在自然語(yǔ)言理解和生成方面的表現(xiàn)。如圖 8 所示,與其他指令微調(diào)的 LLM 相比,mPLUG-Owl2 取得了更好的性能。圖 9 展示的純文本任務(wù)上的性能可以看出,由于模態(tài)自適應(yīng)模塊促進(jìn)了模態(tài)協(xié)作,模型的考試和知識(shí)能力都得到了顯著提高。作者分析,這是由于多模態(tài)協(xié)作使得模型能夠利用視覺(jué)信息來(lái)理解語(yǔ)言難以描述的概念,并通過(guò)圖像中豐富的信息增強(qiáng)模型的推理能力,并間接強(qiáng)化文本的推理能力。
mPLUG-Owl2 展示了很強(qiáng)的多模態(tài)理解能力,有效的緩解多模態(tài)幻覺(jué)。相關(guān)多模態(tài)技術(shù)已應(yīng)用于通義星塵、通義智文等核心通義產(chǎn)品,并已在 ModelScope,HuggingFace 開(kāi)放 Demo。