自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文看完多模態(tài):從視覺表征到多模態(tài)大模型

人工智能 新聞
本文梳理了2019年之后視覺表征和多模態(tài)表征的一些變化,主要涉及視覺表征和視覺預(yù)訓(xùn)練、多模態(tài)表征對齊(或融合)和多模態(tài)預(yù)訓(xùn)練、多模態(tài)大模型技術(shù)的相關(guān)工作。

本文經(jīng)自動駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。

轉(zhuǎn)眼2024,距離上次知乎寫作就快過去一年,上一次的計劃主題還是“開源大模型”(參見《ChatGPT的朋友們:大語言模型經(jīng)典論文一次讀到吐》),無奈這個方向變化太快,而且也不乏優(yōu)質(zhì)總結(jié)文章,也就一直沒有動筆。正好最近做圖文多模態(tài)大模型相關(guān)的工作,在查閱資料的過程中沒遇到比較完整的脈絡(luò)梳理文章,往往需要綜合參考;反觀這個方向的綜述型論文又過于追求“完美”,個人感覺詳略把控不盡人意。

因此,借此機會結(jié)合自己的學習過程,對多模態(tài)和多模態(tài)大模型做一個系統(tǒng)的梳理,嘗試以一個親歷者的視角談?wù)勥@部分技術(shù)的發(fā)展思路,希望能給讀者一些不一樣的收獲,如有偏頗,歡迎指正。

為了表述簡單,我們不嚴謹?shù)膶ⅰ皥D文多模態(tài)”表述為“多模態(tài)”(標題有些夸張),如果后面有機會可以討論更多模態(tài)的相關(guān)工作。此外,本文假設(shè)讀者已經(jīng)對視覺表征和多模態(tài)融合有一定入門背景,希望通過一篇文章回顧將過去幾年的經(jīng)典工作。

一、總覽

由于是講“圖文多模態(tài)”,還是要從“圖”和“文”的表征方法講起,然后講清楚圖文表征的融合方法。對于文本模態(tài)的表征發(fā)展,我們在《閑話NLP:文本表征的半世今生》一文中有過一輪的梳理,因此本文只要講兩件事情:

  • 視覺表征:分為兩個部分問題,一是如何合理建模視覺輸入特征,二是如何通過預(yù)訓(xùn)練手段進行充分學習表征,這兩點是基于視覺完成具體算法任務(wù)的基礎(chǔ);
  • 視覺與自然語言的對齊(Visul Language Alignment)或融合:目的是將視覺和自然語言建模到同一表征空間并進行融合,實現(xiàn)自然語言和視覺語義的互通,這點同樣離不開預(yù)訓(xùn)練這一過程。模態(tài)對齊是處理多模態(tài)問題的基礎(chǔ),也是現(xiàn)在流行的多模態(tài)大模型技術(shù)前提。

對于視覺表征,從發(fā)展上可以分為卷積神經(jīng)網(wǎng)絡(luò)(CNN)和Vision Transformer(VIT)兩大脈絡(luò),二者分別都有各自的表征、預(yù)訓(xùn)練以及多模態(tài)對齊的發(fā)展過程。而對于VIT線,另有多模態(tài)大模型如火如荼的發(fā)展,可謂日新月異。

因此,本文的行文思路也就非常簡單,如圖1所示。第一部分介紹以CNN為基礎(chǔ)的視覺表征和預(yù)訓(xùn)練手段,以及在此基礎(chǔ)上的多模態(tài)對齊的方法。由于預(yù)訓(xùn)練已經(jīng)成為AI技術(shù)取得效果的標配,多模態(tài)對齊部分的內(nèi)容也是以多模態(tài)預(yù)訓(xùn)練技術(shù)承載;第二部分從VIT技術(shù)出發(fā),分別介紹VIT視覺表征的預(yù)訓(xùn)練探索工作、多模態(tài)對齊的預(yù)訓(xùn)練工作以及近兩年火熱的研究方向多模態(tài)大模型。

圖片

由于多年間的優(yōu)秀工作太多,不勝枚舉,本文僅挑選筆者從業(yè)過程中印象較深,且有標志性特點的工作為代表。優(yōu)秀的工作不止于本文,不過還是期望通過有限的工作,將近幾年的圖文多模態(tài)相關(guān)技術(shù)串連起來,方便讀者按圖索驥進行更深入的學習。下面開始正式的內(nèi)容。

二、CNN:視覺理解的一代先驅(qū)

2.1 卷積視覺表征模型和預(yù)訓(xùn)練

對視覺信息的表征,簡單來說是將圖像信息轉(zhuǎn)化成深度學習輸入所需的特征向量或向量序列,如圖2。深度學習時代,卷積神經(jīng)網(wǎng)絡(luò)(CNN)憑借其局部區(qū)域連接、權(quán)重共享以及位移不變性等特點,天然的符合了圖像信息的建模歸納假設(shè),成為早期最適合視覺表征的模型。具體的,卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用視覺表征的模型很多,我們簡單從LeNet-5、AlexNet、VGG和ResNet等模型的演進一窺其在關(guān)鍵要素。

圖片

2.1.1 卷積視覺表征:從LeNet到ResNet

LeNet-5早期在數(shù)字識別中取得了成功的應(yīng)用,網(wǎng)絡(luò)結(jié)構(gòu)是 [CONV-POOL-CONV-POOL-FC-FC]。卷積層使用 55的卷積核,步長為1;池化層使用 22 的區(qū)域,步長為2;后面是全連接層;AlexNet相比LeNet-5做了更多層數(shù)的堆疊,網(wǎng)絡(luò)參數(shù)進行了相應(yīng)的調(diào)整,并在ImageNet大賽2012奪得冠軍;相應(yīng)VGG網(wǎng)絡(luò)使用更小的卷積核,同時相比AlexNet進一步提升了網(wǎng)絡(luò)層數(shù)。

隨著研究的深入,神經(jīng)網(wǎng)絡(luò)的層數(shù)也出現(xiàn)了爆發(fā)式地增長,由此也不可避免的帶來梯度消失和梯度爆炸的問題,使得模型訓(xùn)練的困難度也隨之提升。一種解決方法是將神經(jīng)網(wǎng)絡(luò)某些層跳過下一層神經(jīng)元的連接,隔層相連,弱化每層之間的強聯(lián)系。這種神經(jīng)網(wǎng)絡(luò)被稱為Residual Network(ResNet)殘差網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)的原理是將卷積層的堆疊,替換成跨層連接的模塊,如圖3所示。

圖片

有了合理的建模模型,可以使用具體任務(wù)的訓(xùn)練數(shù)據(jù)學習視覺表征,進而完成不同的任務(wù)(如分類、分割、目標檢測等)。而更加有效的方式通常是先用“海量”的數(shù)據(jù)讓模型學到通用的視覺表征,再進行下游具體任務(wù)數(shù)據(jù)的學習,也就是預(yù)訓(xùn)練+微調(diào)的范式。

2.1.2 卷積視覺預(yù)訓(xùn)練

在CNN視覺表征體系下,早期的視覺預(yù)訓(xùn)練有另一個叫法是遷移學習,在BERT的預(yù)訓(xùn)練+微調(diào)范式流行之前就已經(jīng)被廣泛應(yīng)用。遷移學習中,傳統(tǒng)CNN視覺模型在做具體任務(wù)訓(xùn)練之前,先在大量的圖像任務(wù)數(shù)據(jù)集上進行預(yù)先訓(xùn)練(如ImageNet分類任務(wù)數(shù)據(jù)集等)。然后使用預(yù)訓(xùn)練的CNN權(quán)重初始化Backbone,并增加一些任務(wù)定制網(wǎng)絡(luò)模塊,完成在下游任務(wù)上的微調(diào)(如Backbone+全連接層做分類任務(wù))。

