Encoder-free無(wú)編碼器多模態(tài)大模型EVEv2模型架構(gòu)、訓(xùn)練方法淺嘗 原創(chuàng)
基于視覺(jué)編碼器的MLLM的基本構(gòu)成:MLLM通常由預(yù)訓(xùn)練的模態(tài)編碼器、預(yù)訓(xùn)練的LLM和一個(gè)連接它們的模態(tài)接口三個(gè)模塊組成。模態(tài)編碼器(如:CLIP-ViT視覺(jué)編碼器、Whisper音頻編碼器等)將原始信息(如圖像或音頻)壓縮成更緊湊的表示。預(yù)訓(xùn)練的LLM則負(fù)責(zé)理解和推理處理過(guò)的信號(hào)。模態(tài)接口用于對(duì)齊不同的模態(tài),實(shí)現(xiàn)異構(gòu)模態(tài)表征空間的語(yǔ)義對(duì)齊。下面這張圖概括的比較好。
上述工作都是基于視覺(jué)編碼器的多模態(tài)大模型,下面來(lái)看一個(gè)Encoder-free VLMs(無(wú)視覺(jué)編碼器的多模態(tài)大模型)的思路,供參考。
模型架構(gòu)
視覺(jué)和文本編碼
極簡(jiǎn)的patch嵌入層:構(gòu)建了一個(gè)極簡(jiǎn)的patch嵌入層,從零開(kāi)始生成視覺(jué)嵌入,以消除預(yù)訓(xùn)練視覺(jué)編碼器的強(qiáng)歸納偏差。給定一個(gè)圖像輸入
,首先通過(guò)一個(gè)卷積層(Conv1)和高斯誤差線性單元(GELU)激活函數(shù)進(jìn)行處理,得到一個(gè)二維特征圖。然后,再通過(guò)另一個(gè)卷積層(Conv2)來(lái)進(jìn)一步處理特征圖,以靈活控制計(jì)算復(fù)雜度。公式如下:
其中,Conv1和Conv2分別表示兩個(gè)卷積層,具有不同的步幅和輸出維度。
patch嵌入層支持任意比例的圖像,最多可處理約2.5M像素(即2.5K個(gè)patch標(biāo)記)。使用Qwen2.5的文本標(biāo)記器將文本T編碼為標(biāo)記嵌入Xt ,其維度為3584。
多模態(tài)編碼:為了在視覺(jué)和文本之間建立有效的交互,提出了一個(gè)分而治之的設(shè)計(jì),通過(guò)引入模態(tài)感知組件來(lái)顯式解耦關(guān)鍵模塊。包括獨(dú)立的注意力矩陣(查詢、鍵和值)、歸一化層和前饋模塊,每個(gè)都有不同的參數(shù),以適應(yīng)不同模態(tài)的需求。
分而治設(shè)計(jì)
通過(guò)分而治之的架構(gòu)設(shè)計(jì),EVEv2.0能夠有效地減少模態(tài)間的干擾,提高模型的訓(xùn)練效率和性能。
使用多頭自注意力(Multi-Head Self-Attention, ATTN)來(lái)跨所有模態(tài)進(jìn)行建模,以在統(tǒng)一特征空間中模擬跨模態(tài)關(guān)系。公式如下:
其中
,模態(tài)特定的查詢、鍵和值是從各自的注意力權(quán)重矩陣 中派生的。
通過(guò)完全解耦架構(gòu),最小化表示空間中的干擾。每個(gè)Transformer塊的總體操作定義如下:
這種設(shè)計(jì)允許在保持預(yù)訓(xùn)練知識(shí)的同時(shí),獨(dú)立地進(jìn)行單模態(tài)編碼和跨模態(tài)對(duì)應(yīng),從而實(shí)現(xiàn)靈活的建模模式,以理解和推理多模態(tài)信息。
視覺(jué)特征與語(yǔ)言輸入的融合方式
從代碼上看,融合時(shí),會(huì)遍歷輸入序列中的每個(gè)樣本,根據(jù) IMAGE_TOKEN_INDEX 確定圖像特征的插入位置。將語(yǔ)言輸入的嵌入和圖像特征按順序拼接在一起,形成新的輸入嵌入 new_input_embeds,同時(shí)更新標(biāo)簽 new_labels 和視覺(jué)標(biāo)記掩碼 visual_token_mask。
??https://github.com/baaivision/EVE/blob/main/EVEv2/eve/model/eve_arch.py??
訓(xùn)練方式
訓(xùn)練流程概述。PEL/WEL 表示圖像塊/單詞嵌入層。我們首先訓(xùn)練圖像塊嵌入層,以在不同模態(tài)間建立初始對(duì)齊。之后,我們僅更新大型語(yǔ)言模型(LLM)內(nèi)的視覺(jué)層,逐步增強(qiáng)視覺(jué)感知能力。值得注意的是,我們將圖像分辨率從 800×800 逐步提高到 1600×1600,并保持原始圖像的寬高比。最后,我們通過(guò)問(wèn)答(QA)和指令數(shù)據(jù)對(duì)整個(gè)模型進(jìn)行訓(xùn)練,以加強(qiáng)跨模態(tài)對(duì)應(yīng)和復(fù)雜理解能力。
訓(xùn)練過(guò)程分為四個(gè)連續(xù)階段。訓(xùn)練數(shù)據(jù)包括公開(kāi)可用的圖像數(shù)據(jù)集,以及表 1 中的各種問(wèn)答(QA)數(shù)據(jù)集和多模態(tài)對(duì)話數(shù)據(jù)。
第2.2階段和第3階段的訓(xùn)練數(shù)據(jù)集詳細(xì)信息,用于微調(diào)E VEv2.0,F(xiàn)L表示過(guò)濾后的訓(xùn)練數(shù)據(jù)集
階段1:DenseFusion++
- DenseFusion++:通過(guò)大規(guī)模的合成數(shù)據(jù)來(lái)增強(qiáng)模型的視覺(jué)感知能力。使用LLaVA-1.6(7B)為基礎(chǔ),結(jié)合多個(gè)視覺(jué)專家(如標(biāo)簽、檢測(cè)、OCR等)來(lái)學(xué)習(xí)GPT-4V的融合策略。通過(guò)這種方式,可以在不依賴高質(zhì)量標(biāo)注的情況下,擴(kuò)展合成數(shù)據(jù)的規(guī)模,從而提高訓(xùn)練效率。
階段2:LLM引導(dǎo)的對(duì)齊
凍結(jié)大型語(yǔ)言模型(LLM)的權(quán)重,僅訓(xùn)練patch嵌入層。使用公開(kāi)的網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行訓(xùn)練,以防止模型崩潰并加速后續(xù)階段的收斂。通過(guò)這種方式,確保模型在初始階段能夠快速對(duì)齊視覺(jué)和語(yǔ)言信息。
階段3:視覺(jué)感知學(xué)習(xí)和視覺(jué)-文本完全對(duì)齊
- 視覺(jué)感知學(xué)習(xí)(Vision Perception Learning):加載LLM的權(quán)重并初始化LLM內(nèi)部的視覺(jué)層。僅訓(xùn)練patch嵌入層和視覺(jué)層,而凍結(jié)Qwen2.5模型,以便在大規(guī)模合成數(shù)據(jù)上進(jìn)行視覺(jué)表示的學(xué)習(xí)。通過(guò)逐步增加數(shù)據(jù)量和圖像分辨率,促進(jìn)視覺(jué)感知能力的提升。
- 視覺(jué)-文本完全對(duì)齊(Vision-Text Fully-aligning):更新整個(gè)模型架構(gòu)以進(jìn)一步改善圖像-文本的關(guān)聯(lián)。使用多樣化的指令數(shù)據(jù)集進(jìn)行訓(xùn)練,以增強(qiáng)模型的視覺(jué)感知能力和視覺(jué)-語(yǔ)言對(duì)齊。通過(guò)這種方式,確保模型在處理復(fù)雜的多模態(tài)任務(wù)時(shí)能夠表現(xiàn)出色。
階段4:監(jiān)督微調(diào)
進(jìn)一步優(yōu)化模型以理解復(fù)雜的指令和對(duì)話模式。使用高質(zhì)量的指令數(shù)據(jù)集進(jìn)行訓(xùn)練,以提高模型在實(shí)際應(yīng)用中的表現(xiàn)。通過(guò)這種方式,確保模型能夠處理各種真實(shí)世界的應(yīng)用場(chǎng)景。
實(shí)驗(yàn)效果
參考文獻(xiàn):EVEv2: Improved Baselines for Encoder-Free Vision-Language Models,https://arxiv.org/pdf/2502.06788
公眾號(hào)大模型自然語(yǔ)言處理 作者:余俊暉
