VLE視覺-語言多模態(tài)預(yù)訓(xùn)練模型
VLE (Vision-Language Encoder) 是一種基于預(yù)訓(xùn)練文本和圖像編碼器的圖像-文本多模態(tài)理解模型,可應(yīng)用于如視覺問答、圖像-文本檢索等多模態(tài)判別任務(wù)。特別地,在對語言理解和推理能力有更強(qiáng)要求的視覺常識推理(VCR)任務(wù)中,VLE取得了公開模型中的最佳效果。
在線演示地址:https://huggingface.co/spaces/hfl/VQA_VLE_LLM
VLE模型采用雙流結(jié)構(gòu),與METER模型結(jié)構(gòu)類似,由兩個單模態(tài)編碼器(圖像編碼器和文本編碼器)和一個跨模態(tài)融合模塊構(gòu)成。VLE與METER的結(jié)構(gòu)上的差異在于:
- VLE使用DeBERTa-v3作為文本編碼器,其性能優(yōu)于METER中使用的RoBERTa-base。
- 在VLE-large中,跨模態(tài)融合模塊的隱層維度增加至1024,以增加模型的容量。
- 在精調(diào)階段,VLE引入了額外的token類型向量表示。
預(yù)訓(xùn)練
VLE使用圖文對數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練。在預(yù)訓(xùn)練階段,VLE采用了四個預(yù)訓(xùn)練任務(wù):
- MLM (Masked Language Modeling):掩碼預(yù)測任務(wù)。給定圖文對,隨機(jī)遮掩文本中的部分單詞,訓(xùn)練模型還原遮掩的文本。
- ITM (Image-Text Matching):圖文匹配預(yù)測任務(wù)。給定圖文對,訓(xùn)練模型判斷圖像和文本是否匹配。
- MPC (Masked Patch-box Classification):遮掩Patch分類任務(wù),給定圖文對,并遮掩掉圖片中包含具體對象的patch,訓(xùn)練模型預(yù)測被遮掩的對象種類。
- PBC (Patch-box classification):Patch分類任務(wù)。給定圖文對,預(yù)測圖片中的哪些patch與文本描述相關(guān)。
VLE在14M的英文圖文對數(shù)據(jù)上進(jìn)行了25000步的預(yù)訓(xùn)練,batch大小為2048。下圖展示了VLE的模型結(jié)構(gòu)和部分預(yù)訓(xùn)練任務(wù)(MLM、ITM和MPC)。
下游任務(wù)適配
視覺問答 (VQA)
- 遵循標(biāo)準(zhǔn)做法,使用VQA的訓(xùn)練集(training set)和驗(yàn)證集(validation set)訓(xùn)練模型,在test-dev集上進(jìn)行驗(yàn)證。采用模型的融合層的pooler的輸出進(jìn)行分類任務(wù)的訓(xùn)練。
視覺常識推理 (VCR)
- 將VCR格式化為一個類似于RACE的選擇題任務(wù),并對于每張圖像中的對象,將覆蓋該對象的patch的表示的平均池化值添加到融合模塊之前的圖像特征序列中。還為圖像和文本中的對象添加額外的token_type_ids,以注入不同模態(tài)之間的對齊信息,提升模型的對齊性能。
模型下載
本次發(fā)布了VLE-base和VLE-large兩個版本的預(yù)訓(xùn)練模型,模型權(quán)重為PyTorch格式,可以選擇手動從?? transformers模型庫下載權(quán)重和配置文件,或者在代碼中使用 from_pretrained(model_name) 以自動加載模型。詳細(xì)方法參加模型使用。
預(yù)訓(xùn)練權(quán)重
| 模型 | 文本編碼器 | 圖像編碼器 | 參數(shù)量* | MODEL_NAME | 鏈接 |
|---|---|---|---|---|---|
| VLE-base | DeBERTa-v3-base | CLIP-ViT-base-patch16 | 378M | hfl/vle-base | link |
| VLE-large | DeBERTa-v3-large | CLIP-ViT-large-patch14 | 930M | hfl/vle-large | link |
* : 僅計(jì)算encoder和emebddings的參數(shù)。特定任務(wù)的預(yù)測層的參數(shù)量未計(jì)入。
精調(diào)權(quán)重
| 模型 | 文本編碼器 | 圖像編碼器 | MODEL_NAME | 鏈接 |
|---|---|---|---|---|
| VLE-base-for-VQA | DeBERTa-v3-base | CLIP-ViT-base-patch16 | hfl/vle-base-for-vqa | link |
| VLE-large-for-VQA | DeBERTa-v3-large | CLIP-ViT-large-patch14 | hfl/vle-large-for-vqa | link |
| VLE-base-for-VCR-q2a | DeBERTa-v3-base | CLIP-ViT-base-patch16 | hfl/vle-base-for-vcr-q2a | link |
| VLE-large-for-VCR-q2a | DeBERTa-v3-large | CLIP-ViT-large-patch14 | hfl/vle-large-for-vcr-q2a | link |
| VLE-base-for-VCR-qa2r | DeBERTa-v3-base | CLIP-ViT-base-patch16 | hfl/vle-base-for-vcr-qa2r | link |
| VLE-large-for-VCR-qa2r | DeBERTa-v3-large | CLIP-ViT-large-patch14 | hfl/vle-large-for-vcr-qa2r | link |
模型對比
在下表中比較了VLE、METER以及其他多模態(tài)模型的參數(shù)量、預(yù)訓(xùn)練數(shù)據(jù)和下游任務(wù)效果。其中VQA展示的的是test-dev集上的效果;VCR展示的是dev集上的效果。
| 模型 | VQA | VCR (QA2R) | VCR (Q2A) | 參數(shù)量 | 預(yù)訓(xùn)練數(shù)據(jù)量* |
|---|---|---|---|---|---|
| CoCa | 82.3 | - | - | 2.1 B | 未知 |
| BeiT-3 | 84.2 | - | - | 1.9 B | 21M(I-T) + 14M(I) + 160G(T) |
| OFA | 82.0 | - | - | 930M | 20M(I-T) + 39M(I) + 140G(T) |
| BLIP | 78.3 | - | - | 385M | ~130M(I-T) |
| METER-base | 77.7 (76.8??) | 79.8§ | 77.6§ | 345M | 9M(I-T) |
| METER-Huge | 80.3 | - | - | 878M | 20M(I-T) |
| VLE-base | 77.6? | 83.7§ | 79.9§ | 378M | 15M(I-T) |
| VLE-large | 79.3? | 87.5§ | 84.3§ | 930M | 15M(I-T) |
? : 復(fù)現(xiàn)效果
? : 精調(diào)參數(shù): lr=7e-6, batch_size={256, 512}, num_epochs=10
§ : 精調(diào)參數(shù): lr=1e-5, batch_size=128, num_epochs=5
* : I-T: 圖文對. I: 圖像. T: 文本.
觀察上表可以發(fā)現(xiàn):
- VLE的預(yù)訓(xùn)練更高效:與大小相近的模型相比,VLE使用了更少的預(yù)訓(xùn)練數(shù)據(jù),并在視覺問答上取得了相當(dāng)甚至更好的效果。
- VLE有更強(qiáng)的推理能力: 特別地,在對推理能力要求更高的視覺常識推理(VCR)任務(wù)上,VLE顯著地超過了具有相似結(jié)構(gòu)的METER。