卷積神經(jīng)網(wǎng)絡(luò)視覺表征和預(yù)訓(xùn)練的優(yōu)化升級工作還有很多,介紹相關(guān)內(nèi)容的資料也很多,篇幅原因我們對此不進行詳細展開和概述,而是把更多的筆墨放在近幾年更熱門的研究方向上。

2.2 早期多模態(tài)融合與預(yù)訓(xùn)練

接著是CNN體系下的多模態(tài)融合和預(yù)訓(xùn)練,視覺和自然語言的跨模態(tài)對齊和融合有兩種表現(xiàn)形式:一種是雙塔結(jié)構(gòu),多模態(tài)分別表征,通過對比學習機制實現(xiàn)視覺和文本在同一空間中的距離度量;另一種是視覺表征和文本表征通過交互型網(wǎng)絡(luò)結(jié)構(gòu)融合成多模態(tài)表征,進而完成下游任務(wù)應(yīng)用。由于前者可以看作后者的特例,我們用后一種表現(xiàn)形式為例,將二者統(tǒng)一,進而講述以CNN為基礎(chǔ)的早期多模態(tài)融合與預(yù)訓(xùn)練技術(shù)。

如圖4,展示了上述的多模態(tài)融合框架,包括視覺特征提取模塊、文本特征提取模塊和模態(tài)融合模塊。文本模塊是常見的Token Embedding方式;視覺表征方面,由于CNN已經(jīng)驗證了有效性,因此大多數(shù)的工作在都考慮使用CNN做視覺特征抽取,得到高級語義特征,然后將高級語義表征作為輸入,和文本Token Embedding序列一起輸入到下游融合模塊。不同工作的差異主要集中在視覺特征提取CNN Backbone以及Modality Interaction兩個模塊。

圖片

我們以2019年作為粗略分界點,在此之后BERT的訓(xùn)練范式開始流行,多模態(tài)方向上的研究熱點則是借鑒BERT的成功,使用Transformer網(wǎng)絡(luò)(特指Transformer Encoder)作為Modality Interaction模塊把視覺和自然語言進行特征融合,并通過大規(guī)模預(yù)訓(xùn)練來學習得到多模態(tài)表征;而在此之前的方案通常是簡單的多層全連接網(wǎng)絡(luò)實現(xiàn),我們不多贅述。

順著這個思路,確定了使用Transformer作為模型融合模塊這個大方向后,第二個問題是如何對視覺特征進行有效編碼,得到和文本一樣的Token Embedding序列作為模型輸入?這一問題的解法在CNN為主的時期有兩種主要方式,如圖5:

  • Region Feature Base:先通過基于CNN的目標檢測模型(Fast R-CNN等),識別圖像中的關(guān)鍵物體區(qū)域集合(ROI,Region Of Interest),并提取區(qū)域的表征向量,作為Transformer模型的視覺輸入Embedding序列。這么做的動機是,每個ROI區(qū)域,都有明確的語義表達(人、建筑、物品等),方便后續(xù)和文本特征的對齊。比較有代表性的工作如LXMERT、VL-BERT和UNITER等;
  • Grid Feature Base:區(qū)域特征方法雖然看上去合理,但是依賴前置的目標檢測模型,整體鏈路較重。因此也有工作探索,不經(jīng)過區(qū)域檢測,直接使用CNN網(wǎng)絡(luò)提取深層的像素特征作為交互模型輸入,同樣取得了一些成果。比較有代表性的工作如Pixel-Bert等。

圖片

下面我們分別介紹這一時期的經(jīng)典工作,了解其中基本思路和方法。

2.2.1 LXMERT

LXMERT是早期進行多模態(tài)特征融合的工作之一,如圖6,模型采用經(jīng)典的兩路深層表征輸入結(jié)構(gòu)。在視覺側(cè)關(guān)注單圖,圖像經(jīng)過目標檢測模型得到區(qū)域塊的特征序列,又經(jīng)過Transformer做進一步編碼區(qū)域塊之間的關(guān)系(Object-Relationship Encoder);文本側(cè)通過BERT結(jié)構(gòu)得到文本的特征序列(Language Encoder),最后兩者使用深層Transformer結(jié)構(gòu)做交叉Attention,最后進行多任務(wù)的預(yù)訓(xùn)練。LXMERT的預(yù)訓(xùn)練任務(wù)相比BERT較多,包括Masked圖像特征的預(yù)測、圖像Label的預(yù)測(貓、狗等)、VQA、圖文是否匹配以及純文本側(cè)的Masked語言模型(MLM)。

圖片

預(yù)訓(xùn)練模型經(jīng)過特定任務(wù)微調(diào)后,LXMERT在兩個視覺問答數(shù)據(jù)集(VQA和GQA)上達到了當時最先進的結(jié)果。作者還展示了LXMERT可以很好地泛化到一個具有挑戰(zhàn)性的視覺推理任務(wù)(NLVR2),并將之前的最佳結(jié)果提高了22%(從54%到76%),是一個比較優(yōu)秀的工作。

2.2.2 VL-BERT

另一個Region Feature Base的經(jīng)典工作是VL-BERT。如圖7,與LXMERT不同的是,VL-BERT屬于單路輸入模式,視覺特征在經(jīng)過目標檢測模型進行Region特征提取后,直接和文本Embedding一起拼接輸入到Transformer網(wǎng)絡(luò)中進行多模態(tài)的交叉Attention。

圖片

VL-BERT設(shè)計了兩個預(yù)訓(xùn)練任務(wù):帶視覺特征的掩碼語言模型學習(Masked Language Modeling with Visual Clues)、帶文本特征的視覺Region分類(Masked RoI Classification with Linguistic Clues)。經(jīng)過預(yù)訓(xùn)練和微調(diào)流程,模型可以適用于多種視覺和語言任務(wù),并在視覺問答、圖像-文本檢索、視覺常識推理等任務(wù)上都取得了非常不錯的性能。VL-BERT印證了,多模態(tài)語義特征不需要各自的單獨深度編碼,直接做交互也可以取得有效結(jié)果。

2.2.3 UNITER

如圖8,UNITER使用和VL-BERT類似的架構(gòu),同樣的單路架構(gòu),同樣是目標檢測模型做視覺的語義特征抽取,并進一步使用更多的訓(xùn)練數(shù)據(jù)、更多的預(yù)訓(xùn)練任務(wù),希望得到一個更加通用的圖文多模態(tài)表征模型。UNITER通過在四個圖像和文本數(shù)據(jù)集(COCO, Visual Genome, Conceptual Captions, and SBU Captions)上進行大規(guī)模的預(yù)訓(xùn)練,可以支持多種視覺和語言任務(wù)的聯(lián)合多模態(tài)表征。同時設(shè)計了四種預(yù)訓(xùn)練任務(wù):遮蔽語言建模(MLM),遮蔽區(qū)域建模(MRM,有三種變體),圖像-文本匹配(ITM),和詞-區(qū)域?qū)R(WRA)。

圖片

相比于之前方案,UNITER提出了通過最優(yōu)傳輸(OT,Optimal Transport)的方法來進行WRA,在預(yù)訓(xùn)練過程中顯式地加強詞和圖像區(qū)域之間的細粒度對齊。相比其他工作僅使用圖像-文本匹配(ITM)的全局對齊方式,WRA更加精準。經(jīng)過大量的消融實驗,UNITER還探索了預(yù)訓(xùn)練任務(wù)的最佳組合方式,并最終在視覺問答,圖像-文本檢索,指代表達理解,視覺常識推理,視覺蘊含,和NLVR2等任務(wù)上都達到了新的最先進的水平。

