Visual Instruction Tuning
- Abstract
- 1. Introduction
- 2. Related Work
- 3. GPT-assisted Visual Instruction Data Generation
- 4. Visual Instruction Tuning
- 4.1 Architecture
- 4.2 Training
- 5 Experiments
- 5.1 Multimodal Chatchot
- 5.2 ScienceQA
- 6 Conclusion
Abstract
使用機器生成的instruction-following data 對大型語言模型(LLMs)進行指令調優已被證明可以提高新任務的zero-shot能力,但該想法在多模態領域的探索較少。我們首次嘗試使用languguage-only GPT-4來生成multimodal language-image instruction-following data。通過對這些生成的數據進行指令調優,我們引入了LLaVA:大型語言和視覺助理(Large Language and Vision Assistant),這是一個端到端訓練的大型多模態模型,它將視覺編碼器和LLM連接起來,用于通用的視覺和語言理解。為了促進視覺指令跟隨的進一步研究,我們構建了****兩個具有多樣化和挑戰性的應用導向任務的evaluation benchmarks。我們的實驗表明,LLaVA展示了令人印象深刻的多模態聊天能力,有時在看不見的圖像/指令上表現出multimodal GPT-4的行為,與GPT-4在合成(synthetic)的多模態指令遵循數據集上相比,產生了85.1%的相對分數。當在Science QA上進行微調時,LLaVA和GPT-4的協同(synergy)作用達到了92.53%的最新先進水平。我們讓GPT-4生成的visual instruction tuning data、我們的模型和代碼公開可用。
1. Introduction
人類通過視覺和語言等多種渠道與世界互動,每一種渠道在表達和交流某些概念方面都具有獨特的優勢,因此有助于更好地理解世界。人工智能的核心目標之一是開發一種通用(general-purpose)的助手,它可以有效地遵循多模態視覺和語言指令,與人類的意圖保持一致,在野外完成各種現實世界的任務。
為此(to end this),社區對開發語言增強基礎視覺(language-augmented foundation vision models)產生了濃厚的興趣,這些模型具有強大的開放世界視覺理解能力,如分類、檢測、分割和字幕,以及視覺生成和編輯。在這一系列工作中,每個任務由一個單一的大視覺模型獨立解決,在模型設計中隱式地(implicityly)考慮任務指令。此外,語言僅用于描述圖像內容。雖然這允許語言在將視覺信號映射到語言語義(人類交流的常見渠道)方面發揮重要作用,但它導致模型通常具有固定接口,交互性和對用戶指令的適應性有限。
另一方面,大型語言模型(LLM)已經表明,語言可以發揮更廣泛的作用:作為通用助手的通用接口,各種任務指令可以顯式地用語言表示,并引導端到端訓練的神經助手切換到感興趣的任務來解決它。例如,最近ChatGPT和GPT-4的成功證明了對齊LLM在遵循人類指令方面的強大功能,并激發了開發開源LLM的巨大興趣。其中,LLaMA是一個與GPT-3性能相匹配的開源LLM。Alpaca , Vicuna , GPT-4-LLM利用各種機器生成的高質量指令遵循示例來提高LLM的對齊能力,與所有的(proprietary)LLM相比,展現了令人印象深刻的性能。重要的是,這一些工作是純文本的**(text-only**)。
在本文中,我們提出了visual instruction-tuning,這是將visual instruction-tuning擴展到語言-圖像多模態空間的第一次嘗試,為構建通用的視覺助手鋪平了道路(pave the way)。特別地,我們的論文做出了以下貢獻:
- Multimodal instruction-following data. 一個關鍵的挑戰是缺乏visual-language instruction-following data 。我們使用ChatGPT/GPT-4提出了一個數據轉換視角(reformation perspective)和管道,將圖像-文本對轉換為適當的instruction-following格式.
- Large multimodal models:我們通過將open-set的視覺編碼器CLIP與語言解碼器Vicuna連接起來,開發了一個大型多模態模型(LMM),并對我們生成的instruction vision-language decoder進行端到端的微調。我們的實證(empirical)研究驗證了使用生成數據進行LMM指令調優的有效性,并提出了構建通用instruction-following visual agent的實用技巧。當與GPT-4集成時,我們的方法在Science QA多模態推理數據集上實現了SoTA。
- Multimodal instruction-following benchmark:我們現在的LLaVA-Bench有兩個具有挑戰性的基準,有多種選擇的配對圖像,instruction和詳細的注釋。
- open-source: the generated multimodal instruction data, the codebase,the model checkpoints以及一個visual chat demo.
2. Related Work
- Multimodal Instruction-following Agents.在計算機視覺中,現有的構建指令跟隨agent的工作可以大致分為兩類:(i)端到端訓練模型,它們分別針對每個特定的研究主題進行探索。例如,視覺語言導航任務(vision-languague navigation task)和Habitat要求嵌入的AI智能體遵循自然語言指令,并采取一系列動作來完成視覺環境中的目標。在圖像編輯領域(image editing domain),給定輸入圖像和告訴agent該做什么的書面指令,InstructPix2Pix通過遵循人類指令來編輯圖像。(ii)通過LangChain / LLMs協調各種模型的系統,如Visual ChatGPT、X-GPT、MM-REACT、VisProg和ViperGPT。雖然在構建Instruction-following Agents方面有相同的目標,但我們專注于為mltiple tasksl開發端到端的訓練語言視覺多模態模型。
- **Instruction Tuning.**在自然語言處理(NLP)領域,為了使GPT-3、T5、PaLM和OPT等LLM能夠遵循自然語言指令并完成現實世界的任務,研究人員探索了LLM指令調優的方法,從而分別產生了指令調優的對應物countpart,如InstructGPT /ChatGPT、FLAN-T5、FLAN-PaLM和OPT- iml。結果表明,這種簡單的方法可以有效地提高llm的zero-shot和few-shot的泛化能力。因此,將NLP的思想借用到計算機視覺是很自然的。更廣泛地說,基于基礎模型的teacher-student distillation已經在圖像分類等其他主題中得到了研究。Flamingo可以被看作是多模態域的GPT-3,因為它在zero-shot任務遷移和in-context-leaning方面表現出色。其他在圖像文本對上訓練的lmm包括BLIP-2、FROMAGe和KOSMOS-1。PaLM-E是一個用于嵌入AI的LMM。基于最近“最好的”開源LLM LLaMA, OpenFlamingo和lama - adapter使LLaMA能夠使用圖像輸入,為構建開源多模態llm鋪平了道路。雖然這些模型表現出很好的任務轉移泛化性能,但它們沒有明確地與視覺語言指令數據進行tuning,并且它們在多模態任務中的性能通常低于(fall short)僅語言任務。本文旨在填補這一空白,并研究其有效性。最后,需要注意的是,視覺指令調優與視覺prompt調優不同:前者旨在提高模型的指令跟隨能力,后者旨在提高模型自適應的參數效率。
3. GPT-assisted Visual Instruction Data Generation
社區見證了公共multimodal數據(如圖像-文本對)數量的激增,從CC到LAION。然而,當提到multimodal instruction-following data,可用的數量有限,部分原因是,當考慮到人類crowd-scouring篩選時,創建此類數據的過程既耗時又不well-defined。受到最近GPT模型在文本注釋任務中的成功的啟發,我們提出基于廣泛存在的image-pair數據利用ChatGPT/GPT-4進行多模態instruction-following data collection。
對于圖像Xv及其相關的captionXc,創建一組指示助手描述圖像內容的問題Xq是很正常的。我們prompt GPT-4整理(curate)這樣一個問題列表。因此,將圖像-文本對擴展到其instruction-following版本的一個簡單方法是Human: Xq Xv < STOP> Assistant: Xc< STOP>。雖然構建成本低廉,但這種簡單的擴展版本在指令和響應方面缺乏多樣性和深度推理。為了緩解這個問題,我們利用僅語言的GPT-4或ChatGPT作為強大的教師(兩者都只接受文本作為輸入),以創建包含視覺內容的instruction-following data。具體來說,為了將圖像編碼為視覺特征以提示純文本GPT,我們使用兩種類型的象征(symbolic)表示:(i)Captions:典型地從不同的角度描述視覺場景。(ii)Bounding boxes:通常對場景中的物體進行定位,每個方框對object概念及其空間位置進行編碼。如下圖所示:
這種象征表示允許我們將圖像編碼為llm可識別的序列。我們使用COCO圖像,生成三種類型的指令跟隨數據。如下圖所示。對于每種類型,我們首先手動設計一些示例。它們是我們在數據收集過程中唯一的人工注釋,并被用作在上下文學習中query GPT-4的種子示例。
我們總共收集了158K個unique的語言圖像指令遵循樣本,其中對話58K,詳細描述23K,復雜推理77k。我們在早期實驗中消融了ChatGPT和GPT-4的使用,發現GPT-4持續地提供更高質量的指令跟隨數據,例如空間推理。
4. Visual Instruction Tuning
4.1 Architecture
主要目標是有效地利用預訓練的LLM和visual模型的能力。網絡架構如下圖。我們選擇Vicuna作為我們的LLM f?(·)由?參數化,因為它在公開可用的language tasks checkpoints中具有最佳的instruction following 能力。
對于輸入圖像Xv,我們利用預訓練的CLIP視覺編碼器ViT-L/14,它提供視覺特征Zv = g(Xv)。我們的實驗利用 了最后一層Transformer前后的網格特征。我們利用一個簡單的線性層將圖像特征轉換到詞嵌入空間。具體來說,我們使用一個可訓練的投影矩陣W將Zv轉換為語言嵌入令牌Hv,它與語言模型中的詞嵌入空間具有相同的維數:
這樣,我們就有了一系列視覺標記Hv。請注意,我們的簡單投影方案是輕量級的,它允許我們快速迭代以數據為中心的實驗。還可以考慮更復雜的方案來連接圖像和語言表征,例如Flamingo中的門控交叉注意[2]和BLIP-2中的Q-former[28]。我們將為LLaVA探索更有效、更復雜的架構設計作為未來的工作。
4.2 Training
對于每張圖像Xv,我們生成多回合對話數據(X1 q, X1 a,···,XT q, XT a),其中T為總對話數。我們將它們組織成一個序列,將所有的回答視為助手的響應,并將指令Xt指令在第t輪處為:
這引出了多模態指令跟隨序列的統一格式表2:
表2 用于訓練模型的輸入序列。這里只說明了兩個對話回合;在實踐中,回合數根據指令遵循數據而變化。在我們當前的實現中,我們遵循Vicuna-v0[9]來設置系統消息Xsystem-message,我們設置< stop > = ###。該模型被訓練來預測assistabt答案和停止的位置,因此只有綠色序列/令牌用于計算自回歸模型中的損失。
我們使用其原始的自回歸訓練目標對預測令牌執行LLM的指令調優。具體來說,對于長度為L的序列,我們計算目標答案Xa的概率:
其中,θ為可訓練參數,xdirective,<i和Xa,<i分別為當前預測令牌xi之前所有回合的指令令牌和回答令牌。對于上述公式中的條件,我們顯式地添加了Xv,以強調圖像是基于所有答案的事實,并且為了更好的可讀性,我們省略了Xsystem-message和所有前面的
- **Pre-training for feature alignment.**為了在概念覆蓋率和訓練效率之間取得平衡,我們將CC3M過濾到595K圖像-文本對。有關過濾過程的詳情,請參閱附錄。使用第3節中描述的樸素擴展方法將這些數據對轉換為跟隨指令的數據。每個樣本都可以視為單回合對話。為了構造(2)中的輸入x指令,對于圖像Xv,隨機采樣一個問題Xq,這是一個語言指令,要求助手對圖像進行簡要描述。預測答案的ground-truth 是Xa原始的caption。在訓練中,我們保持視覺編碼器和LLM權值不變,并最大化(3)的似然值,只有可訓練參數θ = W(投影矩陣)。這樣,圖像特征Hv可以與預訓練的LLM詞嵌入對齊。這個階段可以理解為為凍結的LLM訓練一個兼容的視覺tokenizer。
- **Fine-tuning End-to-End.**我們始終保持視覺編碼器權值不變,并不斷更新投影層和LLM的預訓練權值;即,可訓練的參數是θ = {W, ?} in(3)。我們考慮兩個特定的用例場景:
- **Multimodal Chatbot:**我們通過對第3節中的158K語言圖像指令跟蹤數據進行微調來開發聊天機器人。在這三種類型的響應中,會話是多回合的,而其他兩種是單回合的。它們在訓練中被統一采樣。
- Science QA:我們在ScienceQA基準上研究了我們的方法,這是第一個大規模的多模態科學問題數據集,它用詳細的lecture和解釋注釋了答案。每個問題都以自然語言或圖像的形式提供上下文。Assistant 用自然語言提供推理過程,并從多個選項中選擇答案。對于(2)中的訓練,我們將數據組織為單回合對話,問題和上下文作為Xinstruct,推理和答案作為Xa
5 Experiments
我們通過兩個主要的實驗設置分別評估了LLaVA在指令跟隨和視覺推理能力方面的性能:多模態聊天機器人和ScienceQA數據集。我們使用8× A100訓練所有模型,遵循Vicuna的超參數。我們在過濾后的CC-595K子集上對模型進行了1 epoch的預訓練,學習率為2e-3,批大小為128,并對提出的llava - instruction - 158k數據集進行了3 epoch的微調,學習率為2e-5,批大小為32
5.1 Multimodal Chatchot
我們開發了一個聊天機器人演示,以展示LLaVA的圖像理解和對話能力,并研究LLaVA在消化視覺輸入和展示指令遵循方面的能力。我們首先使用原始GPT-4論文中的示例,如表3所示,這些示例需要深入的圖像理解。為了比較,我們從他們的論文中引用了多模態GPT-4的prompt和response,并query了BLIP-2和OpenFlamingo模型檢查點來獲得它們的回答。