? 作者|劉子康 機構|中國人民大學研究方向|多模態
本文從相關論文出發,梳理當前用于指令微調的多模態指令集,從收集方法、復雜度與指令側重點三方面展開介紹。引言:近幾個月來,大型語言模型(LLM)在人工智能的各個領域帶來了革命性的進展。通過極大的參數量與預訓練數據量,LLM克服了以往語言模型存在的問題,真正成為了通用的,具備極強推理能力的語言模型,不僅在許多現有的benchmark上取得了極佳的成績,還展現出了以往模型從未出現過了涌現能力。 盡管LLM作為語言模型的能力無可挑剔,但它缺少感知其他模態信息的能力,而這對于實現AIGC至關重要。當前的多模態大模型往往通過給大模型添加一個視覺模塊,再通過多模態指令微調來進行兩個模型的對齊。這之中,多模態指令微調至關重要。本文將從相關論文出發,梳理當前用于指令微調的多模態指令集,從收集方法,復雜度與指令側重點來介紹它們。
一、多模態指令微調
多模態指令微調,即將純文本的指令微調拓展到多模態形式,并期望通過這些指令以及新增的視覺模塊賦予LLM視覺感知以及結合視覺信息進行正常推理的能力。在多模態指令出現之前,應用LLM解決一些復雜的視覺推理問題往往只能將圖像轉化為對應的caption,并將問題與caption一同作為純文本的輸入送入大型語言模型進行推理。這一類方法的代表為PiCa[1],它通過caption來讓gpt3感知圖像信息,再通過in-context-learning來引導gpt3完成對應任務。
除此之外,Visual-ChatGPT[2]也采用了類似的方式來完成相關任務。通過調用一系列的子模型,Visual-ChatGPT將其他模態的信息轉換成圖像信息,再利用ChatGPT作為大腦進行推理,最終生成最終結果。
盡管這些模型在一系列任務上有非凡的表現,它的缺點也同樣明顯。一方面,由于其他模態信息到文本的轉換需要利用到一系列的小模型,最終模型的表現在很大程度上會受到小模型性能的限制。同時,文本作為連接不同模態的橋梁是不足的,一段描述的文本很難完全的覆蓋到一張圖片的所有信息,因此會導致信息的失真,最終影響到模型的推理結果。因此,我們需要訓練一個端到端的模型。已有的很多工作已經可以將圖像輸入映射到文本空間中(如CLIP[3]),我們需要一個多模態指令集,既包含了原本的兩種模態的對齊數據,也包含了基于多模態信息的復雜推理與對話數據。本文將在后面介紹這一類指令。
二、多模態指令 * MULTIINSTRUCT: Improving Multi-Modal Zero-Shot Learning via Instruction Tuning
本文是在LLaMA出現前的一篇工作,非常具有前瞻性。作者提出了一個指令數據集-MultiInstruct,包含了當下的34個多模態任務,并將其劃分成了若干個任務組。整體指令沿用了Flan[4]指令集的風格,由人工標注者們先根據任務本身的類型描述來標注每個任務的instruction,再經過多個步驟確認每個任務指令的準確性以及保證任務之間的指令不發生沖突。基于當前構造的指令數據集,作者還加入了純文本的NATURAL INSTRUCTIONS[5]指令集,并通過一系列實驗證明了純文本指令集的加入能夠有效提高模型的敏感度-即模型對于不同或輕微改變的指令下生成相同答案的一致性。
本文提出了一個多模態大模型-LLaVA,是LLaMA出現后的多模態微調工作。本文采用對話微調后的Vicuna模型作為基座,期望能夠增強模型基于多種模態的對話能力。LLaVA采用的多模態指令主要follow了Vicuna[6]指令集的形式,沒有包含比較復雜的任務描述。為了增強模型在通用場景下的多模態對話與推理能力,LLaVA使用了ChatGPT/GPT-4來輔助多模態的指令生成。具體而言,LLaVA首先將圖像轉換為由文本表示的Context,為了盡可能的降低圖像到文本轉換的失真程度,作者采用了兩種Context,一種是captions,包含了全局的描述信息。另一種是boxes,包含了細粒度的實體-位置信息。
基于這一類信息,作者向GPT-4輸入了一系列指令,這一系列指令包含了對話類型指令,包含了對圖像細粒度推理的指令與基于圖像的復雜推理指令。由于GPT-4自身非常強大的推理能力,它能夠提供有意義的回復數據作為后續訓練的多模態指令。最終自動化構造的指令集包含158K個多模態指令,基于這些指令訓練得到的LLaVA模型在通用的多模態問答對話上表現出了強大的能力。 * GPT4RoI: Instruction Tuning Large Language Model on Region-of-Interest
GPT4RoI是構建細粒度多模態指令的一個嘗試。此前的絕大多數多模態指令都著重關注全局的視覺理解與視覺推理,而忽略了局部的細粒度視覺特征。GPT4RoI希望能夠構建一個數據集,輔助多模態模型不僅能夠從全局層面來理解圖像,同樣能夠理解圖像的細粒度特征,從而可以完成一些更加復雜的圖像推理任務。本文構造了兩類用于不同階段訓練的多模態指令,第一階段指令用于訓練區域特征與實體的對齊,第二階段指令用于訓練包含區域特征的推理。大部分指令由原本的RefCOCO與Visual Genome等數據集中抽取而來,同時也利用了外部工具對原本的LLAVA-150K數據集構建了額外的細粒度標注。 通過細粒度的標注指令,GPT4RoI上訓練的模型能夠根據特別的區域輸入理解模型的細粒度特征,擁有了更加多樣化的推理能力。 * Shikra: Unleashing Multimodal LLM’s Referential Dialogue Magic
與GPT4RoI類似,Shikra同樣對多模態指令在細粒度層面進行了擴展。相較于GPT4RoI更加注重于在指令輸入端細粒度的增加,Shikra同時希望模型在輸出端能夠顯式的進行細粒度的推理,輸出更多樣化的結果。Shikra的主要靈感來源于人類對話中實體指代的存在,即在對話中會提及到一系列的實體,而這些實體應當對應到圖像的某一個具體區域。
為了構造這些指令,Shikra同樣借助到了GPT4的幫助。作者從高質量的細粒度標注數據集Flickr30K出發,Flickr30K中的每一個圖像包含了5個細粒度的實體標注以及對應的caption描述。這些實體描述和對應的具體坐標將會被送入GPT4中幫助它們理解實體在圖像中的問題。最后,基于這些實體,GPT4將會設計一系列的問答對,這些問題被保證是可以完全通過已有信息來回答的。
作為一個通用指令集,基于Shikra訓練的通用模型在一系列指代任務上取得了非常好的效果,同時由于生成文本指定了圖像的實體,也有效的降低了多模態幻象的產生。 * M3IT: A Large-Scale Dataset towards Multi-Modal Multilingual Instruction Tuning
M3IT同樣是一個大型的多任務多模態指令集。它包含了8個大類的任務集合,并采取了類似MultiInstruct的方式進行指令的人工標注。M3IT的創新點在于,它考慮到了原有的多模態數據集(如VQA)中會存在大量的信息量較少的“短答案”,即對于一個問題僅提供一個極短的精確答案,但沒有提供中間過程,而多模態大模型則希望能夠提供更加詳細,有效的回復。為了解決這個問題,M3IT對于這一類問題進行了答案的復寫,通過一些額外的圖像信息(例如OCR)來使得答案變得復雜化與多樣化。同時,為了支持多語言的多模態指令,M3IT對于一些重要的數據集的指令進行了翻譯,使其同時支持中英兩種語言。最終,經過人工和ChatGPT的雙重質量檢測過程,得到了一個包含了2,429,264個實例的多模態多語言指令集。基于M3IT指令集訓練的多模態模型在生成答案的ROUGE-L分數和多語場景下表現出了良好的性能。
VIGC: Visual Instruction Generation and Correction
VIGC是一種新式的多模態指令生成技術。此前的方法往往采用ChatGPT或GPT4進行對話生成,而圖像信息通過Caption或box等其他信息以文字的形式輸入到模型之中。這種方式會導致圖像信息的失真,從而導致生成對話的失真,即生成對話不一定是與圖像緊密相關的,或者有一些細節錯誤以及幻象的出現。VIGC借助了LLM中self-instruct的思想,通過多模態模型自身來生成指令。具體做法是基于已有或自動生成的指令,通過多模態模型生成回復。對于這些回復,通過ChatGPT來進行檢查修正,從而得到高質量的多模態指令集。VIGC既可以用于多模態指令集的生成,也可以用于已有任務指令集的增廣。通過這一類方式,基于VIGC的若干個模型在數個通用benchmark以及一些任務特定的benchmark都取得了提升,證明了該方法的有效性。
StableLLaVA: Enhanced Visual Instruction Tuning with Synthesized Image-Dialogue Data
StableLLaVA是一種基于Stable Diffusion來完全的自動化生成多模態指令集的方案。當前的多模態指令集往往采用現有的圖像,通過ChatGPT來生成后續的對話。這樣的方法盡管有效,但現有的圖像數據集會存在一定的領域偏差,同時,生成的多模態對話嚴重依賴于真實圖像,會影響到生成多模態對話的多樣性與質量。一種很自然的想法是,借助當前AIGC領域所取得的巨大成功,可以通過擴散模型自由的生成任意類型的圖像,再通過ChatGPT生成任意類型的對話,如下圖所示:
參考文獻:
[1]An empirical study of gpt-3 for few-shot knowledge-based vqa [2]Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models [3]Learning Transferable Visual Models From Natural Language Supervision [4]Finetuned Language Models are Zero-Shot Learners [5]Super-NaturalInstructions: Generalization via Declarative Instructions on 1600+ NLP Tasks [6]Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality [7]MULTIINSTRUCT: Improving Multi-Modal Zero-Shot Learning via Instruction Tuning [8]Visual Instruction Tuning [9]GPT4RoI: Instruction Tuning Large Language Model on Region-of-Interest [10]Shikra: Unleashing Multimodal LLM’s Referential Dialogue Magic [11]M3IT: A Large-Scale Dataset towards Multi-Modal Multilingual Instruction Tuning [12]VIGC: Visual Instruction Generation and Correction [13]StableLLaVA: Enhanced Visual Instruction Tuning with Synthesized Image-Dialogue Data
編譯 | 曾全晨
審稿 | 王建民 今天為大家介紹的是來自Tal Golan團隊的一篇論文。語言模型似乎越來越符合人類處理語言的方式,但通過對抗性示例來識別它們的弱點十分具有挑戰性,因為語言是離散的,并且人類語言感知非常復雜。
神經網絡語言模型不僅是自然語言處理(NLP)中的關鍵工具,還因其潛在成為人類語言處理模型的可能性而引起了越來越多的科學興趣。從循環神經網絡(RNNs)到變換器(transformers)等各種語言模型,每個模型(顯式或隱式地)都定義了一個關于單詞序列的概率分布,預測哪些序列在自然語言中可能出現。從閱讀時間、功能性磁共振成像(fMRI)、頭皮腦電圖、顱內腦電圖(ECoG)等測量結果來看,存在大量證據表明,人類對由語言模型捕獲的單詞和句子的相對概率敏感。模型推導的句子概率還可以預測人類可接受性。然而,這些成功尚未解決兩個關鍵問題:(1)哪個模型與人類語言處理最為一致,以及(2)最佳對齊模型與完全捕捉人類判斷的目標有多接近?評估語言模型的主要方法之一是使用一組標準化基準,例如通用語言理解評估(GLUE)或其繼任者SuperGLUE。盡管這些基準在評估語言模型在下游NLP任務中的實用性方面起到了關鍵作用,但它們在將這些模型作為解釋人類語言處理的候選模型進行比較方面顯然不夠充分。一些基準通過比較語言模型分配給合乎語法和不合乎語法句子的概率(例如BLiMP)來評測語言模型。然而,由于這些基準受到理論語言學考慮的驅動,它們可能無法檢測到語言模型可能從人類語言中學習到的新穎的表達方式。最后,另一個實際的問題是NLP研究的快速發展導致這些類型的靜態基準迅速飽和,使得難以區分不同模型之間的性能。
針對這些問題的一個解決方案是使用動態的人機協同基準測試,其中人們積極地對模型進行一系列不斷演化的測試以進行強化測試。然而,這種方法面臨一個重大障礙,隨著測試案例的增加,人們會發現越來越難找到新穎和有趣的測試案例,以便真正挑戰語言模型的性能。。作者提議將人工策劃的基準測試與模型驅動的評估相結合。在模型的預測指導下,而不是實驗者的直覺,我們希望識別特別信息豐富的測試句子,其中不同的模型會做出不同的預測。我們可以在大量自然語言的語料庫中找到這些關鍵句子,或合成新的測試句子,以揭示不同模型在其訓練分布之外的泛化方式。
在文中,作者提出了一種系統的、以模型為驅動的方法,用于比較語言模型在與人類判斷一致性方面的性能。作者生成了有爭議的句子對,這些句子經過設計,使得兩個語言模型在哪個句子更可能出現方面存在強烈分歧。然后,作者收集人類的判斷,以確定每對句子中哪個更有可能,以解決這兩個模型之間的爭議。
實驗概述
作者從進行在線測試的100名以英語為母語的參與者那里獲得了評判。在每個實驗試驗中,參與者被要求判斷兩個句子中哪一個他們“更有可能在現實世界中遇到,無論是口語還是書面文本”,并在一個三級別的信心評級上提供他們答案的信心值。該實驗旨在比較九種不同的語言模型:基于兩個詞組和三個詞組序列的的詞頻概率模型以及一系列神經網絡模型,包括RNN、長短時記憶網絡(LSTM)和五個transformer模型(BERT、RoBERTa、XLM、ELECTRA和GPT-2)。
使用有爭議的自然數據對,進行高效的模型比較
圖1
表 1
作為基準線,作者從Reddit評論語料庫中隨機抽樣并配對了八個詞的句子。然而,如圖1a所示,這些句子未能揭示模型之間的有意義的差異。對于每一對句子,所有模型都傾向于偏好相同的句子,因此在預測人類偏好評分方面表現相似。相反,可以使用一個優化過程來搜索有爭議的句子對,其中一個語言模型僅為句子1分配高概率,而第二個語言模型僅為句子2分配高概率(示例見表1)。不同的語言模型在預測人類在特定句子對上的選擇時,顯示出在與人類的一致性方面存在許多顯著差異(如圖1b所示),其中GPT-2和RoBERTa顯示出最好的人類一致性。 使用合成句子對,實現更大程度的模型分離
圖 2
表 2
選擇有爭議的自然句子對可能比隨機抽樣自然句子對提供更大的能力,但這個搜索過程只考慮了可能的句子對空間的非常有限的部分。相反,我們可以迭代地替換自然句子中的單詞,以驅使不同的模型產生相反的預測,形成合成的有爭議句子,這些句子可能位于任何自然語言語料庫之外,如圖2所示。作者展示了合成的有爭議句子對,如表2所示。
圖 3
作者評估了每個模型在所有有爭議的合成句子對中對人類句子選擇的預測準確度(圖3a)。這種模型與人類的一致性評估方式,導致了模型的預測準確度之間的差距更大,使較弱的模型(RNN、3-gram和2-gram)遠低于50%的隨機準確度水平。在這些試驗中,GPT-2、RoBERTa和ELECTRA在預測人類的響應方面明顯比其他模型(BERT、XLM、LSTM、RNN、3-gram和2-gram)更準確。
自然句子和合成句子的組合揭示了盲點 最后,作者考慮了那些要求參與者在自然句子和合成句子之間選擇的試驗。如果語言模型與人類判斷完全一致,作者期望人類會同意模型,并至少與自然句子一樣多地選擇合成句子。然而,在現實中,人類參與者明顯更偏好自然句子而不是它們的合成對應物(圖3b),即使合成句子是針對更強大的模型(即GPT-2、RoBERTA或ELECTRA)而生成。針對每個模型對分別評估自然句子的偏好,作者發現即使將一個強模型與一個相對較弱的模型配對(以至于強模型接受合成句子而弱模型拒絕它),也可以揭示這些缺點。
評估整個數據集揭示了模型的層次結構
圖 4
與評估每個模型的預測準確性相比,針對用于比較這個模型與替代模型的特定句子對,作者通過計算每個模型對所有收集到的實驗的平均預測準確性來最大化對于模型的評測能力。此外,作者在這里測量了分級人類選擇(考慮信心)與每個候選模型分配的句子概率的對數比率之間的序數對應關系。使用這個更敏感的基準(圖4),作者發現GPT-2與人類最一致,其次是RoBERTa,然后是ELECTRA、BERT、XLM和LSTM,以及RNN、3-gram和2-gram模型。造成雙向transformer(RoBERTa、ELECTRA、BERT和XLM)性能較差的一個可能原因是,與單向transformer(GPT-2)相比,這些模型中的句子概率計算較為復雜。作者開發的概率估計器也可能不是最優的;事實上,偽對數似然(PLL)方法在隨機抽樣的自然句子對上提供了稍高的準確性。然而,當作者通過生成新的合成的有爭議的句子來直接比較當前采用的估計器與PLL時,發現作者的估計器更好地與人類判斷一致。 參考資料 Golan, T., Siegelman, M., Kriegeskorte, N. et al. Testing the limits of natural language models for predicting human language judgements. Nat Mach Intell (2023). //doi.org/10.1038/s42256-023-00718-1
原創作者:崔涵,宋巖奇 轉載須標注出處:哈工大SCIR
一個一直以來的共識是,模型的規模越大,模型在下游任務上的能力越多、越強。隨著最近的新的模型的提出,大規模的語言模型出現了很多超乎研究者意料的能力。我們針對這些在小模型上沒有出現,但是在大模型上出現的不可預測的能力——“涌現能力”做了一些歸納和總結,分別簡要介紹了涌現能力的定義、常見的激發手段和具體的分類和任務。
Kaplan J等人[1]在 2020 年提出縮放法則,給出的結論之一是:模型的性能強烈依賴于模型的規模,具體包括:參數數量、數據集大小和計算量,最后的模型的效果(圖中表現為loss值降低)會隨著三者的指數增加而線性提高(對于單個變量的研究基于另外兩個變量不存在瓶頸)。這意味著模型的能力是可以根據這三個變量估計的,提高模型參數量,擴大數據集規模都可以使得模型的性能可預測地提高。Cobbe等人[2]的工作提出縮放定律同樣適用于微調過程。
圖1:Loss值隨計算資源、數據規模大小和參數量的指數提升呈線性下降
縮放定律的一個重要作用就是預測模型的性能,但是隨著規模的擴大,模型的能力在不同的任務上并不總表現出相似的規律。在很多知識密集型任務上,隨著模型規模的不斷增長,模型在下游任務上的效果也不斷增加;但是在其他的復雜任務上(例如邏輯推理、數學推理或其他需要多步驟的復雜任務),當模型小于某一個規模時,模型的性能接近隨機;當規模超過某個臨界的閾值時,性能會顯著提高到高于隨機(如下圖所示)。這種無法通過小規模模型的實驗結果觀察到的相變,我們稱之為“涌現能力”。
在其他的學科中已經有很多與“涌現能力”相關的研究了,不同學科解釋的方式和角度也不盡相同。物理學中對“涌現能力”的定義[3]是:
當系統的量變導致行為的質變的現象(Emergence is when quantitative changes in a system result in qualitative changes in behavior)。 對于大規模語言模型的涌現能力,在 Jason Wei 等人的工作中[4]的工作中,給出的定義: 在小模型中沒有表現出來,但是在大模型中變現出來的能力"(An ability is emergent if it is not present in smaller models but is present in larger models.)。 涌現能力大概可以分為兩種:通過提示就可以激發的涌現能力和使用經過特殊設計的prompt激發出的新的能力。
通過 prompt 激發大模型能力的方法最早在GPT3[5]的論文中提出提示范式的部分加以介紹:給定一個提示(例如一段自然語言指令),模型能夠在不更新參數的情況下給出回復。在此基礎上,Brown等在同一篇工作中提出了Few-shot prompt,在提示里加入輸入輸出實例,然后讓模型完成推理過程。這一流程與下游任務規定的輸入輸出完全相同,完成任務的過程中不存在其他的中間過程。 下圖展示了來自不同的工作的對于大模型的在few-shot下測試結果。其中,橫坐標為模型訓練的預訓練規模(FLOPs:floating point operations,浮點運算數。一個模型的訓練規模不僅和參數有關,也和數據多少、訓練輪數有關,因此用FLOPs綜合地表示一個模型的規模);縱軸為下游任務的表現。可以發現,當模型規模在一定范圍內時(大多FLOPs在10^22以內),模型的能力并沒有隨著模型規模的提升而提高;當模型超過一個臨界值時,效果會馬上提升,而且這種提升和模型的結構并沒有明顯的關系。 圖2:在普通prompt方式下,不同任務上的效果隨模型訓練的計算量的提升的變化
隨著對大規模語言模型的研究越來越深入,為大模型添加prompt的方式也越來越多,主要表現出的一個趨勢是,相比于普通的 few-shot 模式(只有輸入輸出)的 prompt 方式,新的方法會讓模型在完成任務的過程中擁有更多的中間過程,例如一些典型的方法:思維鏈(Chain of Thought)[6]、寄存器(Scratchpad)[7]等等,通過細化模型的推理過程,提高模型的下游任務的效果。 下圖展示了各種增強提示的方法對于模型的作用效果,具體的任務類型包括數學問題、指令恢復、數值運算和模型校準,橫軸為訓練規模,縱軸為下游任務的評價方式。與上圖類似,在一定的規模以上,模型的能力才隨著模型的規模突然提高;在這個閾值以下的現象則不太明顯。當然,在這一部分,不同的任務采用的激發方式不同,模型表現出的能力也不盡相同,我們會在下文分類介紹。
圖3:在增強的prompt方式下,一些復雜任務的效果隨模型訓練的計算量提升而提升
在這一部分,我們并沒有沿用Jason Wei 等人[4]的工作中以使用方法分類的脈絡,因為同一種方式激發出的能力可能能應用于多個任務,多種激發方式也可能只是不同程度地提升同種能力;我們采用Yao等人[8]的方式,從能力出發,對不同的方法激發出的能力和激發效果進行總結。
大規模的語言模型展現出了優秀的上下文學習能力(In-context learning)。這種能力并非大模型專屬,但是大模型的足夠強大的上下文學習能力是之后各種涌現能力激發的基礎。類似于無監督的預測,在上下文學習過程中,不需要對模型進行參數調整,只需要在輸入測試樣例之前輸入少量帶有標注的數據,模型就可以預測出測試樣例的答案。 有關上下文學習的能力來源仍然有很多討論。在 Min等人[9]的實驗中,分析了上下文學習能力的作用原理。實驗表明,上下文學習的過程中,prompt中的ground truth信息并不重要,重要的是prompt中實例的形式,以及輸入空間與標簽空間是否與測試數據一致。Xie 等人的工作[10]將上下文學習的過程理解為一個貝葉斯推理的過程,在in-context learning的過程中,模型先基于prompt推測concept,然后基于concept和prompt生成output。在對多個樣例進行觀測的過程中,prompt中的數據會給concept提供“信號”(與預訓練過程中的相似之處)和“噪聲”(與預訓練過程分布差別較大之處),當信號大于噪聲時,模型就可以推理成功。
在問答和常識推理任務上需要模型具有較好的知識推理能力,在這種情況下,對大型模型進行提示不一定優于精調小型模型。但是大模型擁有更高的標注效率,因為:
在許多數據集中,為了獲得所需的背景/常識知識,小模型需要一個外部語料庫/知識圖譜來檢索,或者需要通過多任務學習在增強的數據上進行訓練
對于大型語言模型,可以直接去掉檢索器,僅依賴模型的內部知識,且無需精調
圖4:之前的需要外部檢索的SOTA和GPT-3的性能對比
上表來自于 Yu等人[11]的工作。如表中所示,雖然在常識/開放域問答任務上GPT-3 并沒有明顯優于之前的精調模型,但它不需要從外部文檔中檢索,因為其本身就包含了知識。
為了理解這些結果的重要性,我們可以回顧一下NLP的發展歷史:NLP 社區從一開始就面對著如何有效編碼知識的挑戰。研究者們一直在不斷探索如何把知識保存在模型外部或者內部的方法。上世紀九十年代以來,研究者們一直試圖將語言和世界的規則記錄到一個巨大的圖書館中,將知識存儲在模型之外。但這是十分困難的,畢竟我們無法窮舉所有規則。因此,研究人員開始構建特定領域的知識庫,來存儲非結構化文本、半結構化(如維基百科)或完全結構化(如知識圖譜)等形式的知識。通常,結構化知識很難構建,但易于推理,非結構化知識易于構建,但很難用于推理。然而,語言模型提供了一種新的方法,可以輕松地從非結構化文本中提取知識,并在不需要預定義模式的情況下有效地根據知識進行推理。下表為優缺點對比:
構建推理結構化知識難構建需要設計體系結構并解析容易推理有用的結構已經定義好了非結構化知識容易構建只存儲文本即可難推理需要抽取有用的結構語言模型容易構建在非結構化文本上訓練容易推理使用提示詞即可
在 2018 年至 2022 年期間,NLP、CV 和通用機器學習領域有大量關于分布偏移/對抗魯棒性/組合生成的研究,人們發現當測試集分布與訓練分布不同時,模型的行為性能可能會顯著下降。然而,在大型語言模型的上下文學習中似乎并非如此。
圖5: GPT-3的同分布和不同分布之間的對比,以及和RoBERTa的對比 上圖來自Si等人[12]在2022年的研究,在此實驗中,同分布情況下基于prompt的 GPT-3 的效果并沒有精調后的 RoBERTa要好。但它在三個其他分布(領域切換、噪聲和對抗性擾動)中優于 RoBERTa,這意味著 GPT3 更加魯棒。
圖6:不同復雜程度的提示在不同分布中對模型效果的影響 此外,即使存在分布偏移,好的提示詞所帶來的泛化性能依舊會繼續保持。比如Fu 等人[13]2022年的研究(上圖所示),輸入提示越復雜,模型的性能就越好。這種趨勢在分布轉移的情況下也會繼續保持:無論測試分布與原分布不同、來自于噪聲分布,或者是從另一個分布轉移而來的,復雜提示始終優于簡單提示。
復雜推理能力包含若干方面,如數學推理能力、代碼生成、腳本生成等等,以下的介紹我們以數學推理能力為例。數學推理的一個典型的數據集是GSM8K,其由8.5K個人工標注的高質量的小學數學問題組成。數據集的標注內容不僅包含最終結果,還包含得到結果的2~8個推理步驟。
在最開始的GPT3的論文中,對于這個任務的學習方式仍然是微調的方式,得到的結果基本符合縮放定律。作者在論文里得出一個結論:
175B的模型仍然需要兩個額外數量級的訓練數據才能達到80%的準確率。 但是在之后的工作中,通過其他的方式大大提高了該任務上的結果。Wei等人[6]通過思維鏈的方式,將540B的PaLM模型上的準確率提高到56.6%,這一過程并沒有微調,而是將8個提示示例作為prompt,通過few-shot的方式激發模型的推理能力。在此基礎上,Wang等人[14]通過多數投票的方式,將這一準確率提高到74.4%。Yao等人[15]提出Complexity-based Prompting,通過使用更復雜、推理步驟更多的樣例作為prompt,進一步提高模型的效果。在此之外,數據集的難度也越來越高:Chung等人[16]將測試范圍擴展到高中的各個學科;Minerva[17]的工作將測試范圍擴展到大學的各個學科;Jiang等人[18]進一步將測試范圍擴展到國際數學奧林匹克問題上。
我們看到,從涌現能力的角度講,模型在在達到一定規模后,用恰當的方式激發出的性能確實遠遠超過縮放法則所預測的效果;與此同時,各種方法都是few-shot或zero-shot的方式,需要的數據也更少。現在并沒有太多工作能夠直接對比在同樣的足夠大的模型上,微調和prompting的方式的性能差距;但是在下游任務數據集的規模往往遠小于模型充足訓練所需要的數據規模的情境下,利用prompting激發模型本來的能力確實能夠顯著提高效果,這也是目前大多數任務面臨的情況。
在斯坦福大學最新的工作[19]中指出,大模型的涌現能力來自于其不連續的評價指標,這種不連續的評價指標導致了模型性能在到達一定程度后出現“大幅提升”。如果換成更為平滑的指標,我們會發現相對較小的模型的效果也并非停滯不前,規模在閾值以下的模型,隨著規模的提高,生成的內容也在逐漸靠近正確答案。 為了驗證這一觀點,斯坦福的研究人員做了兩組實驗,第一組是將NLP中不連續的非線性評價指標轉為連續的線性評價指標,結果如下圖所示,模型的涌現能力消失了(從圖2到下圖)。 圖7:不同類型指標下,不同規模的模型的性能對比。當換為更加平滑的指標后,小模型的性能也隨著規模擴大而逐步提高 第二組實驗是將CV任務中的連續指標轉換為了類似NLP中的不連續指標,結果如下圖所示,CV任務中也出現了涌現能力:
圖8:更換指標之后,cv任務中的模型規模與模型效果之間的關系。當換為不平滑指標后,cv任務中的模型也出現類似的“涌現能力”
因此LLM中的涌現能力到底是什么,又是如何出現的,依然值得研究者們研究。
本文簡要介紹了涌現能力,具體包括涌現能力之前的縮放法則,涌現能力的定義,涌現能力的分類,還簡要介紹了不同涌現能力的典型激發方法。當然,歸根結底,“涌現能力”只是對一種現象的描述,而并非模型的某種真正的性質,關于其出現原因的研究也越來越多。現有的一些工作認為,模型的涌現能力的出現是和任務的評價目標的平滑程度相關的。在之后的工作中,更好的評級方式,更高的數據質量,更出乎人意料的prompt方式,都可能會更進一步提高模型的效果,并讓觀測到的效果得到更客觀的評價。
[1] Kaplan J, McCandlish S, Henighan T, et al. Scaling laws for neural language models[J]. arXiv preprint arXiv:2001.08361, 2020. [2] Cobbe et. al. 2021. Training Verifiers to Solve Math Word Problems. [3] Philip W. Anderson. More is different: Broken symmetry and the nature of the hierarchical structure of science. Science, 177(4047):393–396, 1972. [4] Wei J, Tay Y, Bommasani R, et al. Emergent abilities of large language models[J]. arXiv preprint arXiv:2206.07682, 2022. [5] Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D. Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, et al. Language models are few-shot learners. [6] Wei J, Wang X, Schuurmans D, et al. Chain of thought prompting elicits reasoning in large language models[J]. arXiv preprint arXiv:2201.11903, 2022. [7] Maxwell Nye, Anders Johan Andreassen, Guy Gur-Ari, Henryk Michalewski, Jacob Austin, David Bieber, David Dohan, Aitor Lewkowycz, Maarten Bosma, David Luan, et al. Show your work: Scratchpads for intermediate computation with language models. arXiv preprint arXiv:2112.00114, 2021. [8] Fu, Yao; Peng, Hao and Khot, Tushar. (Dec 2022). How does GPT Obtain its Ability? Tracing Emergent Abilities of Language Models to their Sources. Yao Fu’s Notion [9] Min S, Lyu X, Holtzman A, et al. Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?[J]. arXiv preprint arXiv:2202.12837, 2022. [10] Xie S M, Raghunathan A, Liang P, et al. An explanation of in-context learning as implicit bayesian inference[J]. arXiv preprint arXiv:2111.02080, 2021. [11] Yu W, Iter D, Wang S, et al. Generate rather than retrieve: Large language models are strong context generators[J]. arXiv preprint arXiv:2209.10063, 2022. [12] Si C, Gan Z, Yang Z, et al. Prompting gpt-3 to be reliable[J]. arXiv preprint arXiv:2210.09150, 2022. [13] Fu Y, Peng H, Sabharwal A, et al. Complexity-based prompting for multi-step reasoning[J]. arXiv preprint arXiv:2210.00720, 2022. [14] Wang et. al. 2022. Self-Consistency Improves Chain of Thought Reasoning in Language Models. [15] Fu et. al. 2022. Complexity-Based Prompting for Multi-step Reasoning. [16] Chung et. al. 2022. Scaling Instruction-Finetuned Language Models. [17] Lewkowycz et. al. 2022. Minerva: Solving Quantitative Reasoning Problems with Language Models. [18] Jiang et. Al. 2022. Draft, Sketch, and Prove: Guiding Formal Theorem Provers with Informal Proofs. [19] Schaeffer R, Miranda B, Koyejo S. Are Emergent Abilities of Large Language Models a Mirage?[J]. arXiv preprint arXiv:2304.15004, 2023. 本期責任編輯:張 宇本期編輯:李寶航
摘要: 隨著人工智能的快速發展,從可行的算法中選擇滿足應用需求的算法已經成為各領域亟待解決的關鍵問題,即算法選擇問題。基于元學習的方法是解決算法選擇問題的重要途徑,被廣泛應用于算法選擇研究并取得了良好成果。方法通過構建問題特征到候選算法性能的映射模型來選擇合適的算法,主要包括提取元特征、計算候選算法性能、構建元數據集以及訓練元模型等步驟。首先,闡述基于元學習的算法選擇概念和框架,回顧簡述相關綜述工作;其次,從元特征、元算法和元模型性能指標三方面總結研究進展,對其中典型的方法進行介紹并比較不同類型方法的優缺點和適用范圍;然后,概述基于元學習的算法選擇在不同學習任務中的應用情況;繼而,使用140個分類數據集、9種候選分類算法和5種性能指標開展算法選擇實驗,對比不同算法選擇方法的性能;最后,分析目前存在的挑戰和問題,探討未來的發展方向。 //fcst.ceaj.org/CN/abstract/abstract3212.shtml
人工智能是數據處理與分析的重要技術,為人 們利用數據進行決策和研究提供了有力支撐。在人 工智能的不同領域中,研究人員提出了大量算法,然 而,不同算法在有限數量的問題上具備優越性能,不 存在一個適用于所有問題的可行算法,該現象被稱 為算法的性能互補性(performance complementarity) 現象[1] ,與“沒有免費午餐”(no free lunch)定理相印 證[2] 。算法的性能互補性現象普遍存在于不同領域, 如何為給定問題從大量可行算法中選擇滿足應用需 求的算法成為了各領域面臨的重要挑戰,即算法選 擇問題(algorithm selection problem)[3] 。算法選擇問 題通常采用人工選擇或自動選擇的方法解決。人工 選擇方法通過實驗試錯或依賴專家選擇合適的算 法,然而實驗試錯方法成本較高,專家選擇與專家的 經驗知識相關且靈活性較低[4] 。自動選擇方法通過 設計算法和模型,根據問題的特點自動選擇滿足應 用需求的算法,包括活躍測試(active test)方法、推薦 系統方法以及基于元學習(meta-learning)的方法[5-7] 。 其中基于元學習的方法研究基礎較為深厚,具備開 銷低和靈活度高等優點,成為了解決算法選擇問題 的主要方法[8-9] 。 本文對基于元學習的算法選擇進行綜述總結, 為研究人員了解相關領域的發展現狀提供參考。
選自arXiv
作者:Julia Gusak等
機器之心編譯
編輯:杜偉、澤南在本綜述論文中,研究者解釋了不同技術的工作原理、評估和比較,還分析了一些實現這些技術的框架。
現代深度學習和人工智能技術的發展涉及使用深度神經網絡(DNN)來解決圖像、視頻、音頻、自然語言處理、圖像形式的內容生成等各種問題,或生成給定格式主題的文本等任務。
俄羅斯斯科爾科沃科學技術研究所、法國里爾大學、波爾多大學、Inria 等科研機構聯合發表了一篇論文《Survey on Large Scale Neural Network Training》,它試圖解決的問題是:若給定模型和計算平臺的情形下,如何訓練才是最有效率的。為了使訓練高效,其必須可行,最大程度地利用資源的計算能力,在并行情況下,它不能讓信息傳輸成為瓶頸。訓練的效率從根本上取決于計算內核在計算資源(CPU、TPU、GPU)上的有效實現以及 GPU 之間和不同內存之間通信的有效實現。
論文鏈接://arxiv.org/abs/2202.10435
在這兩種情況下,人們為優化計算內核的算術強度,及有效實現硬件網絡上的通信做了很多工作。對于使用者來說,已存在強大的分析工具來識別硬件瓶頸,并可用于判定本調查中描述哪些策略可用于解決算術強度、內存和控制交換數據量的問題。
該綜述研究涵蓋了應對這些限制的通用技術。如果由于模型、優化器狀態和激活不適合內存而無法先驗執行計算,則可以使用內存交換計算(重新實現)或數據轉移(激活和權重卸載)。我們還可以通過近似優化器狀態和梯度(壓縮、修剪、量化)來壓縮內存使用。
并行方法(數據并行、模型并行、流水線模型并行)也可以將內存需求分布到多個算力資源上。如果計算的算力強度不足以充分利用 GPU 和 TPU,一般是因為 mini-batch 太小,那么上述技術也可以增加 mini-batch 的大小。最后,如果使用數據并行引起的通信開銷昂貴到拖累計算速度,則可以使用其他形式的并行(模型并行、流水線模型并行),梯度壓縮也可以限制數據交換的數量。
在本次調查中,研究者解釋了這些不同技術是如何工作的,其中描述了評估和比較所提出方法的文獻,還分析了一些實施這些技術的框架。
下表 1為文章討論的不同技術及其對通信、內存和計算效率的影響。
研究者根據目的區分了以下方法:首先討論減少 GPU 內存使用,隨后考慮對不適合 GPU 的模型使用并行訓練,最后討論為訓練存儲在多個設備上的模型而開發的優化器的設計。
單 GPU 情況下減少內存使用
在前向傳播期間,神經網絡存儲執行反向傳播所需的激活。在某些情況下,這些激活會消耗大量內存,讓模型無法訓練。減少內存使用的主要方法有兩種:重新實現(也稱為 checkpointing)和卸載。
激活的重新實現
重新實現的策略僅在前向傳播期間存儲一小部分激活,并在反向傳播期間重新計算其余部分。重新實現方法可以通過它們處理的計算圖來區分。第一組來自自動微分(AD),它們為同構順序網絡(多層按順序執行并具有相同計算和內存成本的 DNN)找到最佳調度。第二組專注于過渡模型,例如異構序列網絡(可以是由任意復雜模塊組成的任何序列神經網絡,如 CNN、ResNet、一些 transformer),它將解決方案從 AD 調整為異構設置。 一些方法可以對一般計算圖執行重新實現,盡管確切的計算成本可能指數級上升,如下表 2 所示。
激活卸載
卸載(又被稱為內存交換)是一種通過在前向傳遞期間將激活轉移到 CPU 內存并將它們預取回 GPU 內存,以進行相應的向后計算來節省 GPU 內存的技術。 由于 CPU 和 GPU 之間 PCI 總線的帶寬有限,必須優化選擇傳輸激活,以及何時傳輸的選擇。 在 vDNN [Rhu et al., 2016] 研究中,作者通過僅卸載卷積層的輸入來遵循對 CNN 有效的啟發式方法,然而它不能很好地推廣到一般 DNN 上。另有研究 [Le et al., 2018] 考慮了激活生命周期來選擇卸載的內容,并使用圖搜索方法來識別插入卸載 / 預取操作的時刻。AutoSwap [Zhang et al., 2019] 通過為每個變量分配優先級分數來決定卸載哪些激活。
權重卸載
前面提到的很多方法也適用于卸載權重,這是因為卸載權重依賴于適用于任何張量的通用技術,比如 TFLMS、AutoSwap 或者 SwapAdvisor。
不適合單個 GPU 的模型的并行性
在模型并行化中,只需要傳達激活信息,并且傳輸只發生在分配給不同處理器的連續層之間。本章節提到的工作如下表 4 所示。
如果多個小批量被 pipeline 化 ,則可以加快模型并行化中的執行速度,從而同時激活了多個訓練迭代,具體可見 [Huang et al., 2019]。一旦在所有這些小批量上計算了前向和后向階段,權重就會更新。這種方法實現起來相當簡單,但也導致計算資源大部分處于空置狀態。[Narayanan et al., 2019] 中提出的 PipeDream 方法僅強制前向和后向任務針對給定的小批量使用相同的模型權重,改進了這一訓練過程。
減少執行更新的頻率也已被證明有助于限制權重過期(Narayanan et al., 2021a)。[Yang et al., 2021] 提出的 PipeMare 根據 pipeline 階段向后調整學習率和模型權重。
對 pipeline 方法中激活導致的存儲成本進行建模是一項艱巨的任務(Beaumont et al., 2021b)。例如,[Fan et al., 2021] 中的 DAPPLE 、 [Li and Hoefler, 2021] 中的 Chimera 使用 1F1B(One-Forward-One-Backward)調度來減少與激活相關的內存消耗。1F1B 是一種同步權重更新技術,盡可能早地安排每個微批次的反向傳遞,以釋放激活占用的內存。
有些論文專門處理具有挑戰性的拓撲。比如,為了解決高通信成本和異構網絡能力的問題,[Zhan and Zhang, 2019] 中的 Pipe-torch 提出了一種更新的動態規劃策略,該策略假設計算和通信之間沒有重疊。[Park et al., 2020] 中的 Pipe 解決了異構 GPU 的其他問題,采用的方法是將這些異構 GPU 分成虛擬 worker,并在每個虛擬 worker 中運行 pipeline 并行化,同時依賴 worker 之間的數據并行化。
**用于跨設備模型訓練的優化器 **
零冗余優化器
2020 年, Rajbhandari, S. 等人在論文《 ZeRO: Memory Optimizations toward Training Trillion Parameter Models》中提出了零冗余優化器(Zero Redundancy Optimizer, ZeRO),將它作為一種減少內存使用的數據并行化實現。根據在設備上劃分的張量,該算法具有三個階段,即階段 1 - 優化器狀態、階段 2 - 優化器狀態和梯度和階段 3 - 優化器狀態、梯度和模型超參數。 2021 年, Ren, J. 等人在論文《 ZeRO-Offload: Democratizing Billion-Scale Model Training》中將 ZeRO 與 Zero-Offload 內部參數更新的 CPU 端計算統一起來,其中梯度被遷移至存儲參數副本的 CPU,更新的權重遷移回 GPU。 低精度優化器
為了進一步減少內存使用,低精度優化器(low-precision optimizer)有了用武之地。這些方法使用低精度格式拉力表示優化器狀態以及狀態的輔助向量。并且,誤差補償技術可以被用來維持跟蹤統計的近似準確率。 2021 年, Dean, J. 等人在論文《Large Scale Distributed Deep Networks》中提出了一種將 Adam 優化器存儲在 8-bit 的方法,同時在使用 32-bit 格式時保持整體性能不變。2020 年, Sun, X. 等人在論文《Ultra-Low Precision 4-bit Training of Deep Neural Networks》中提出了更激進的精度降低,其中開發了處理 4-bit 表示的特定路徑。 收斂加速
另一種加速大規模深度學習模型的方法是減少節點之間的通信時間以及在適當局部最小值收斂所需的 epoch 數量。
關于通信成本的降低。在將梯度在計算節點之間遷移之前對它們進行壓縮已經出現了不同的方法,具體有三類,分別是分裂(sparsification)、量化(quantization)和低秩(low-rank)方法。 分裂方法只遷移完整梯度元素的一些子集,并在參數向量中更新相應的元素。這種近似方法能夠顯著降低通信成本,同時保持訓練模型的性能,代表工作有 2017 年 Aji, A. F. 和 Heafield, K 的論文《 Sparse Communication for Distributed Gradient Descent 》和 2019 年 Alistarh, D. 等的論文《The Convergence of Sparsified Gradient Methods》。
另一種方法是基于遷移梯度的量化,該方法只遷移一定數量的 bit、從這些 bit 中重建整個梯度向量并更新參數向量的所有元素。這種方法對于一些神經網絡架構和實驗設置得到了不錯的結果,代表工作有 Alistarh, D. 等人 2017 年的論文《QSGD: Communication-Efficient SGD via Gradient Quantization and Encoding》。
最后一種降低通信成本的方法是低秩方法,其中在更新參數向量之前構建、遷移和使用梯度的低秩近似來恢復完整格式的梯度。低秩近似可以通過塊能量(block power)方法或者最小化策略來構建,各自的代表工作分別是 Vogels et al., 2019 和Cho et al., 2019。
大批量訓練。另一種加速優化器收斂的方法是針對每個批使用大量的樣本。這種訓練設置可以減少每個 epoch 中的迭代次數,并提升 GPU 的利用率。在 Goyal, P 等人 2017 年的論文《Accurate, Large Minibatch SGD》中,研究者提出使用線性縮放規則來更新學習率和批大小。這一設置可以穩定優化過程,并將模型的最終性能收斂至相同。
封面來源:
1.介紹
讓機器能以人類智能相似的方式作出反應一直是人工智能研究人員的目標。為了讓機器能聽會說、能看會認、能理解會思考, 研究者提出一系列相關任務,如人臉識別、語音合成、閱讀理解等來訓練及評價機器在某一方面的智能程度。具體來說是,領域專家人工構造標準數據集,然后在其上訓練及評價相關模型及方法。但由于相關技術的限制,要想獲得效果更好、能力更強的模型,往往需要在大量的有標注的數據上進行訓練。
近期預訓練模型的出現在一定程度上緩解了這個問題。預訓練模型的解決思路是,既然昂貴的人工標注難以獲得,那么就去尋找廉價或者說幾乎無代價的標注信息。先利用廉價的標注信息預訓練模型再使用少量的昂貴的人工標注對模型進行微調。但是由于廉價的標注信息帶來的信息比較少又含有噪音,往往需要超大規模的數據以及超長的訓練時間對模型進行預訓練。目前來看這種代價是值得的,文本預訓練模型BERT一出世就在多項NLP任務上取得最好的結果。受此影響,語音領域預訓練模型也如雨后春筍般出現,如 MOCKINGJAY等。預訓練模型通過在大規模無標注數據上進行預訓練,一方面可以將從無標注數據上更加通用的知識遷移到目標任務上,進而提升任務性能;另一方面,通過預訓練過程學習到更好的參數初始點使得模型在目標任務上只需少量數據就能達到不錯的效果。
那么能否將預訓練方法應用到多模態任務上呢?能否通過挖掘不同模態數據之間關系設計預訓練任務訓練模型呢?能否通過大規模的無標注樣本讓模型理解懂得不同模態數據之間的關聯呢(如:文字的“馬”與圖片中的“馬”)?研究人員也抱著同樣的問題展開了探索,并取得了一定成果。本文梳理了目前多模態預訓練領域相關方法,并總結了各個方法所設計的預訓練任務及驗證實驗所使用的下游任務,希望對讀者能有所幫助。
2.多模態預訓練模型概覽
我們期望多模態預訓練模型能夠通過大規模數據上的預訓練學到不同模態之間的語義對應關系。在圖像-文本中,我們期望模型能夠學會將文本中的“狗”和圖片中“狗”的樣子聯系起來。在視頻-文本中,我們期望模型能夠將文本中的物體/動作與視頻中的物體/動作對應起來。為實現這個目標,需要巧妙地設計預訓練模型來讓模型挖掘不同模態之間的關聯。本文將側重介紹“如何設計預訓練任務”并通過表格來統計各個模型設計任務的異同。需要說明的是,為了方便對比我們統一了不同論文對相似任務的稱呼。
本文將目前多模態預訓練模型分為兩大類,圖像-文本預訓練模型(第3章)及視頻-文本預訓練模型(第4章)。對于兩大類預訓練模型,我們進一步將其分為Single-Stream 和Cross-Stream兩類,Single-Stream將圖片、文本等不同模態的輸入一視同仁,輸入同一個模型進行融合,而Cross-Stream將不同模態的輸入分別處理之后進行交叉融合。在第3章和第4章的最后,會用表格列出各個模型所使用的預訓練任務。在第5章會對目前的預訓練模型的方法進行總結。
3. 圖像-文本多模態預訓練模型 3.1 Cross-Stream 3.1.1 ViLBERT[1]
模型細節
輸入的文本經過文本Embedding層后被輸入到文本的單模態Transformer編碼器中提取上下文信息。使用預訓練Faster R-CNN對于圖片生成候選區域提取特征并送入圖像Embedding層生成Embedding。然后將獲取好的文本和圖像的Embedding通過Co-attention-transformer模塊進行相互交互融合,得到最后的表征。
ViLBERT模型圖如圖1所示,Co-attention-transformer模塊如圖2所示。
圖1 ViLBERT模型圖
圖2 Co-attention transformer模塊
預訓練任務
掩蔽文本預測(masked multi-modal modelling) 與BERT的設計思路一樣,根據概率隨機替換掉文本中部分詞,使用[MASK]占位符替代,需要模型通過文本中上下文,以及對應圖片中給出的信息,預測出被替換的詞。
掩蔽圖像預測(masked multi-modal modelling) 通過掩蔽經過Faster R-CNN提取到的預候選區域,使模型通過對應文本以及其他區域的圖像預測出被遮掩區域的類別。
圖片-文本對齊(multi-modal alignment) 給定構造好的圖文關系對,讓模型來判斷文本是否是對應圖片的描述,具體是使用以及
下游任務
作者將該模型應用到視覺問答(Visual Question Answering)、視覺常識推理(Visual Commonsense Reasoning)、指示表達定位(Grounding Referring Expressions)、圖像檢索(Caption-Based Image Retrieval)等下游任務上,并且取得了較好的結果。
3.1.2 LXMERT[2]
模型細節
類似于ViLBERT,對于文本和圖像經過Embedding層之后被送入各自的單模態編碼器,然后通過跨模態編碼器進行融合。
預訓練任務
掩蔽文本預測(Masked Cross-Modality LM) 該任務的設置與BERT的MLM任務設置一致。作者認為除了從語言模態中的非模態詞中預測被掩蔽詞外,LXMERT還可利用其跨模態模型架構,從視覺模態中預測被掩蔽詞,從而解決歧義問題,所以將任務命名為Masked Cross-Modality LM以強調這種差異。
掩蔽圖像類別預測(Detected-Label Classification)該任務要求模型根據圖像線索以及對應文本線索預測出直接預測被遮蔽ROI的目標類別。
掩碼圖像特征回歸(RoI-Feature Regression)不同于類別預測,該任務以L2損失回歸預測目標ROI特征向量。
圖片-文本對齊(Cross-Modality Matching) 通過50%的概率替換圖片對應的文本描述,使模型判斷圖片和文本描述是否是一致的。
圖像問答(Image Question Answering) 作者使用了有關圖像問答的任務,訓練數據是關于圖像的文本問題。當圖像和文本問題匹配時,要求模型預測這些圖像有關的文本問題的答案。
作者將該模型在多個下游任務上進行了測試,分別在視覺問答任務(Visual Question Answering)、面向現實世界視覺推理(Visual Reasoning in the Real World)等取得了很好的效果。
3.1.3 ERNIE-ViL[3] 模型細節
模型結構采用雙流架構,對于圖像和文本分別使用單模編碼器進行編碼然后使用跨模態Transformer實現兩個模態的信息交融。值得一提的是該模型引入了場景圖信息,通過將場景圖知識融入多模態預訓練中,使得模型更能精準把握圖像和文本之間細粒度的對齊信息。模型圖如圖5所示。
模型在預訓練任務中融入了場景圖(如圖6所示)的信息。場景圖中有目標(objects)、屬性(attributes)、關系(relationships)三種類別。
預訓練任務
場景圖預測(Scene Graph Prediction)根據給定的一段文本解析出場景圖結構,然后根據解析出的場景圖設計了三個子任務,分別是目標預測(object prediction)、屬性預測(attribute prediction)、關系預測(relationship prediction),通過掩蔽圖像和文本中場景圖解析出來的目標、屬性以及關系,使用模型進行預測,以讓模型學習到跨模態之間的細粒度語義對齊信息。
同時模型還使用了傳統的預訓練任務,分別是掩蔽文本預測(Masked Cross-Modality LM)、掩蔽圖像類別預測(Detected-Label Classification),以及圖片-文本對齊(Cross-Modality Matching)。
下游任務
作者在下游多個任務上進行檢測都取得了比較大的提升,具體有視覺常識推理(Visual Commonsense Reasoning)、視覺問答(Visual Question Answering)、圖像檢索(Image Retrieval)、文本檢索(Text Retrieval)、指示表達定位(Grounding Referring Expressions)。
3.2 Single-Stream 3.2.1 VL-BERT[4] 模型細節
模型架構與BERT相似,如圖7所示。整個模型的輸入有四部分embedding。
Token embedding層:對于文本內容使用原始BERT的設定,但是添加了一個特殊符[IMG]作為圖像的token。
Visual feature embedding層:這層是為了嵌入視覺信息新添加的層。該層由視覺外部特征以及視覺幾何特征拼接而成,具體而言,對于非視覺部分的輸入是整個圖像的提取到的特征,對應于視覺部分的輸入即為圖像經過預訓練之后的Faster R-CNN提取到的ROI區域圖像的相應視覺特征。
Segment embedding層:模型定義了A、B、C三種類型的標記,為了指示輸入來自于不同的來源,A、B指示來自于文本,分別指示輸入的第一個句子和第二個句子,更進一步的,可以用于指示QA任務中的問題和答案;C指示來自于圖像。
Position embedding層:與BERT類似,對于文本添加一個可學習的序列位置特征來表示輸入文本的順序和相對位置。對于圖像,由于圖像沒有相對的位置概念,所以圖像的ROI特征的位置特征都是相同的。
作者在視覺-語言數據集以及純語言數據集上都進行了大規模的預訓練,使用概念標題數據庫(Conceptual Captions)數據集作為視覺-語言語料庫,該數據集包含了大約330萬張帶有標題注釋的圖片,圖片來自于互聯網。但是這個數據集存在一個問題就是圖像對應的標題是簡短的句子,這些句子很短并且很簡單,為了避免模型只關注于簡單子句,作者還使用了BooksCorpus和英語維基百科數據集進行純文本的訓練。
預訓練任務
掩蔽文本預測(Masked Language Model with visual Clues) 此任務與BERT中使用的Masked Language Modeling(MLM)任務非常相似。關鍵區別在于,在VL-BERT中包含了視覺線索,以捕獲視覺和語言內容之間的依存關系。
掩蔽圖像類別預測(Masked RoI Classification with Linguistic Clues) 類似于掩蔽文本預測,每個RoI圖像以15%的概率被隨機掩蔽,訓練的任務是根據其他線索預測被掩藏的RoI的類別標簽。值得一提的是為了避免由于其他元素的視覺特征的嵌入導致視覺線索的泄漏,在使用Faster R-CNN之前,需要先將被Mask的目標區域的像素置零。
下游任務
作者將模型應用于視覺常識推理(Visual Commonsense Reasoning)、視覺問答(Visual Question Answering)、引用表達式理解(Referring Expression Comprehension)任務,并且都取得了顯著的效果。
3.2.2 Image-BERT[5] 模型細節
ImageBERT在圖像Embedding層添加了圖像位置編碼,即將通過Faster R-CNN得到的物體對應的ROI區域相對于全局圖的位置信息,編碼為五維向量,作為位置編碼添加進圖像的特征表示中。
預訓練任務
掩蔽文本預測(Masked Language Modeling) 此任務與BERT中使用的Masked Language Modeling(MLM)任務設定基本一致。
掩蔽圖像類別預測(Masked Object Classification) 此任務是MLM任務的擴展。與語言建模類似,通過對視覺對象進行掩蔽建模,期望模型預測出被掩蔽的圖像token的類別。
掩蔽圖像特征回歸(Masked Region Feature Regression) 該任務旨在預測被掩蔽的視覺對象的嵌入特征。通過在相應位置的輸出特征向量后添加一個全連接層,以將其投影到與原始RoI對象特征相同的維度上,然后應用L2損失來進行回歸。
圖片-文本對齊(Image-Text Matching) 除了語言建模任務和視覺內容建模任務之外,作者還添加了圖片-文本對齊任務以學習圖像-文本對齊。對于每個訓練樣本,對每個圖像隨機抽取負例句子,對每個句子隨機抽取負例圖像以生成負例訓練數據,讓模型判斷給定的圖像文本對是否對應。
下游任務
作者在MSCOCO以及Filcker30k數據上分別測試模型在圖像檢索(Image Retrieval)以及文本檢索(Sentence Retrieval)任務上的性能,取得了一定的提升。
表1 圖像-文本預訓練模型概覽表
4. 視頻文本多模態預訓練 4.1 Cross-Stream 4.1.1 UniVL[6] 模型細節
該模型先使用單模態編碼器對文本與視頻數據進行單獨建模,再使用跨模態編碼器對兩個模態的表示進行聯合編碼。
預訓練任務
視頻-文本單模態表示空間對齊(video-text joint) 為了利用BERT來幫助模型獲得更好的視頻表示,作者設計了視頻-文本單模態表示空間對齊任務。該任務具體是,構造正例對(視頻與對應/相近的文本)和負例對(視頻與不相關的文本),希望正例對中的視頻表示與文本表示更接近而負例對中的更遠。其中,視頻表示由視頻單模態編碼器得出,文本表示由文本單模態編碼器得出。
條件掩蔽文本預測(conditioned masked language model) 與BERT的設計思路類似,作者設計條件掩蔽文本預測任務來訓練模型。文本中的詞被隨機替換成占位符[MASK],然后替換后的文本與視頻進行聯合表示后,預測替換前的詞。
掩蔽幀預測(conditioned masked frame model) 輸入的視頻幀被隨機替換成占位符號,然后使用模型來預測被替換的視頻幀。由于直接預測原始的RGB視頻幀非常困難,因此作者使用對比學習的方法,希望原始視頻幀與模型相應位置得到的表示相關性更高。
視頻-文本對齊(video-text alignment) 視頻與相應的文本之間對齊標簽為1,而與其他文本對應的標簽為0。使用這個對齊信息作為監督信號訓練模型。
文本重構(language reconstruction) 為了使得模型能夠應用到下游任務-視頻描述生成上,作者設計了文本重構任務。具體采用了一個自回歸解碼器,其輸入為處理后的文本和視頻幀,輸出是原始的文本。
下游任務
作者在視頻檢索(Text-based Video Retrieval)、視頻描述生成(Multimodal Video Captioning)、行為分割(Action Segmentation)、動作定位(Action step localization),以及多模態情感分類(Multimodal Sentiment Analysis)等下游任務上進行了實驗,驗證了模型的有效性。
4.1.2 ActBERT[7] 模型細節
與之前不同的是本工作考慮了視頻中更細粒度的信息——物體信息,引入掩蔽物體預測任務,使得模型更細粒度地捕捉圖像信息。工作框圖如下。
為了使得模型能夠充分利用文本信息、視頻中時序信息,以及視頻中物體信息,該工作提出了Tangled Transformer模型,模型圖如下。a-transformer模塊對動作特征進行建模,r-transformer模塊對物體對象特征進行建模,w-transformer模塊對文本特征進行建模。三者之間的信息通過跨模態的多頭注意力機制進行交互。
預訓練任務
掩蔽文本預測(Masked Language Modeling with Global and Local Visual Cues)該任務設計與BERT一致,掩蔽部分詞,然后將文本與動作特征以及物體特征送入模型中進行聯合建模,最后使用相應位置的輸出向量預測被掩蔽的詞。
掩蔽動作預測(Masked Action Classification) 隨機將輸入的動作表示向量進行掩蔽,然后強迫模型通過其他信息如文本信息和物體信息來預測出動作的標簽如add等。
掩蔽物體預測(Masked Object Classification) 隨機將物體特征向量進行掩蔽,然后讓模型預測出該位置上物體的分布概率。希望預測出來的概率與Faster R-CNN對該區域的預測概率相近。
視頻-文本對齊(Cross-modal matching) 使用[CLS]的表示去預測文本與視頻是否匹配,負例是通過隨機從其他數據中進行采樣得到。
下游任務
作者將該模型應用到視頻檢索(Text-video clip retrieval)、視頻描述生成(Video Captioning)、行為分割(Action Segmentation)、視頻問答(Video question answering)、動作定位(Action step localization)等下游任務上。
4.2 Single-Stream 4.2.1 VideoBERT[8] 模型細節
該工作使用Transformer對文本和視頻統一進行建模。
預訓練任務
掩蔽文本預測(text-only mask-completion) 與BERT的設計思路一樣,文本中的詞被隨機替換成占位符[MASK],然后替換后的文本與視頻進行聯合表示后,預測替換前的詞。
掩蔽視頻預測(video-only mask-completion) 為了使得模型適配于BERT架構,作者建立“視覺詞表”將輸入視頻量化。具體是,將所有視頻切成片段,使用S3D模型對片段進行表示。然后使用聚類算法對表示進行聚類,共得到20736個聚類中心,這樣每個視頻片段就可以由聚類中心來表示,即可將視頻片段用離散的聚類中心編號進行表示。輸入的“視覺詞”被隨機替換成占位符號,然后使用模型來預測被替換的“視覺詞”。
視頻-文本對齊(linguistic-visual alignment) 使用[CLS]表示預測視頻和文本是否在時序上對齊。
下游任務
作者在動作識別、視頻描述生成等下游任務上進行了實驗。此外,該模型還可以用于給定文本生成視頻以及給定視頻上文生成視頻下文等任務。
4.2.2 HERO[9] 模型細節
該篇工作為了捕捉視頻的時序信息以及文本與視頻的對應信息設計了兩個新的預訓練任務, 視頻字幕對齊(Video Subtitle Matching)以及視頻幀順序建模(Frame Order Modeling)。整體工作框架如下。(注:每個句子的文本以及對應的視頻幀通過Cross-Modal Transformer得到經過交互后的表示(棕色為文本表示),然后將獲得的視頻幀的表示送入到后續模塊中。)
預訓練任務
掩蔽文本預測(Masked Language Modeling) 該任務設計與BERT一致,掩蔽部分詞,然后將文本與視頻幀特征送入模型中進行聯合建模,最后使用相應位置的輸入向量預測被掩蔽的詞。
掩蔽幀預測(Masked Frame Modeling) 該任務設計與BERT類似,掩蔽部分幀向量,然后將文本與視頻幀特征送入模型中進行聯合建模,最后使用相應位置的輸出向量預測被掩蔽的幀。實現幀的預測可使用兩種方式,一種是預測出幀向量,然后與標準幀向量計算損失。第二種是使用對比學習的方法,被掩蔽位置對應的輸出向量應與被掩蔽的幀向量更為相關。
視頻字幕對齊(Video Subtitle Matching) 作者為了更好的建模視頻與文本,提出了視頻字幕對齊(Video Subtitle Matching)任務。該任務包含兩個任務目標,第一個是從一個完整視頻對應的字幕中隨機采樣出一個句子,希望模型能夠找出該句子在視頻中對應的起始位置。第二個是從一個完整視頻對應的字幕中隨機采樣出一個句子,希望該句子與該視頻之間相關性更強而與其他視頻相關性更弱。
視頻幀順序建模(Frame Order Modeling) 為了更好的建模視頻的時序性,隨機打亂部分輸入幀的順序,然后利用模型預測出來每一幀對應的實際位置。具體實踐時將其建模成一個分類任務,類別數為輸入長度為N。
下游任務
作者在視頻檢索(video-subtitle moment retrieval)、視頻問答(Video question answering),以及視頻文本推理(video-and-language inference)等下游任務上驗證了模型的有效性。
表2 視頻-文本預訓練模型概覽表
5. 總結
本文簡單梳理了多模態圖像-文本預訓練模型以及多模態視頻-文本預訓練模型,簡單介紹了相關預訓練模型架構,設計的預訓練任務,以及衡量模型性能的下游任務。
通過對多模態預訓練任務的梳理,我們可以發現,現有預訓練任務主要有兩大類,一類是主要針對單個模態數據設計的,如掩蔽文本預測、掩蔽圖像預測、掩蔽幀預測。其中掩蔽文本預測仍然沿用BERT的設計,掩蔽圖像預測和掩蔽幀預測一般都不會直接預測原始的物體對象/幀圖像,而是預測特征。由于視頻具有時序性,有些模型還設計了視頻幀順序建模任務。該類任務可以使用多模態數據,也可只使用單模態數據進行訓練。使用多模態數據時,模型預測時不僅可以使用該模態內部的信息,還可以使用其他模態的信息。第二類主要是針對多模態數據而設計的。該類任務通過挖掘不同模態數據中的對應關系,設計預訓練目標,如視頻-文本對齊、圖片-文本對齊等。對于視頻,還有研究者提出視頻字幕對齊任務,來讓模型捕捉兩模態信息之間的關聯。
目前的多模態預訓練模型相關工作已經取得了一定的進展,在多個下游任務上有了不俗的表現。未來的工作可能從以下幾個方向取得進一步的進展,第一是單模態下游任務上能否取得提升。現在大部分多模態預訓練模型都是在多模態的下游任務上進行測試,少有工作在單模態任務如自然語言處理任務與單模態預訓練模型如RoBERTa進行全面的比較。如果認為模型在多模態數據上通過預訓練能夠更加充分的理解語義,那么直覺上看多模態預訓練模型與單模態模型在相近的實驗設置下(如語料規模相似)應當取得更好的成績。第二是更精細的挖掘不同模態數據間的相關信息并設計更巧妙的預訓練任務。比如挖掘圖像-文本之間,名詞與物體對象之間的相關性,使得模型建立詞語與物體對象之間的相關性。第三是設計更高效的模型架構以及挖掘更大規模的高質量多模態數據。
參考資料
[1] Lu J, Batra D, Parikh D, et al. Vilbert: Pretraining task-agnostic visiolinguistic representations for vision-and-language tasks[J]. arXiv preprint arXiv:1908.02265, 2019.
[2] Tan H, Bansal M. LXMERT: Learning Cross-Modality Encoder Representations from Transformers[C]//Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP). 2019: 5103-5114.
[3] Yu F, Tang J, Yin W, et al. Ernie-vil: Knowledge enhanced vision-language representations through scene graph[J]. arXiv preprint arXiv:2006.16934, 2020.
[4] Su W, Zhu X, Cao Y, et al. Vl-bert: Pre-training of generic visual-linguistic representations[J]. arXiv preprint arXiv:1908.08530, 2019.
[5] Qi D, Su L, Song J, et al. Imagebert: Cross-modal pre-training with large-scale weak-supervised image-text data[J]. arXiv preprint arXiv:2001.07966, 2020.
[6] Luo H, Ji L, Shi B, et al. Univilm: A unified video and language pre-training model for multimodal understanding and generation[J]. arXiv preprint arXiv:2002.06353, 2020.
[7] Zhu L, Yang Y. Actbert: Learning global-local video-text representations[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 8746-8755.
[8] Sun C, Myers A, Vondrick C, et al. Videobert: A joint model for video and language representation learning[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 7464-7473.
[9] Li L, Chen Y C, Cheng Y, et al. Hero: Hierarchical encoder for video+ language omni-representation pre-training[J]. arXiv preprint arXiv:2005.00200, 2020.
摘要:大數據是多源異構的。在信息技術飛速發展的今天,多模態數據已成為近來數據資源的主要形式。研究多模態學習方法,賦予計算機理解多源異構海量數據的能力具有重要價值。本文歸納了多模態的定義與多模態學習的基本任務,介紹了多模態學習的認知機理與發展過程。在此基礎上,重點綜述了多模態統計學習方法與深度學習方法。此外,本文系統歸納了近兩年較為新穎的基于對抗學習的跨模態匹配與生成技術。本文總結了多模態學習的主要形式,并對未來可能的研究方向進行思考與展望。