UNITER稱得上是Region Feature Based多模態(tài)預(yù)訓(xùn)練的集大成者,同時期的大多數(shù)工作也多是類似結(jié)構(gòu)上的修補或增強。但也不乏另辟蹊徑的工作,其中以Grid Feature Based相關(guān)工作最具影響力。

2.2.4 Pixel-BERT

Pixel-BERT是Grid Feature Based多模態(tài)融合代表工作之一。如圖9,與Region Feature Based方法不同的是,Pixel-BERT不需要使用目標檢測模型進行ROI區(qū)域的特征抽取,而是直接通過卷積網(wǎng)絡(luò)提取圖片的像素級別特征,直覺和文本特征一起輸入到下游的Transformer網(wǎng)絡(luò)進行特征融合。這種方式減少了目標檢測區(qū)域框標注的成本,同時緩解了視覺語義label與文本語義的不均衡問題(區(qū)域框的物體類別往往上千規(guī)模,而文本可以表達的語義遠不止于此)。

圖片

詳細來說,當時主流的Region Feature Based方法提取視覺特是使用如Fast R-CNN的目標檢測模型,通常在Visual Genome數(shù)據(jù)集上訓(xùn)練得到。這種目標檢測模型,通常先提取可能存在物體的區(qū)域,然后根據(jù)區(qū)域特征進行物體類別的分類。相應(yīng)的,這些區(qū)域的特征往往局限在固定的類目集合范圍內(nèi),語義范圍較為有限,這是也使用區(qū)域語義特征的固有缺陷。

圖片

此外,Pixel-BERT使用隨機像素采樣機制來增強視覺表示的魯棒性,并使用MLM和ITM作為預(yù)訓(xùn)練任務(wù)進行預(yù)訓(xùn)練。最后通過對下游任務(wù)進行廣泛的實驗,在包括視覺問答(VQA)、圖像文本檢索和視覺推理等下游任務(wù)中取得了SOTA效果。

三、VIT:擁抱Transformer

Pixel-BERT之類的網(wǎng)絡(luò),減少了對與目標檢測模型的依賴,僅使用深層卷積神經(jīng)網(wǎng)絡(luò)提取像素級別的特征作為下游多模態(tài)融合模塊,極大簡化了圖文多模態(tài)表征模型的網(wǎng)絡(luò)結(jié)構(gòu)。那么,我們能不能進一步簡化視覺表征模塊,直接把圖像特征簡單加工后就直接輸入到Transformer網(wǎng)絡(luò)和文本特征一起做模態(tài)的融合?要做到這一點,我們需要先回答另一個問題,Transformer網(wǎng)絡(luò)能不能替換CNN作為視覺表征的Backnone?雖然現(xiàn)在來看,答案是肯定的,但在開始階段,這個過程并不是那么順利。

我們知道,CNN應(yīng)用于視覺表征有著很強的歸納偏置或者說先驗,在 CNN 中,局部性、二維鄰域結(jié)構(gòu)和平移不變性是在整個模型的每一層中都有體現(xiàn),和視覺圖像的特點極其類似:

  • 局部感知性:卷積層通過卷積操作和參數(shù)共享,能夠高效地提取輸入圖像的局部特征。這種局部感知性使得CNN能夠捕捉圖像中的局部結(jié)構(gòu),例如邊緣、紋理等,從而更好地表征圖像。
  • 層級結(jié)構(gòu):CNN的層級結(jié)構(gòu)包括卷積層、激活函數(shù)、池化層和全連接層。這種層級結(jié)構(gòu)使得CNN能夠逐層提取和組合特征,從低級到高級,形成更復(fù)雜的視覺表征。
  • 參數(shù)共享:卷積層中的參數(shù)共享使得CNN的訓(xùn)練更加高效。相同的卷積核在不同位置對圖像進行卷積操作,共享參數(shù)減少了模型的復(fù)雜度,同時也增強了模型的泛化能力。
  • 空間不變性:卷積操作具有平移不變性,即無論圖像中的物體在圖像中的位置如何變化,卷積核都能檢測到相應(yīng)的特征,這對于圖像分類、目標檢測和圖像分割等計算機視覺任務(wù)非常重要。

而在 Transformer 中的Self-Attention層則是全局的,對于視覺輸入的局部關(guān)系建模、圖像的2D位置關(guān)系的建模,以及圖像元素的平移不變性的把握上,都需要從頭學習。然而,即便是困難重重,因為有BERT的巨大成功,仍然有許多的研究者前赴后繼投入到這個方向,并最終取得成功,其中Vision Transformer (ViT) 是最為經(jīng)典的案例之一。

3.1 VIT范式視覺表征和預(yù)訓(xùn)練

3.1.1 VIT:Transformer視覺表征

如圖10,VIT將輸入圖片平鋪成2D的Patch序列(16x16),并通過線性投影層將Patch轉(zhuǎn)化成固定長度的特征向量序列,對應(yīng)自然語言處理中的詞向量輸入。同時,每個Patch可以有自己的位置序號,同樣通過一個Embedding層對應(yīng)到位置向量。最終Patch向量序列和視覺位置向量相加作為Transfomer Encoder的模型輸入,這點與BERT模型類似。

圖片

同樣,VIT通過一個可訓(xùn)練的CLS token得到整個圖片的表征,并接入全鏈接層服務(wù)于下游的分類任務(wù)。當經(jīng)過大量的數(shù)據(jù)上預(yù)訓(xùn)練,遷移到多個中等或小規(guī)模的圖像識別基準(ImageNet, CIFAR-100, VTAB 等)時,ViT取得了比CNN系的模型更好的結(jié)果,同時在訓(xùn)練時需要的計算資源大大減少。按說,ViT的思路并不復(fù)雜,甚至一般人也不難想到,但是為什么真正有效的工作確沒有很快出現(xiàn)?不賣關(guān)子,VIT成功的秘訣在于大量的數(shù)據(jù)做預(yù)訓(xùn)練,如果沒有這個過程,在開源任務(wù)上直接訓(xùn)練,VIT網(wǎng)絡(luò)仍會遜色于具有更強歸納偏置的CNN網(wǎng)絡(luò)。

因此,在此之后的一大研究方向就是如何更加有效的對VIT結(jié)構(gòu)的網(wǎng)絡(luò)進行預(yù)訓(xùn)練。下面我們通過MAE和BEIT兩個優(yōu)秀的工作,來討論這個方向上的兩類主流方案。

3.1.2 MAE:激進的Mask自監(jiān)督預(yù)訓(xùn)練

與自然語言理解類似,VIT模型能取得成功得益于預(yù)訓(xùn)練+微調(diào)的訓(xùn)練范式。前文提到,傳統(tǒng)CNN視覺模型的預(yù)訓(xùn)練,僅僅是在大量的圖像任務(wù)數(shù)據(jù)集上進行預(yù)先訓(xùn)練(如ImageNet分類任務(wù)等),然后使用訓(xùn)練后的權(quán)重進行初始化Backbone,在下游任務(wù)上繼續(xù)微調(diào)完成相應(yīng)任務(wù)。

早期的VIT的預(yù)訓(xùn)練和CNN預(yù)訓(xùn)練一樣,都是通過大規(guī)模的有監(jiān)督分類任務(wù)數(shù)據(jù)集進行訓(xùn)練,和BERT的自監(jiān)督預(yù)訓(xùn)練仍有區(qū)別。而自監(jiān)督預(yù)訓(xùn)練有著數(shù)據(jù)獲取成本低、不需要標注、任務(wù)難度大模型學習充分等諸多好處,因此很多研究工作探索自監(jiān)督視覺預(yù)訓(xùn)練,比較有代表性的實踐工作如Masked AutoEncoder(MAE)。

