僅靠 19 億參數,只用公共數據集,在 12 個任務上狂刷 SOTA。
微軟這篇多模態論文剛掛上 arXiv 不久,就在業內引發強烈關注。
有網友將之總結成" 在所有事情上打敗了所有人 "。

怎么回事?先來看這張雷達圖:
橙色內圈,是各大任務之前的 SOTA。
紫色外圈,就是這篇 BEiT-3 的結果,不僅超越,而且是全面超越。

具體一圈看下來,BEiT-3 這個多模態模型不光刷遍多模態任務,連右上角的純視覺三大經典任務也都刷到 SOTA,簡直是六邊形戰士。
知乎上一位同樣做多模態研究的選手直呼" 殺死了比賽 "。

其實說起來,微軟 BEiT 這個系列最開始做的是視覺自監督學習。
其核心思想與何愷明的 MAE一致,甚至比 MAE 提出的還早一段時間,不過當時性能惜敗于 MAE。
如今在多模態方向上繞了一圈后,沒想到能以方式橫掃視覺與多模態榜單。
取得這種成果的,一般來說還不得是上百億上千億參數的大大大模型?
但 BEiT-3 總參數不過19 億,甚至訓練數據上也沒什么秘密武器,全都用的公開資源。

那么,這一切是如何做到的?
把圖像當成一種外語
最關鍵的一點,論文標題和摘要就已經指明:
把圖像當成一種外語。
這樣一來,文本數據是English,圖像數據作者開了個小玩笑命名為Imglish,那么圖文對數據就相當于平行語料。
那么多模態也好純視覺也罷,都能用同一個預訓練任務來處理。
在這個基礎上,論文中把所做突破總結成一個詞,大一統(Big Convergence)。

首先,大一統表現在網絡架構上。
通過統一多模態表示方式,對于不同任務可以共享一部分參數,采用 Multiway(多路)Transformer 架構作為骨干網絡。
具體來說就是共享多頭自注意力層,輸出時再根據具體任務選擇專用的 FFN 層。

第二,大一統又表現在預訓練方法上。
既然所有數據都能當成文本數據,那就可以全都按照 BERT 的方法,用掩碼 - 預測來做預訓練,稱為 Masked Data Modeling。
與基于對比學習的訓練方法相比,新方法可以選用更小的 Batch Size,又能額外降低顯存消耗。

第三,大一統還表現在規模效應上。
統一的預訓練任務讓模型參數擴大到 10 億數量級后,對下游任務的泛化能力增強。

另外不同模態的數據集在此方法下也產生規模效應。
團隊特意只用公開數據的條件下增加訓練數據集規模,結果超越了一些使用高質量私有數據的模型。
BEiT-v 的訓練數據來自 5 個公開數據集中的約500 萬張圖像和 2100 萬圖像 - 文本對;單模態數據則使用來自 ImageNet-21K 的1400 萬張圖像和 160GB 的文本語料庫。
除此之外,在規模上也遠小于其它的多模態預訓練模型,例如 ALIGN(18 億圖文對)、CLIP(4 億圖文對)、SimVLM(18 億圖文對,800GB 文本)等。
所有這些優勢疊加在一起,BEiT-3 就以更少的訓練數據、更小的模型參數取得更好的性能。
在純視覺任務(圖像分類、目標檢測、語義分割)以及多模態任務(視覺推理、視覺問答、圖像描述、微調的跨模態檢索、零樣本跨模態檢索)總共 8 類任務下超越各自之前的 SOTA。

BEiT-3 這篇論文很簡短,不算參考文獻只有 9 頁。
但熟悉微軟 BEiT 系列歷史的話就會知道,這項研究取得成功的意義不僅在于其自身,也不僅是多模態學習的一項突破——
還給視覺大規模預訓練這個興起不久的領域,帶來新的可能性。
BEiT 與 MAE,視覺自監督的路線之爭
關于微軟的 BEiT 系列,全稱為Bidirectional Encoder representation from Image Transformers,比大家熟悉的語言模型BERT多了個 "Image"。
其主要思想就是借鑒 BERT,把掩碼建模方法用到視覺任務上,做視覺的自監督學習,解決高質量標注數據難以獲得的難題。
初代 BEiT 論文于去年 6 月發表,比同類工作何愷明的 MAE 還要早一些,也是 MAE 論文中的主要比較對象之一。
初代 BEiT,惜敗 MAE

兩項研究都是用 " 先掩碼再預測 " 來做預訓練任務,最大的區別在于 BEiT 會把視覺 token 離散化、最后模型預測的是token,而 MAE 則是直接預測原始像素。

