天天看點

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

作者:第一賽馬網

近日,華為諾亞實驗室開源了一個億級中文跨模态資料集——「悟空」。

多模态大模型(如 OpenAI 的 CLIP ,谷歌的 ALIGN 等)在近年來掀起了新一輪大規模多模态學習的浪潮,這些模型在各種下遊任務展現了出色的開放域零樣本能力,是下一代通用人工智能的可能之路。

這些大模型的成功很大程度上依賴于預訓練資料集的支援,但是中文開源資料規模大的基本沒有,阻礙了中文多模态大模型的發展與應用。

針對這一空白,華為諾亞決定開源「悟空」!據說,這個新的資料集包含一億個來自網絡的中文圖文對,并經過了篩選和過濾。

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

圖注:悟空資料集文本詞雲

此外,由于訓練大模型非常昂貴和費時費力,為了友善中文社群未來的使用和發展,諾亞團隊還同時開源了一系列的多模态基礎大模型。

這些模型使用了不同的圖像編碼器(ResNet/ViT/SwinT)以及不同的預訓練方法(CLIP/FILIP/LIT)供大家靈活選擇。

他們進行了一系列不同任務的基準測試,實驗表明,悟空可以作為一個優秀的跨模态的中文預訓練資料集和基準學習方法,在各種下遊任務都有出色的表現。

更多資訊可以參考:

  • https://arxiv.org/abs/2202.06767
  • https://wukong-dataset.github.io/wukong-dataset/

以下是項目詳情:

1 資料集建構

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

圖注:目前業界知名的圖文預訓練資料集,悟空是首個大規模中文資料集

視覺-語言多模态大模型預訓練強烈依賴大規模的圖文資料集。

雖然目前開源的英文大規模圖文資料集較為豐富,如 CC12M、YFCC100M、LAION-400M,但是中文卻始終缺少這樣的大規模資料集可供自由下載下傳研究。悟空作為首個中文領域開源的大規模圖文資料集,填補了這樣的空缺,能夠加快中文跨模态預訓練大模型的研究工作。

Wukong100m 資料集包含了來自于網際網路的約1億圖文對。為了囊括盡量豐富的視覺概念,原始資料的采集圍繞20萬個基礎關鍵詞進行,針對每一個基礎關鍵詞,通過輸入搜尋引擎,用傳回的圖檔及對應的文本來建構資料集。此外,為了平衡關鍵詞對應樣本的數量,每一個基礎關鍵詞所采集的樣本最多保留1000個。

在此之後,資料集又經過一系列的過濾政策來得到最終的版本,具體的過濾政策分為基于圖檔的過濾和基于文本的過濾。其中,圖檔過濾的原則是過濾掉長或寬不超過200像素的以及長寬比大于3的圖檔,以此來保證圖檔能夠較為清晰地呈現視覺概念。

至于基于文本或者說圖檔描述的政策,首先,隻有至少包含一個中文字元的文本會被保留,比如“000.jpg”這種描述文本就會連同其對應的圖檔一起被過濾掉,因為它表示的意義非常弱。

其次,如果有太多的圖檔對應到了同一個描述,比如“檢視源網頁”、“展開全文”、“攝影部落”,那麼這類描述往往也是缺乏太多意義的,在建構資料集時也會被排除掉。

此外,為了保護隐私,資料集中涉及的人名均會被替換為特殊的符号“<人名>”,還有包含了敏感詞的資料也會被去除。

2 模型預訓練方法

2.1 模型結構

我們采用了主流的基于 Transformer 的雙塔結構的預訓練模型,來對圖像和文本分别進行編碼到同一個次元空間。

我們利用對比學習的損失函數來對齊文本和視覺模态,讓比對的圖文對在編碼後的表征上相似度更加接近,同時不比對的圖文表征相似度更低。是以通過訓練這樣的圖像編碼器和文本編碼器,我們可以将文本模态和視覺模态在同一個表征空間上進行有效的對齊。

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

圖注:悟空基礎大模型主要采用雙塔結構。

圖像編碼器:我們的預訓練采用了常用圖像編碼器結構:ResNet,ViT和Swin Transformer,其中ResNet結構我們實驗了Res50和Res101;ViT模型分别使用了ViT-B/16, ViT-B/32和ViT-L/14;SwinT模型使用了Swin-L模型。ViT模型的第一個token也就是[CLS] token的特征被用來描述整個圖像,ResNet和SwinT模型我們将所有patch token的特征均值用來描述整個圖像。

文本編碼器:我們采用Transformer結構,共有12層,12個注意力機制頭以及768的隐變量次元。對于中文的tokenizer,我們使用了中文BERT模型的WordPiece方法,中文詞表大小為21128,文本的第一個token也是使用了常見的[CLS],其經過文本編碼器編碼後會用來描述整個文本的特征。