圖片

如圖11,所示,MAE以VIT為基礎(chǔ)模型,先對完整圖片進行Patch掩碼,接著使用一個Transformer Encoder對未Mask的Patch進行編碼,然后通過相對小的Transformer Decoder模型還原被Masked Patch,從而實現(xiàn)模型的自監(jiān)督預(yù)訓(xùn)練。

MAE取得成功的另一個核心原因是通過75%的高掩碼率來對圖像添加噪音,這樣圖像便很難通過周圍的像素來對被掩碼的像素進行重建,從而使編碼器去學習圖像中的語義信息。預(yù)訓(xùn)練之后,解碼器被丟棄,編碼器可以應(yīng)用于未掩碼的圖像來進行識別任務(wù)。

相對于自然語言的自監(jiān)督訓(xùn)練,MAE使用了更大的掩碼比例。后人進一步分析,這么做動機是考慮自然語言和視覺特征的信息密度不同,簡單來說:文本數(shù)據(jù)是經(jīng)過人類高度抽象之后的一種信號,信息是密集的,可以僅僅預(yù)測文本中的少量被掩碼掉的單詞就能很好的捕捉文本的語義特征。而圖像數(shù)據(jù)是一個信息密度非常小的矩陣,包含著大量的冗余信息,像素和它周圍的像素存在較大的相似性,恢復(fù)被掩碼的像素并不需要太多的語義信息。

3.1.3 BEIT:視覺“分詞”表征預(yù)訓(xùn)練

另一類Transformer視覺模型預(yù)訓(xùn)練的代表范式是BEIT(BERT Pre-Training of Image Transformers)模型。為了與BERT的預(yù)訓(xùn)練框架對齊,BEIT通過輔助網(wǎng)絡(luò)模塊先對視覺Patch進行Tokenizer,得到整張圖各部分的視覺Token ID。然后將視覺Patch視為自然語言中的單詞進行掩碼預(yù)測,完成預(yù)訓(xùn)練流程。

圖片

具體的如圖12,在預(yù)訓(xùn)練之前,BEIT先通過一個離散自回歸編碼器( discrete Variational AutoEncoder,dVAE)學習了一個“圖像分詞”器,最終可以將圖像編碼成離散的視覺Token集合。而在預(yù)訓(xùn)練階段,輸入的圖片存在兩個視角,一是圖像Patch,另一個是視覺Token。BEIT隨機對Patch進行掩碼,并將掩碼部分替換為特殊的Mask Embedding([M],圖中的灰色部分),隨后將掩碼后的Patch序列輸入到VIT結(jié)構(gòu)的模型中。預(yù)訓(xùn)練的目標則是基于被掩碼的圖像輸入向量序列,預(yù)測源圖像對應(yīng)的視覺Token ID。

BEIT需要單獨的dVAE網(wǎng)絡(luò)輔助,相對MAE更為復(fù)雜。在效果上,MAE驗證了使用normalized pixels進行目標像素重建,也可以實現(xiàn)類似效果,因此視覺tokenization過程并非必須。但即便如此,BEIT為視覺預(yù)訓(xùn)練提供了一個不錯的范式,同樣是一次十分有價值的探索。

3.2 VIT為基礎(chǔ)的多模態(tài)對齊與預(yù)訓(xùn)練

以VIT為基礎(chǔ)的視覺預(yù)訓(xùn)練可以通過Transformers對視覺進行有效表征,這種方法也逐漸成為目前視覺信息編碼的主流手段。以此為延伸,基于此的多模態(tài)預(yù)訓(xùn)練工作也層出不窮,也為如今的多模態(tài)大模型的順理成章打下了堅實基礎(chǔ)。

如圖13,梳理了以VIT為延伸的多模態(tài)對齊和預(yù)訓(xùn)練工作,各工作之間都或多或少的有所關(guān)聯(lián),可謂是一脈相承。下面我們分別介紹這個技術(shù)方向的經(jīng)典工作,讀完本小結(jié)下面的內(nèi)容再來看圖中的模型關(guān)系,可能會更有感覺。

圖片

3.2.2 CLIP

CLIP模型是OpenAI 2021發(fā)布的多模態(tài)對齊方法。與OpenAI的許多工作類似,CLIP強調(diào)強大的通用性和Zero-Shot能力,也因此至今仍有很強的生命力,相關(guān)技術(shù)被廣泛應(yīng)用。

CLIP的核心思路是通過對比學習的方法進行視覺和自然語言表征的對齊。如圖xx(1),CLIP首先分別對文本和圖像進行特征抽取,文本的Encoder為預(yù)訓(xùn)練BERT,視覺側(cè)的Encoder可以使用傳統(tǒng)的CNN模型,也可是VIT系列模型。得到圖文表征向量后,在對特征進行標準化(Normalize)后計算Batch內(nèi)圖文Pair對之間的余弦距離,通過Triple Loss或InfoNCELoss等目標函數(shù)拉近正樣本對之間的距離,同時使負樣本對的距離拉遠。

圖片

經(jīng)過大量的圖文Pair對進行預(yù)訓(xùn)練后,我們可以得到在同一表征空間下的文本Encoder和圖像Encoder。下游應(yīng)用通常也是兩種方式,一是在下游任務(wù)上對模型進行微調(diào),適應(yīng)定制的圖文匹配任務(wù),或者僅使用文本或圖像Encoder做單模態(tài)任務(wù);另一種使用方式是直接使用預(yù)訓(xùn)練的圖文表征Zero-Shot方式完成下游任務(wù)。

CLIP進行Zero-Shot的一種使用方式如圖14(2)和(3),對于一個圖像分類任務(wù),可以首先將所有的候選類別分別填充“A photo of a {object}”的模板,其中object為候選類別,對于一張待預(yù)測類別的圖像,通過圖像Encoder的到視覺表征后,與所有類別的模板文本Encoder表征進行相似度計算,最后選擇相似度最高的類別即可作為預(yù)測結(jié)果。

CLIP憑借其簡潔的架構(gòu)和出眾的效果,被后來很多工作引用,并使用CLIP預(yù)訓(xùn)練的Backbone作為視覺表征模塊的初始化參數(shù)。

3.2.3 VILT

CLIP方法簡單有效,雙塔的網(wǎng)絡(luò)結(jié)構(gòu)對于下游應(yīng)用也十分友好。但是如同表示型語義匹配類似,雙塔結(jié)構(gòu)同樣也有交互不足的問題,內(nèi)積或余弦距離的模態(tài)融合方式匹配能力上限較低,對于一些需要細粒度跨模態(tài)匹配的任務(wù)(VQA等)有時力不從心。因此,交互式的多模態(tài)對齊和融合仍然極具價值,典型的如VILT模型。

VILT是VIT在圖文多模態(tài)方向上的工作延續(xù)。我們了解了基于Transformer的自然語言模型和視覺模型的預(yù)訓(xùn)練范式后,進階到多模態(tài)融合十分容易理解。如圖15所示,與BERT文本對的輸入方式類似,VILT將文本和視覺Patch的Embedding直接拼接作為Transformer編碼器的輸入,兩種模態(tài)有各自可學習的位置編碼和模態(tài)類型編碼。

圖片

