[翻譯] MiniGPT-4 論文
source
https://github.com/Vision-CAIR/MiniGPT-4/blob/main/MiniGPT_4.pdf
內容
總結一下,就是個 POC,不過星星增長的速度可以看出是有強烈的需求存在,看誰能最快整合 midjourney 的 model 進去
Abstract
最近 GPT-4 展現出了非凡的多模態能力,例如直接從手寫文本生成網站和識別圖片中的幽默元素。這些特點在先前的視覺語言模型中很少被觀察到。我們認為 GPT-4 先進的多模態生成能力的主要原因在於利用了一個更先進的大型語言模型(LLM)。為了研究這一現象,我們提出了 MiniGPT-4,它將一個凍結的視覺編碼器與一個凍結的 LLM,Vicuna,對齊,僅使用一個投影層。我們的研究發現,MiniGPT-4 具有許多類似於 GPT-4 的功能,如生成詳細的圖像描述和從手寫草稿創建網站。此外,我們還觀察到 MiniGPT-4 的其他新興能力,包括根據給定圖像創作故事和詩歌,提供圖像中顯示的問題的解決方案,根據食物照片教用戶烹飪等等。在我們的實驗中,我們發現僅對原始的圖像-文本對進行預訓練可能會產生缺乏連貫性的不自然語言輸出,包括重複和分段的句子。為了解決這個問題,我們在第二階段編輯了一個高質量、對齊良好的數據集,使用對話模板微調模型。這一步驟對於增強模型的生成可靠性和整體可用性至關重要。值得注意的是,我們的模型在計算效率方面非常高,因為我們只使用約 500 萬個對齊的圖像-文本對進行投影層的訓練。我們的代碼、預訓練模型和收集的數據集可在 https://minigpt-4.github.io/ 上獲得。
1. Introduction
近年來,大型語言模型(LLMs)經歷了快速的發展[21, 18, 4, 24, 32, 9, 14]。這些模型具有卓越的語言理解能力,可以在零-shot情況下執行各種複雜的語言任務。值得注意的是,最近推出了大規模多模型模型GPT-4[19],展示了許多令人印象深刻的能力。例如,GPT-4可以生成非常詳細和準確的圖像描述,解釋不尋常的視覺現象,甚至可以根據手寫文本指令構建網站。
儘管 GPT-4 展現出令人驚嘆的能力,但其卓越能力背後的方法仍然是一個謎 [19]。我們相信,這些卓越的技能可能源於使用了更先進的大型語言模型 (LLM)。正如 GPT-3 的少數幾次提示設置 [4] 和 Wei 等人 (2022) [34] 的研究結果所證明的那樣,LLM 已經展示出各種新興能力。這些新興能力在小型模型中很難發現。據推測,這些新興能力也適用於多模態模型,這可能是 GPT-4 令人印象深刻的視覺描述能力的基礎。
為了證實我們的假設,我們提出了一個新的模型 MiniGPT-4。它利用了一個進階的大型語言模型(LLM)Vicuna [8],該模型建立在LLaMA [32]之上,據GPT-4評估報告,其質量達到ChatGPT質量的90%。在視覺感知方面,我們採用了與BLIP-2 [16]相同的預訓練視覺組件,其中包含來自EVA-CLIP [13]的ViT-G/14和Q-Former。MiniGPT-4添加了一個投影層,以將編碼的視覺特徵與Vicuna語言模型對齊,並凍結所有其他視覺和語言組件。 MiniGPT-4最初使用256的批量大小在4個A100 GPU上,利用包括LAION [26],概念標題[5, 27]和SBU [20]的圖像的合併數據集來對齊視覺特徵和Vicuna語言模型進行了20k步的訓練。然而,僅僅將視覺特徵與LLM對齊是不足以訓練具有視覺對話能力的高性能模型,且原始圖像文本對下的噪音可能導致不連貫的語言輸出。因此,我們收集了另外3,500個高質量的對齊圖像文本對,並使用一個設計好的對話模板進行進一步的微調,以提高生成語言的自然度和可用性。
在我們的實驗中,我們發現 MiniGPT-4 具有許多與 GPT-4 相似的能力。例如,MiniGPT-4 可以生成複雜的圖像描述,根據手寫文字指示創建網站,解釋不尋常的視覺現象。此外,我們的研究發現,MiniGPT-4 還具有許多其他有趣的能力,在 GPT-4 的演示中沒有展示出來。例如,MiniGPT-4 可以通過觀察美味的食物照片直接生成詳細的食譜,根據圖像創作故事或饒舌歌曲,為圖像中的產品撰寫廣告,區分圖片中顯示的問題並提供相應的解決方案,並直接從圖像中檢索有關人物、電影或藝術的豐富事實等。這些能力在以前的視覺語言模型(如 Kosmos-1 [15] 和 BLIP-2 [16])中是缺失的,這些模型沒有使用像 Vicuna 這樣更強大的語言模型。這種對比驗證了將視覺特徵與先進的語言模型相結合可以產生新的視覺語言能力。
我們簡要總結以下我們的主要發現:
- 我們的研究顯示,將視覺特徵與先進的大型語言模型Vicuna對齊,我們可以實現新興的視覺-語言能力。我們展示了我們的MiniGPT-4可以處理類似於GPT-4演示中展示的能力。
- 通過使用預訓練的視覺編碼器和大型語言模型,MiniGPT-4實現了更高的計算效率。我們的研究結果表明,僅訓練一個投影層就可以有效地將視覺特徵與大型語言模型對齊。我們的MiniGPT-4僅需要在4個A100 GPU上訓練約10個小時。
- 我們發現,僅使用公共數據集中的原始圖像文本對齊視覺特徵與大型語言模型是不足以開發表現良好的MiniGPT-4模型的。它可能會產生缺乏連貫性的不自然語言輸出,包括重複和碎片化的句子。解決這個問題需要使用高質量,對齊良好的數據集進行訓練,從而顯著提高其可用性。
2. Related Work
近年來,由於訓練數據的擴大和參數數量的增加,大型語言模型取得了巨大的成功。早期的模型,如BERT [11]、GPT-2 [22]和T5 [23],為此進展奠定了基礎。隨後,GPT-3 [4]以其龐大的1750億參數規模推出,展示了在許多語言基準測試中的重大突破。這一進展啟發了其他各種大型語言模型的創建,包括Megatron-Turing NLG [28]、Chinchilla [14]、PaLM [9]、OPT [38]、BLOOM [25]和LLaMA [32]等等。Wei等人 [34]進一步發現,一些新出現的能力只存在於大型模型中,這些能力的出現凸顯了在大型語言模型的發展中擴大規模的重要性。此外,通過將預先訓練的大型語言模型GPT-3與人類意圖、指令和人類反饋相結合,InstructGPT [21]和ChatGPT [18]實現了與人類的對話互動,可以回答各種不同和複雜的問題。最近,一些開源模型,如Alpaca [30]和Vicuna [8],基於LLaMA [32]開發,也展示出類似的性能。
使用預先訓練的大型語言模型作為視覺語言任務的解碼器是近年來的趨勢。這種方法利用跨模態轉移,允許在語言和多模態領域之間共享知識。先驅性的研究,如VisualGPT和Frozen,已經展示了使用預先訓練的語言模型作為視覺語言模型解碼器的好處。隨後發展出了Flamingo,利用閘控交叉注意力對預先訓練的視覺編碼器和語言模型進行對齊,並在數十億個圖像-文本對上進行訓練,展示出令人印象深刻的在內容上的少樣本學習能力。隨後,BLIP-2被引入,採用了帶有Q-Former的Flan-T5,以高效地對齊視覺特徵和語言模型。最近,PaLM-E推出了擁有5620億參數的模型,將現實世界的連續傳感器模態集成到一個LLM中,從而建立現實感知和人類語言之間的聯繫。GPT-4也最近推出,展示了在對齊的大量圖像-文本數據上進行預訓練後更強大的視覺理解和推理能力。
LLM,如ChatGPT,已被證明是加強視覺語言任務表現的強大工具,通過與其他專門化模型協作。例如,Visual ChatGPT和MM-REACT展示了ChatGPT如何作為協調者,與不同的視覺基礎模型集成,促進它們的協作以應對更複雜的挑戰。ChatCaptioner將ChatGPT視為提問者,提示BLIP-2回答各種問題。通過多輪對話,ChatGPT從BLIP-2中提取視覺信息並有效地總結圖像內容。Video ChatCaptioner擴展了這種方法,將其應用於視頻時空理解。ViperGPT展示了將LLM與不同的視覺模型相結合,以以編程方式解決複雜的視覺查詢的潛力。相比之下,MiniGPT4直接將視覺信息與語言模型對齊,完成各種視覺語言任務,而不使用外部視覺模型。
3. Method
MiniGPT-4的目標是將預訓練的視覺編碼器中的視覺資訊與進階的大型語言模型(LLM)進行對齊。具體而言,我們使用Vicuna [8]作為語言解碼器,它是基於LLaMA [32]構建的,可以執行各種複雜的語言任務。對於視覺感知,我們採用了BLIP-2 [16]中使用的相同視覺編碼器,即一個ViT骨幹[13]和他們預先訓練的Q-Former。語言和視覺模型均為開源的。我們旨在通過一個線性投影層來橋接視覺編碼器和LLM之間的差距,我們的模型概述如圖1所示。
為了達成有效的 MiniGPT-4,我們提出了一個兩階段的訓練方法。初始階段需要使用一個大型的圖像文本對齊集合對模型進行預訓練,以獲取視覺語言知識。在第二階段中,我們使用一個較小但高質量的圖像文本數據集與設計好的對話模板來微調預訓練模型,以增強模型的生成可靠性和可用性。
3-1. First pretraining stage
在初始的預訓練階段中,模型旨在從大量的配對圖像和文本中獲取視覺-語言知識。我們將注入的投影層的輸出視為LLM的軟提示,促使它生成對應的標準答案文本。
在整個預訓練過程中,預先訓練的視覺編碼器和語言模型都保持凍結狀態,只有線性投影層被預先訓練。我們使用了Conceptual Caption [5, 27]、SBU [20]和LAION [26]等資料集的結合數據集來訓練我們的模型。我們的模型經過20,000個訓練步驟,使用256個批次大小,涵蓋了約5百萬張圖像文本對。整個過程需要約10小時的時間,使用4個A100(80GB)GPU。
第一階段的問題。在第一個預訓練階段之後,我們的MiniGPT-4展示了擁有豐富的知識並能夠對人類的問題作出合理的回應的能力。然而,我們觀察到它有時會產生缺乏連貫性的語言輸出,例如重複的單詞或句子、碎片化的句子或不相關的內容。這些問題影響了MiniGPT-4與人類進行流暢的視覺對話的能力。
我們也注意到 GPT-3 也面臨類似的問題。儘管已在廣泛的語言數據集上進行了預訓練,GPT-3仍無法直接生成符合用戶意圖的語言輸出。透過指導微調和從人類反饋中的強化學習,GPT-3 進化成 GPT-3.5 [21, 18],能夠產生更符合人類友好的輸出。這種現象與 MiniGPT-4 初步預訓練階段的狀態相似。因此,我們的模型在這個階段可能會有困難產生流暢且自然的人類語言輸出。
3-2. Curating a high-quality alignment dataset for vision-language domain
為了讓生成的語言更自然並增強模型的可用性,進行第二階段的對齊處理是必要的。在自然語言處理領域,指導微調數據集和對話數據[1]很容易獲得,但在視覺語言領域中卻缺乏相應的數據集。為解決這個問題,我們精心挑選了一個高質量的圖像-文本數據集,專門用於對齊處理。在第二階段對齊過程中,我們使用這個數據集來進行 MiniGPT-4 的微調。
初始對齊的影像文字生成階段中,我們使用第一個預訓練階段生成的模型對給定的影像進行全面描述。為了讓我們的模型能夠產生更詳細的影像描述,我們設計了一個遵循Vicuna [8]語言模型對話格式的提示,如下所示:
###Human: <Img><ImageFeature></Img> Describe this image in detail. Give as many details as
possible. Say everything you see. ###Assistant:
在這個提示中, 代表著線性投影層產生的視覺特徵。
為了找出未完成的句子,我們檢查生成的句子是否超過 80 個 token。如果沒有,我們會加入額外的提示「###Human: Continue ###Assistant:」,提示我們的 MiniGPT-4 延續生成。通過連接兩步的輸出,我們可以創建更詳細的圖像描述。這種方法使我們能夠生成更多具有詳細和有用圖像描述的圖像-文本對。我們從 Conceptual Caption 資料集 [5, 27] 中隨機選擇 5,000 張圖像,使用這種方法生成每張圖像的對應語言描述。
數據後處理 生成的圖像描述仍然存在很多噪聲和錯誤,例如詞語或句子的重複以及不一致的陳述。為了減輕這些問題,我們使用ChatGPT來改進描述,使用以下提示:
Fix the error in the given paragraph. Remove any repeating sentences, meaningless characters, not
English sentences, and so on. Remove unnecessary repetition. Rewrite any incomplete sentences.
Return directly the results without explanation. Return directly the input paragraph if it is already
correct without explanation.
在完成後處理階段後,我們會手動驗證每個圖像描述的正確性以保證其高品質。具體而言,我們會檢查每個生成的圖像描述是否符合我們期望的格式,並手動精煉 ChatGPT 無法檢測到的冗餘詞語或句子。最終,只有大約 3,500 組圖像文本對符合我們的要求,這些對將隨後用於第二階段的對齊過程。
3-3. Second-stage finetuning
在第二階段,我們使用事先定義好的提示語在精調我們預先訓練好的模型時,以進行對齊高品質的圖文對。以下是我們使用的範本提示語:
###Human: <Img><ImageFeature></Img> <Instruction> ###Assistant:
在這個提示中,代表從預定義的指令集中隨機選取的指令,其中包含各種形式的指令,例如“詳細描述這張圖片”或“你能描述這張圖片的內容嗎”。需要注意的是,我們不會為這個特定的文本-圖像提示計算回歸損失。
因此,MiniGPT-4現在能夠產生更自然和可靠的回應。此外,我們觀察到模型的微調過程非常高效,只需要使用單個A100 GPU進行400個訓練步驟,每個批次的大小為12,只需短短的7分鐘即可完成。
4. Demostrations
我們的MiniGPT-4展現了許多類似於GPT-4的能力。包括生成詳細的圖像描述(如圖2),識別圖像中有趣的方面(如圖3),發現不尋常的內容(如圖4)。此外,該模型還可以根據手寫文本創建網站(如圖5)。我們還發現,我們的MiniGPT-4具有其他能力,例如識別圖像中的問題並提供解決方案(如圖6),根據圖像創作詩歌或說唱歌曲(如圖7),為圖像編寫故事(如圖8),為圖像中的產品進行廣告(如圖9),識別個人(如圖10),提供有見地的圖像評論(如圖11),從圖像中檢索相關事實(如圖12),以及根據給定的照片教用戶烹飪食物(如圖13)。這些多樣的例子展示了我們MiniGPT-4的強大能力。
5. Limitations
MiniGPT-4展現了許多高級的視覺語言能力,如我們展示的例子。然而,目前它仍面臨幾個限制。
語言幻覺。由於MiniGPT-4是建立在LLM上的,它會繼承LLM的一些限制,如不可靠的推理能力和幻想不存在的知識。這個問題可以透過訓練模型使用更多高質量、對齊的圖像-文本對或在未來與更先進的LLM對齊來緩解。
MiniGPT-4 在視覺感知方面仍有限制。它可能會難以識別圖像中的詳細文本信息,並區分空間定位。這個限制可能源自以下幾個因素:1)缺乏包含足夠信息(如空間定位和光學字符標註)的充分對齊的圖像文本數據。這個問題可以通過訓練更豐富的對齊數據來緩解。2)視覺編碼器中使用的凍結Q-former可能會失去一些重要的特徵,如視覺空間基礎。這可能可以通過使用更強大的視覺感知模型來取代它來改善。3)僅訓練一個投影層可能不足以提供足夠的能力來學習廣泛的視覺文本對齊。