△初代 BEiT 的架構
在三大視覺任務上,MAE 比當時的 BEiT 略勝一籌。并且因方法更簡單直接,MAE 運行起來也要快上不少(3.5 倍)。
為了證明在 MAE 中 token 化這一步并無必要,何愷明團隊在論文中還特意做了消融試驗。
結果表明,兩種方法統計上并無顯著差異,對于 MAE 來說預測原始像素就足夠了。

不過 BEiT 團隊并沒有放棄離散化 token 這個方法,而是沿著這個思路繼續探索下去。
VL-BEiT,初探多模態
一年之后,團隊發表了多模態模型 VL-BEiT,可以算作是現在這篇 BEiT-3 的雛形。

VL-BEiT 已經用上了共享 Attenion 層、再對不同任務連接不同 FFN 層的架構。
這一思想其實來自同一團隊更早之前一篇論文VLMo,對每個模態設置一個專家層的方法稱為 MoME(Mixture-of-Modality-Experts)。

不過,VL-BEiT 在預訓練任務上還比較復雜,會對文本數據和圖像數據分別做掩碼建模,至于多模態圖文對數據也是分開處理的。

最后結果,VL-BEiT 在多模態任務和純視覺任務上表現都不錯,但還不像現在的 BEiT-3 這樣大殺四方。
不過別急,突破口很快就被找到。
BEiT v2,把 token 提升到語義級
BEiT-3 發表僅一周之前,微軟與國科大團隊合作發表了一篇 BEiT v2。
兩者命名方式有細微差別,因為 BEiT v2 確實代表是 BEiT 的升級版。
而 BEiT-3 的 3 論文中雖未明說,但說的大概不是 " 第三代 ",而是另有所指(稍后揭秘)。

說回到 BEiT v2,這篇論文重新專注于純視覺,在初代 BEiT 基礎上提出了新的語義級 tokenizer。
具體來說,BEiT v2 引入了矢量量化(Vector-Quantized)和知識蒸餾(Knowledge Distillation)來訓練 tokenizer。

同樣是做離散化 token,新方法能重建知識蒸餾中教師模型的語義特征,大大提高 token 中攜帶的語義信息,從而提高模型性能。
接下來,教師模型用誰就很關鍵了。
在對比了 FAIR 的DINO模型和 OpenAI 的CLIP模型之后,團隊發現還是 CLIP 更香。

最終結果上,BEiTv2 性能反超 MAE 和這段時間出現的其他方法,重回 SOTA。

BEiT-3,集大成者
了解了整個 BEiT 系列的發展歷程,最后再來看一下 BEiT-3。
論文共同一作董力,點出了模型命名中"3"的含義:

多模態統一的預訓練方式 + 共享 Attention 的多路 Transformer+ 擴大規模的大一統(Big Convergence)。
如此一來,BEiT-3 能在多模態任務和視覺任務中都取得 SOTA 也就不奇怪了。
這樣一篇論文,自然吸引了行業內很多目光。
魯汶大學一位教授認為,這代表微軟在 AI 科研方面趕上谷歌 /DeepMind、Meta 和 OpenAI," 重新坐上了牌桌 "。

隨著討論熱度升級,對論文更嚴格的審視目光也多了起來。
谷歌一位研究員指出,論文結果看起來簡潔又令人印象深刻,就是這雷達圖的坐標取值有點不太嚴謹。

知乎上也有網友提問,如果用了 CLIP 作為教師模型的話,那么來自 CLIP 高質量配對數據的貢獻有多少,直接改改 CLIP 就用又會如何?

作者團隊
最后再來介紹一下作者團隊,BEiT-3 相關研究論文的作者都來自微軟。

三位共同一作分別是 Wenhui Wang,Hangbo Bao(鮑航波)和 Li Dong(董力)。
其中,鮑航波和董力都是從初代 BEiT 就參與了研究,一直貫穿 VL-BEiT 和 BEiT v2 的發展,鮑航波更是 BEiT 和 VL-BEiT 論文的一作。另一位 Wenhui Wang 之前也曾參與過 VL-BEiT 的研究。
通訊作者是微軟亞洲研究院 NLP 小組的 Partner 研究經理 Furu Wei(韋福如)。

一起剪
ZAKER旗下免費視頻剪輯工具
智慧云
ZAKER旗下新媒體協同創作平臺
相關閱讀
最新評論
原文地址:http://www.myzaker.com/article/630a38ab8e9f09231f39141d