通過深層的Transformer編碼,文本與視覺的模態(tài)得到了充分的融合。ViLT使用常用的ITM(Image Text Matching)和MLM(Masked Language Modeling)作為預(yù)訓(xùn)練目標。

  • ITM(Image Text Matching):圖文是否匹配的二分類目標,正樣本為常用數(shù)據(jù)集中提供的語義一致的圖文Pair對,負樣本對以0.5的概率隨機地用替換正圖文對中的圖片為其他圖片;此外借鑒前人工作,匹配目標還增加了圖文子區(qū)域的匹配目標Word Patch Alignment (WPA),該目標并不常用,我們也不作過多展開。
  • MLM(Masked Language Modeling):以0.15的概率對文本的Token進行掩碼,并通過圖文的整體上下文信息對預(yù)測被掩碼的Token。

如圖16,可以對比以CNN為基礎(chǔ)的多模態(tài)預(yù)訓(xùn)練和以VIT為基礎(chǔ)的預(yù)訓(xùn)練,在模型架構(gòu)上的區(qū)別。

圖片

而在ViLT之后,多模態(tài)預(yù)訓(xùn)練的一個較為明顯的趨勢,是進一步提升模態(tài)對齊與融合的效果以及模型結(jié)構(gòu)的通用性,使用統(tǒng)一模型視角進行跨模態(tài)對齊和融合。在這個過程中,ALBEF(Align before Fuse)、BLIP(Bootstrapping Language-Image Pre-training)與BEIT-3系列等工作極具參考價值,下面我們簡單對比其設(shè)計思路。

3.2.5 ALBEF與BLIP

ALBEF通過多任務(wù)聯(lián)合訓(xùn)練將類似CLIP的對比學習和類ViLT的交互融合范式統(tǒng)一到一個訓(xùn)練框架中。如圖17所示,模型結(jié)構(gòu)包括一個圖像Encoder(12層)、一個文本Encoder(6層)和一個多模態(tài)融合的Encoder(6層),各Encoder均沿用Transformer網(wǎng)絡(luò)。ALBEF的訓(xùn)練任務(wù)包括圖文對比ITC(Image-Text Contrastive Learning)、ITM(Image-Text Matching)、MLM(Masked Language Modeling)。

圖片

  • ITC:在圖文模態(tài)深層融合之前,在對圖文的表征序列Pooling后,通過對比學習Loss對圖文單模態(tài)表征進行對齊。這部分和CLIP模型的訓(xùn)練設(shè)置類似,不同的是文本的Encoder相對視覺Encoder層數(shù)更淺。
  • ITM:圖文Encoder輸出的表征序列深層交互后,判斷輸入圖文對是否匹配,與VILT一樣是二分類任務(wù)。不同的是負樣本對的構(gòu)造,使用對比學習模塊進行了Batch內(nèi)的難負樣本挖掘。主要思路是,對比學習模塊中一個Batch中,模型認為最為相似的負樣本對可以作為難負樣本。
  • MLM:與VILT類似,隨機對輸入文本token進行掩碼,通過圖文上下文的輸入信息預(yù)測被掩碼的Token。

最后,由于ALBEF的預(yù)訓(xùn)練數(shù)據(jù)多數(shù)為互聯(lián)網(wǎng)中挖掘的圖文對,天然存在較大的噪聲數(shù)據(jù)。為了緩解這個問題,ALBEF在訓(xùn)練過程中通過一個動量自蒸餾的模塊(一個移動平均版本的ALBEF模型),生成訓(xùn)練數(shù)據(jù)集的偽標簽,用來輔助模型的訓(xùn)練。

ALBEF通過多任務(wù)訓(xùn)練機制將模態(tài)對比匹配和深度模態(tài)融合結(jié)合在一起,下游任務(wù)可以根據(jù)具體需求使用不同的模塊進行微調(diào)。與之遙相呼應(yīng)的的是BLIP模型,在ALBEF基礎(chǔ)上,將MLM替換為LM( Language Modeling)Loss,的使得訓(xùn)練得到的模型同時可以支持圖像描述文本的生成能力,如圖18所示。使得多模態(tài)融合預(yù)訓(xùn)練有了多模態(tài)大模型即視感。

圖片

經(jīng)過大規(guī)模多模態(tài)數(shù)據(jù)的預(yù)訓(xùn)練,ALBEF和BLIP在下游任務(wù)微調(diào)中均取得了十分亮眼的效果,在工業(yè)界也被廣泛應(yīng)用。

3.2.8 VL-BEIT、VLMO與BEIT-3

ALBEF和BLIP之類的工作雖然能夠同時兼顧對比和深度融合兩種訓(xùn)練模式,但視覺和自然語言仍然需要單獨的Encoder分別編碼,這顯然還不是我們所期望的真正的多模態(tài)統(tǒng)一模型框架。我們可以從Microsoft Research的VL-BEIT、VLMO與BEIT-3這一系列工作一窺這個方向的探索過程。

VL-BEIT可以看作是前文提到的BEIT在多模態(tài)對齊預(yù)訓(xùn)練工作的延續(xù),同時借鑒了ViLT的網(wǎng)絡(luò)結(jié)構(gòu)。如圖19,與ViLT的區(qū)別在于,VL-BEIT期望將單模態(tài)和多模態(tài)統(tǒng)一到一個模型中,在預(yù)訓(xùn)練任務(wù)設(shè)計上,同時考慮了純文本、純視覺以及圖文多模態(tài)任務(wù)。純文本任務(wù)為MLM(a);純視覺特征的MIM,其中MIM的目標是BEIT工作中的Visual Token ID(b);圖文多模態(tài)任務(wù)包括考慮文本特征的視覺Token預(yù)測,以及考慮視覺特征的文本Token預(yù)測(c)。

圖片

VLMO是VL-BEIT的同期工作,如圖20。VLMO相較于VL-BEIT的不同之處在于:1、舍棄了視覺側(cè)的Visual Token ID預(yù)測,簡化了整體的網(wǎng)絡(luò)結(jié)構(gòu);2、增加了類似CLIP的圖文對比學習任務(wù),以及交互型的圖文匹配任務(wù)。雖然VLMO相對于VL-BEIT在效果上并不出彩,但為后續(xù)BEIT-3的工作奠定了基礎(chǔ)。網(wǎng)絡(luò)結(jié)構(gòu)上,VLMO是VL-BEIT都使用MoME Transformer結(jié)構(gòu),對不同的模態(tài)使用不同的Expert頭,以區(qū)分不同模態(tài)的表征。

圖片

與VLMO網(wǎng)絡(luò)結(jié)構(gòu)類似,BEIT-3將圖像、文本和圖文多模態(tài)輸入統(tǒng)一到一個單獨的Multiway Transformer網(wǎng)絡(luò)。不同于經(jīng)典的Transformer,BEIT-3使用一個多類型輸入共享的多頭自注意力模塊(Multi-Head Self-Attention),不同類型的模態(tài)輸入各有一個全連接專家模塊單獨學習。如圖21,視覺模態(tài)使用V-FFN、文本模態(tài)對應(yīng)L-FFN,圖文多模態(tài)輸入對應(yīng)VL-FFN,模型會根據(jù)不同類型的模態(tài)輸入選擇不同的模塊生效。

圖片

在預(yù)訓(xùn)練任務(wù)上,如圖22,BEIT-3相比之下也更加全面,不僅包括常用的圖文對比學習、MLM和圖像文本描述生成任務(wù),還引進了文本和圖像的單模態(tài)任務(wù)。這樣的訓(xùn)練方式,使得BEIT-3真正統(tǒng)一了多模態(tài)的不同輸入類型,同時更加全面和靈活的支持不同模態(tài)的下游任務(wù)。為了能夠?qū)崿F(xiàn)這樣的能力,BEIT-3使用了更多的預(yù)訓(xùn)練數(shù)據(jù),模型容量相對于之前的工作也有了顯著的提高(達到1.9B),相應(yīng)地最終也取得了在當時更好的效果。

圖片