線性映射層:圖像和文本在經過編碼器編碼後,我們使用可學習的線性映射層将圖像和文本的特征通過線性變化投影到多模态公共空間。

LiT-Tuning: 為了提高訓練效率和節省計算資源,我們在雙塔模型結構中加載了預先訓練好的圖像編碼器并且在對比學習中鎖住它的參數。我們隻需要訓練文本編碼器和兩個線性映射層。其中,圖像編碼器可以是在英文标簽的圖檔資料上預訓練得到的。

2.2 對比學習訓練

我們采用了in-batch對比學習方式:在每一次的訓練疊代中,每張圖檔的正例是和它對應的文本,同一個batch中的其他文本作為它的負例,反之亦然。那麼第k張圖檔和文本的對比學習損失可以分别表示成:

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

其中

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

代表第k張圖檔對第j個文本的相似度,

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

代表第j個文本對第k張圖檔的相似度,上述兩個學習損失的均值作為最終計算的損失函數。在具體計算相似度值的時候,我們采用了兩種方式:CLIP的全局相似度計算,和FILIP的Token-wise相似度計算。

顧名思義,全局相似度計算就是用圖像的全局表征和文本的全局表征的點積結果;而Token-wise相似度計算使用了更加細粒度的對比學習目标來捕捉圖檔與文字的token級别的細粒度比對和定位,我們先對每個圖檔patch計算出與它最相似的文本token并記錄下這個相似度,然後用所有patch的平均相似度作為最終圖檔對文本的相似度,類似的計算方式也适用于文本對圖檔的相似度。

3 實驗評估

3.1 Zero-shot零樣本圖檔分類、圖文檢索任務

我們分别在Zero-shot零樣本圖檔分類、和圖文檢索的下遊任務上進行驗證,本實驗中除了

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

-500M以外,其他的悟空模型變體都是在這個一億的資料庫上訓練的,在十七個不同資料集上的零樣本圖檔分類實驗結果如下圖:

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

同時,圖文檢索的任務也分為微調和Zero-shot零樣本兩個實驗設定,具體在圖像檢索文本和文字檢索圖像這兩個任務上,在五個不同的資料集上進行驗證,并且與業内的中文多模大模型進行了實驗結果的對比。經過微調的圖文檢索實驗結果如下:

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

另外,零樣本的圖文檢索實驗結果如下:

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

上述實驗結果表明了我們建構的中文多模資料集,以及開源的基線多模态預訓練模型的有效性。它表明了将在英文資料集上預訓練的圖像編碼器适配于中文多模态預訓練也能訓練出效果優異的模型。同時可以看到,在同樣的模型配置下,使用Token-wise相似度計算的實驗效果要好于使用全局相似度計算。在圖文檢索的任務上,我們的基線預訓練模型可以獲得近似SOTA模型甚至更高的結果。

3.2 細粒度對齊的可視化

我們認為,使用Token-wise相似度計算的中文多模模型也可以具備像FILIP一樣的細粒度對齊和定位能力。是以,我們利用ImageNet的圖檔和中文标簽進行了token-wise對齊的可視化實驗。

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

可以看到

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

都表現出了一定程度的細粒度對齊的能力。

以“豆娘”那張圖為例,在文本序列“[CLS] 豆 娘 [SEP]”中,該類别的标簽“豆娘”的位置索引是1和2,在圖像上我們能找到相應的豆娘對應的1号和2号的圖檔patch token,這部分patch token可以勾勒出該類别的物體。

由于

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

劃分patch的粒度(16*16)相比于

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型

(7*7)更加細碎,是以圖檔patch token在勾勒物體的形狀上更加細膩和完整。

實驗結果表明,Token-wise相似度計算适用于多種patch-based的圖像編碼器,也适用于LiT-tuning的訓練方法。這種細粒度的圖文對齊能力可以為圖像物體識别的工作提供更多的可能性。

4 總結

華為諾亞方舟實驗室開源了一個億級中文跨模态資料集——「悟空」,并且将開源一系列的多模态基礎大模型,進而進一步推動中文社群未來的使用和發展。

團隊還在零樣本圖檔分類、圖文檢索等一系列任務上進行資料集和模型的基準測試。實驗表明,悟空可以作為一個優秀的中文圖文多模預訓練資料集和基準學習方法,在各種下遊任務上均有出色的表現。

同時,悟空模型在token級别細粒度對齊上的能力具備一定使用潛力,服務于目标定位等更多的視覺任務。

目前悟空資料集在官網即可下載下傳,感興趣的小夥伴可以立刻使用起來!

華為諾亞開源首個大規模中文多模态資料「悟空」,一億圖文對,包含基礎大模型