BEIT-3將多模態(tài)對齊和預(yù)訓(xùn)練的研究推到了一個新的高度,驗證了更多的數(shù)據(jù)+更大的模型取得更好的效果,在這個研究方向仍不失準。雖然開始飽受爭議,但隨著ChatGPT的問世,這個發(fā)展思路的正確性被進一步加深,也催生了后面多模態(tài)大模型的一眾研究工作。

四、多模態(tài)與大模型

寫到這里,經(jīng)過大規(guī)模篇幅的鋪墊,終于到了大家都關(guān)心的多模態(tài)大模型章節(jié)。打開前兩天的筆記,原來的計劃是這部分內(nèi)容參考綜述論文的梳理,選擇一些有代表性的工作進行問題的串連。當我重新下載這篇綜述論文,想截一張示意圖時,卻是目瞪狗呆。對比一下,圖23是年前的截圖,圖24是年后的。

圖片圖片

這個速度,屬實有點跟不上了。調(diào)整情緒后,我告訴自己很多工作萬變不離其宗,可以延續(xù)原來的思路繼續(xù)寫,不增加加新的內(nèi)容。這樣,應(yīng)該也挺合理的吧。下面我們通過各時期的優(yōu)秀工作,來系統(tǒng)看一下類似GPT-4的多模態(tài)大模型的主流思路。

4.1 Flamingo

如今GPT-4代表著多模態(tài)大模型的頂尖水平,但在此之前,甚至在ChatGPT之前就已有相關(guān)探索工作,其中谷歌的Flamingo最具當前主流技術(shù)雛形。事實上,F(xiàn)lamingo更像是圖文多模態(tài)領(lǐng)域的GPT-3,不同的是它支持圖文上下文的輸入,通過In-Context Few-Shot方式完成任務(wù)。Flamingo同樣支持視頻幀序列作為輸入,通過Prompt指令完成Video理解任務(wù)。

圖片

做到這種功能,在模型側(cè)和GPT-3類似,不同的是Flamingo在文本Transfomer網(wǎng)絡(luò)中增加視覺輸入特征,模型結(jié)構(gòu)如圖26,包括三個部分。

  • 視覺側(cè)特征抽取使用預(yù)訓(xùn)練的ResNet和采樣模塊(Perceiver Resampler,將變長的視覺特征輸入轉(zhuǎn)成少量的視覺特征)模型;
  • 文本側(cè)模型使用LLM(基座使用Chinchilla,同樣是谷歌發(fā)布的對標GPT-3的大語言模型,并提供了1.4B、7B、和70B等版本,分別對應(yīng)Flamingo-3B、Flamingo-9B和Flamingo-80B);
  • GATED XATTN-DENSE層,用于連接LLM 層與視覺特征,允許 LM 在處理文本時考慮視覺信息。通過交叉注意力,LM 可以關(guān)注與視覺特征相關(guān)的部分。預(yù)訓(xùn)練LLM和視覺ResNet參數(shù)訓(xùn)練過程中是凍結(jié)狀態(tài)。

圖片

相應(yīng)的,在數(shù)據(jù)層面Flamingo也是使用了多樣形式的訓(xùn)練語聊,包括:

  • 圖文穿插形式:MultiModal MassiveWeb (M3W),43 Million;
  • 圖文Pair對形式:LTIP(Long Text & Image Pairs),312 Million;
  • 帶文本描述的短視頻:VTP (Video & Text Pairs) ,27 Million 。

最后Flamingo在各種多模態(tài)任務(wù)上的效果也非常優(yōu)秀,甚至在有些數(shù)據(jù)集上通過few-shot方式可以超過經(jīng)典模型的SOTA。

圖片

Flamingo憑借其出色的效果,吸引了許多研究者對于多模態(tài)大模型的注意,但當時這種規(guī)模的模型訓(xùn)練不是誰都能玩的起,因此并沒有引起特別火熱的跟風潮。直到ChatGPT的出現(xiàn),讓人逐漸接受了大模型這條道路的正確性,以前覺得自己玩不起的機構(gòu),砸鍋賣鐵拉投資也愿意投入,自此相關(guān)的開源研究開始如火如荼。

在眾多開源工作中,BLIP-2以及與之一脈相承的InstructBLIP算是早期的探路者之一,我們可以從這兩個工作開始講起。

4.2 BLIP-2和InstructBLIP

BLIP-2的論文標題是Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models,核心思路是通過利用預(yù)訓(xùn)練好的視覺模型和語言模型來提升多模態(tài)效果和降低訓(xùn)練成本。

BLIP-2的網(wǎng)絡(luò)結(jié)構(gòu)如圖28所示,從架構(gòu)上來說,和Flamingo十分類似。包括視覺編碼層、視覺與文本的Adapter(Q-Former)以及大語言模型層。

  • 視覺編碼層:使用ViT模型,權(quán)重初始化通過CLIP預(yù)訓(xùn)練完成,并剔除最后一次提升輸出特征的豐富性;訓(xùn)練過程中凍結(jié)權(quán)重,不更新;
  • 文本側(cè)的大語言模型層:早期的BLIP-2使用OPT/FlanT5來實驗Decoder based和Encoder-Decoder based LLM的效果;這部分同樣在訓(xùn)練過程中凍結(jié)權(quán)重,不更新;
  • 圖文Adapter層:Q-Former結(jié)構(gòu),類似BLIP網(wǎng)絡(luò)(同樣先進行了圖文多模態(tài)預(yù)訓(xùn)練模塊),通過Queries向量,提取視覺側(cè)的關(guān)鍵信息輸入到LLM;這部分是多模態(tài)大模型訓(xùn)練過程中的主要參數(shù)。

圖片

和Flamingo相比,BLIP-2簡化了視覺特征和大模型的交互,直接僅僅將視覺特征和文本特征一起作為大模型的輸入,沒有深層的交互模塊(如GATED XATTN-DENSE層);另一方面在視覺和LLM的Adapter層做了更多的設(shè)計,即Q-Former結(jié)構(gòu),如圖29。從Q-Former結(jié)構(gòu)圖,我們可以看到BLIP的影子,最大的不同在于一個Learned Queries模塊,用于對ViT輸出的視覺特征進行采樣(Pooling),得到固定長度的視覺特征序列。

圖片

上面提到,為了避免災(zāi)難遺忘,BLIP-2凍結(jié)了ViT和LLM的參數(shù),只訓(xùn)練Q-Former模塊。為了訓(xùn)練更加穩(wěn)定,Q-Former模塊的訓(xùn)練包括兩個階段。

  • Stage1: 將Q-Former與凍結(jié)的ViT拼接,借鑒BLIP,使用 ITC(圖文對比學習)、ITG(圖生成文本)和ITM(圖文匹配)任務(wù)進行學習,對參數(shù)進行初始化,學習圖文相關(guān)性特征。
  • Stage2:如圖30,將Stage1得到的模型再拼接LLM,即Q-Former的輸出可通過線性投影輸入到LLM(凍結(jié)參數(shù)),進行視覺到自然語言的生成學習,目標是訓(xùn)練Q-Former使其輸出的視覺特征和LLM的輸入分布對齊。

圖片

BLIP-2通過視覺和LLM的特征對齊,使得LLM具備了多模態(tài)理解能力,但其訓(xùn)練數(shù)據(jù)主要沿用BLIP(圖文Pair對形式),和當下的多模態(tài)模型的主流技術(shù)方案仍存在一定GAP,是早期代表性探索之一。不過,隨著指令微調(diào)成為大模型必備流程,后續(xù)BLIP-2也自然升級為InstructBLIP。

如圖31,InstructBLIP的網(wǎng)絡(luò)結(jié)構(gòu)與BLIP-2幾乎一致,同樣也是2階段訓(xùn)練,不同的是采樣了指令微調(diào)范式,將文本模態(tài)的Instruction也作為輸入同時給到Q-former和LLM進行學習。

圖片

對應(yīng)的,InstructBLIP的另一個不同是訓(xùn)練數(shù)據(jù)也使用指令形式,將各種類型任務(wù)的開源學術(shù)數(shù)據(jù),使用模板構(gòu)造成指令多模態(tài)數(shù)據(jù)。數(shù)據(jù)模板如圖31。

圖片

通過指令數(shù)據(jù)和指令微調(diào),是的InstructBLIP可以像GPT-4一樣通過指令提示詞的方式完成任務(wù),雖然效果上仍有差距。即使不是InstructBLIP的訓(xùn)練范式并不是開創(chuàng)性的,但是我們依然可以用InstructBLIP作為參考,來看對比后面要介紹的其他工作。

4.3 Qwen-VL

阿里巴巴的Qwen-VL是另一個比較經(jīng)典的模型,十分值得作為案例介紹多模態(tài)大模型的訓(xùn)練要點。Qwen-VL使用Qwen-7B LLM作為語言模型基座,Openclip預(yù)訓(xùn)練的ViT-bigG作為視覺特征Encoder,隨機初始化的單層Cross-Attention模塊作為視覺和自然語言的的Adapter,總參數(shù)大小約9.6B。

圖片

如圖33,Qwen-VL的訓(xùn)練過程分為三個階段:

  • Stage1 為預(yù)訓(xùn)練,目標是使用大量的圖文Pair對數(shù)據(jù)對齊視覺模塊和LLM的特征,這個階段凍結(jié)LLM模塊的參數(shù);
  • Stage2 為多任務(wù)預(yù)訓(xùn)練,使用更高質(zhì)量的圖文多任務(wù)數(shù)據(jù)(主要來源自開源VL任務(wù),部分自建數(shù)據(jù)集),更高的圖片像素輸入,全參數(shù)訓(xùn)練;
  • Stage3 為指令微調(diào)階段,這個階段凍結(jié)視覺Encoder模塊,使用的數(shù)據(jù)主要來自大模型Self-Instruction方式自動生成,目標是提升模型的指令遵循和多輪對話能力。

圖片

Qwen-VL的另一個啟發(fā)是在Stage2和Stage3的訓(xùn)練過程中,不止使用VL數(shù)據(jù),還使用了純文本的訓(xùn)練數(shù)據(jù),避免遺忘LLM的能力,這個策略的效果在其他的工作中也有所印證。此外,相比InstructBLIP,Qwen-VL模型視覺和LLM的Adapter模塊簡化很多,僅僅是一個淺層的Attention Pooling模塊,通過更加細節(jié)的訓(xùn)練流程和更加豐富的訓(xùn)練數(shù)據(jù),仍取得了比InstructBLIP更優(yōu)的效果。

4.4 LLaVA1.5

同樣,微軟的LLaVA也是一個持續(xù)更新的系列工作,這里主要總結(jié)LLaVA和LLaVA1.5的核心思路。圖34為LLaVA1.5的數(shù)據(jù)和模型概況。可以看到,和Qwen-VL相比,LLaVA1.5在預(yù)訓(xùn)練和指令微調(diào)數(shù)據(jù)上使用了更少的數(shù)據(jù)(將Qwen-VL的Stage2和Stage3都視作指令微調(diào));在模型結(jié)構(gòu)上,除了視覺Encoder和LLM均使用了不同的基座模型,視覺和自然語言的Adapter使用更簡單的MLP層。

圖片

LLaVA1.5模型的效果在一些評測數(shù)據(jù)集上相比Qwen-VL有更好的效果,說明通過一些優(yōu)化工作,使用更少的數(shù)據(jù),更簡單的Adapter結(jié)構(gòu),也能使LLM具備不錯的多模態(tài)理解能力。在數(shù)據(jù)層面,如圖35,對比LLaVA1.5和LLaVA工作,通過增加高質(zhì)量細粒度的VL數(shù)據(jù)、豐富指令、純文本指令微調(diào)數(shù)據(jù)、提升圖片輸入像素、提升LLM參數(shù)規(guī)模等手段,可以有效提升模型效果。

圖片

4.5 VILA

另一個與LLaVA比較類似,但有所補充的工作是英偉達的VILA(不是顯卡)。VILA模型的網(wǎng)絡(luò)結(jié)構(gòu)和LLaVA十分類似,我們不做過多贅述。不同的是VILA通過實驗,總結(jié)了多模態(tài)預(yù)訓(xùn)練的一些經(jīng)驗,其中有些經(jīng)驗在相關(guān)工作中也有所體現(xiàn),主要為以下三點:

  • LLM參與訓(xùn)練更好:在預(yù)訓(xùn)練階段凍結(jié)LLM參數(shù),能做到不錯的zero-shot的能力,但會損失in-context學習的能力,而LLM參數(shù)參與訓(xùn)練的話可以有效緩解;
  • 預(yù)訓(xùn)練數(shù)據(jù)使用圖文交替數(shù)據(jù)更好:圖文Pair對并不是最優(yōu)的選擇,圖文交錯的數(shù)據(jù)效果更好;

圖片

  • SFT時純文本數(shù)據(jù)圖文數(shù)據(jù)混合更好:在圖文指令微調(diào)訓(xùn)練數(shù)據(jù)中混入純文本的指令數(shù)據(jù),不僅可以緩解純文本能力的遺忘,還能提升VL任務(wù)的能力。

具體的,如圖37,VILA的訓(xùn)練分為3個階段,視覺編碼模塊ViT參數(shù)均是凍結(jié)狀態(tài)。Step 0 使用圖文Pair數(shù)據(jù)對初始化Projector(圖文Adapter)參數(shù),LLM模塊參數(shù)凍結(jié);Step 1使用圖文交替數(shù)據(jù)全參數(shù)預(yù)訓(xùn)練;Step 2使用指令微調(diào)數(shù)據(jù)進行全參數(shù)微調(diào),其中微調(diào)數(shù)據(jù)混合了圖文指令和純文本指令;

圖片

VILA是較新的工作,因此有更豐富的模型效果對比,如圖38,相對各時期的SoTA,VILA在公開評測指標上有不錯的效果。

圖片

4.6 Gemini 1.0和Gemini 1.5

目光來到閉源世界,與VILA同階段,谷歌公司發(fā)布了Gemini系列,又在近期發(fā)布了性能更強的Gemini 1.5,可惜被另一個熱愛閉源的OpenAI的Sora搶了風頭,屬實悲催。由于Gemini系列并沒有開源,我們只能通過技術(shù)報告中的簡單介紹來了解其方法。

Gemini 1.0是一個多模態(tài)模型,這里模態(tài)除了圖圖像和文還包括音頻、視頻,符合谷歌多模態(tài)大模型一貫的ALL IN ONE的風格,這也是依賴積累豐富的數(shù)據(jù)資源和算力資源。Gemini 1.0提供Ultra、Pro和Nano版本,分別適應(yīng)不同能力、參數(shù)大小和推理速度要求,最小的Nano甚至可以端上運行。

方法上,Gemini 1.0的網(wǎng)絡(luò)結(jié)構(gòu)同樣是Transformer Decoders,支持32K上下文長度,使用了Multi-Query Attention等優(yōu)化機制。如圖39,模型輸入可以是文本、音頻、視覺輸入,輸入視覺可以是圖片、圖表、截圖、PDFs或視頻等,輸出可以是圖片和文本(沒錯,可以生成圖片)。視覺的Encoder模塊借鑒了谷歌自己的Flamingo、CoCa和PaLI,結(jié)合這些模型,可以輸入多模態(tài)的同時,也可以通過離散的視覺Tokens生成圖片或視頻等視覺模態(tài)。

圖片

對于音頻模態(tài),Gemini可以直接輸入Universal Speech Model (USM)的16kHz特征,具體可以參考USM工作。對于視頻理解,Gemini通過將視頻編碼為長上下文窗口中的一系列幀來實現(xiàn)。視頻幀或圖像可以與文本或音頻自然交織在一起,作為模型輸入的一部分。Gemini同時支持不同像素輸入的視覺以滿足不同粒度的理解任務(wù)。

在具體訓(xùn)練數(shù)據(jù)方面,技術(shù)報告同樣并沒有提過多細節(jié),只是簡單說了數(shù)據(jù)包括什么模態(tài)、經(jīng)過了什么清洗步驟等,我們也不再深究。至于最近的Gemini 1.5,同樣是技術(shù)報告的形式發(fā)布,沒有特別多技術(shù)細節(jié),主要介紹了模型是如何的強。區(qū)別要點包括:模型在Gemini 1.0基礎(chǔ)上引入了sparse mixture-of-expert (MoE),同時強化了上下文長度(32K->10M)同時幾乎沒有損失上下文感知能力。在訓(xùn)練過程中,Gemini 1.5強化了指令微調(diào)過程,使用了用戶偏好數(shù)據(jù)。

總體來說,雖然Gemini沒有提供技術(shù)細節(jié),但也體現(xiàn)了谷歌對于多模態(tài)大模型技術(shù)方向的判斷,比如我們可以get到網(wǎng)絡(luò)結(jié)構(gòu)的MoE、一個模型更多模態(tài)、超長上下文、文本生成+多模態(tài)生成結(jié)合等。

4.7 LWM

最后,我們再介紹一篇和Gemini類似的開源工作《World Model on Million-Length Video And Language With RingAttention》,模型名LWM(Large World Model)。至于為什么叫World Model,意思可以通過視覺和視頻的理解物理世界,,LWM是UC Berkeley最近發(fā)布的一篇工作,個人認為在開源方向上是一個優(yōu)秀的工作,但好像也是由于Sora和Gemini 1.5的熱度,沒有引起太多關(guān)注。

LWM希望完成的任務(wù)和Gemini十分相似,核心是超長上下文理解的多模態(tài)大模型。憑借支持1M的token輸入,LWM可以對超過一小時的視頻進行理解,在Gemini 1.5之前幾乎是多模態(tài)大模型中最長的上下文輸入(之一)。LWM的主要工作要點包括:

  • 支持超長上下文,可處理超長的文本、圖片序列或視頻等;
  • 一些技術(shù)難點方案:Masked Sequence Packing方法混合的輸入長度;通過loss weighting 平衡視覺和文本模態(tài);模型自動生成長序列問答數(shù)據(jù)集用于模型訓(xùn)練;
  • 實現(xiàn)了高性能的RingAttention,Masked Sequence Packing等優(yōu)化項,完成了百萬級別長度的多模態(tài)序列的訓(xùn)練;
  • 開源7B參數(shù)規(guī)模的大模型,包括長上下文的文本模態(tài)模型(LWM-Text,LWM-Text-Chat),和多模態(tài)模型(LWM,LWM-Chat)。

具體方案上,LWM使用Transformer架構(gòu),在LLama2 7B基礎(chǔ)上擴充上下文理解的長度上限,模型結(jié)構(gòu)如圖40:

圖片

與之前大多數(shù)方法不同的是,視覺的編碼器使用VQGAN,可以將256 × 256輸入圖片編碼成16 × 16 離散Token。這使得LWM不僅可以生成文本,也可以基于文本生成Image Token還原成視頻。對于多圖或視頻幀,可以分別做視覺特征抽取,和文本模態(tài)一起輸入到LLM中。

在模型訓(xùn)練流程上,主要分為兩個階段的訓(xùn)練:

  • 階段一,使用Books數(shù)據(jù)集,先擴充文本LLM上下文長度到1M;
  • 階段二,長上下文的多模態(tài)訓(xùn)練,即混合圖-文數(shù)據(jù)、視頻-文本數(shù)據(jù)、以及純文本的Books數(shù)據(jù)進行訓(xùn)練。

上面兩個過程有兩個核心問題需要解決:1、長文檔的可擴展訓(xùn)練;2、如何穩(wěn)定地擴展LLM的上下文。前者關(guān)注訓(xùn)練的效率和開銷,后者則關(guān)注長上下文拓展的有效性。針對問題1,LWM主要實現(xiàn)了高效的RingAttention,同時結(jié)合了FlashAttention;針對問題2,一方面,兩個訓(xùn)練階段都是多輪訓(xùn)練方式,逐步提升上下文長度的方式,如圖41。另一方面通過簡單的調(diào)整了RoPE的參數(shù),提升模型長文本的位置編碼能力。

圖片

總的來說,LWM是一篇不錯的文章,最重要的是開源,技術(shù)方案基本沒有保留,值得拉出來單獨討論。在效果上LWM和Gemini 1.0 Pro以及GPT4有一定的競爭力,更多的細節(jié)可以閱讀原論文。

五、總結(jié)

寫到這里,吐一口老血,但還是要總結(jié)一下。本文梳理了2019年之后視覺表征和多模態(tài)表征的一些變化,主要涉及視覺表征和視覺預(yù)訓(xùn)練、多模態(tài)表征對齊(或融合)和多模態(tài)預(yù)訓(xùn)練、多模態(tài)大模型技術(shù)的相關(guān)工作。各工作之間的簡化關(guān)系如圖42,脈絡(luò)主要是結(jié)合筆者自己各階段的實踐經(jīng)歷和認識,會出現(xiàn)一些地方不嚴謹?shù)牡胤剑瑲g迎指正。

圖片

關(guān)于未來暢想,從最近的工作上來看,多模態(tài)的呈現(xiàn)出以大模型為主線,逐步開始朝長上下文、混合模態(tài)、世界模型、多模態(tài)生成等方向發(fā)展。開始在自己工作的實踐中得到的一個個人觀點,是多模態(tài)大模型的驚艷能力主要來自于文本大模型中所蘊含的知識,以及超強的上下文理解能力,視覺特征只是從屬的信息輸入或感知源。但近期Gemini 1.5、LWM、甚至Sora等工作又開始嘗試大模型理解物理世界(引出世界模型的概念),大模型好像開始從文本之外的模態(tài)強化輸入信息的影響力。不管怎么說,持續(xù)的更新迭代讓人耳目一新,相信也會不斷刷新人們對人工智能邊界的認知。

責任編輯:張燕妮 來源: 自動駕駛之心
相關(guān)推薦

2024-07-23 10:34:57

2025-02-10 07:10:00

多模態(tài)embeddingsAI

2025-01-08 08:21:16

2025-03-25 09:06:11

2024-12-18 18:57:58

2024-12-30 00:01:00

多模態(tài)大模型Python

2024-09-25 14:53:00

2025-03-19 09:30:00

2024-11-11 15:11:23

2024-12-12 00:25:09

2023-11-22 09:53:02

自動駕駛算法

2025-04-07 00:00:00

多模態(tài)大模型

2024-05-17 16:02:00

2024-11-12 10:20:00

模型數(shù)據(jù)

2020-12-10 06:12:02

人工智能生物識別信息安全

2023-05-15 12:14:02

ChatGPT語音模型

2024-05-21 07:54:30

視頻多模態(tài)語義檢索算法

2024-03-20 13:18:46

模型多模態(tài)體系
點贊
收藏

51CTO技術(shù)棧公眾號