1. 極低訓練成本
通過我們提出的VPGTrans方法,可以快速(少于10%訓練時間)將已有的多模態對話模型的視覺模塊遷移到新的語言模型,且達到類似或更優效果。比如,相比于從頭訓練視覺模塊,我們可以將BLIP-2 FlanT5-XXL的訓練開銷從19000+人民幣縮減到不到1000元:
▲圖 1:基于我們的VPGTrans方法的BLIP-2訓練開銷縮減對比
2. 多模態大模型定制
通過我們的VPGTrans框架可以根據需求為各種新的大語言模型靈活添加視覺模塊。比如我們在LLaMA-7B和Vicuna-7B基礎上制作了VL-LLaMA和VL-Vicuna。
3. 開源多模態對話模型
我們開源了VL-Vicuna,多模態對話模型,可實現高質量的多模態對話:
▲圖 2:VL-Vicuna的交互實例
一、動機介紹
1.1 背景
2023年是AI元年,以ChatGPT為代表的大語言模型(LLM)大火。LLM除了在自然語言領域顯示出巨大的潛力之外,也開始逐漸輻射到其他相關領域。比如,LLM在多模態理解領域掀起了一股從傳統預訓練視覺語言模型(VLM)到基于大語言模型的視覺語言模型(VL-LLM)的變革。通過為LLM接入視覺模塊,VL-LLM可以繼承已有LLM的知識,零樣本泛化能力,推理能力和規劃能力等。相關模型有BLIP-2[1],Flamingo[2],PALM-E等。
▲圖 3:常用的VL-LLM架構
現有的常用的VL-LLM基本采取圖3所示的架構:在一個基座LLM基礎上訓練一個視覺soft prompt生成模塊(Visual Prompt Generator, VPG),以及一個進行維度變換的線性層(Projector)。在參數規模上,LLM一般占主要部分(比如11B),VPG占次要部分(比如1.2B),Projector最小(4M)。在訓練過程中,LLM參數一般不會被更新,或者僅僅更新非常少量的參數。可訓練參數主要來自于VPG和projector。
1.2 動機
實際上,即便基座LLM的參數凍結不訓,但由于LLM的大參數量,訓練一個VL-LLM的關鍵開銷依然在于加載基座LLM。因此訓練一個VL-LLM依然無法避免極大的計算代價。比如,要得到BLIP-2(基座LLM為FlanT5-XXL)需要付出超過600個小時的A100訓練時長。如果租用亞馬遜的A100-40G機器,大概需要將近2萬元人民幣的費用。既然從零訓練一個VPG代價如此昂貴,那么我們開始思考能否把一個已有的VPG遷移到新的LLM上來節省開銷。
▲圖 4:VPG遷移: 跨LLM大小遷移和跨LLM類型遷移
如圖4所示,我們主要探索了兩種類型的VPG的遷移:
(1)跨LLM大小遷移 (TaS): 比如從OPT-2.7B到OPT-6.7B。
(2)跨LLM類型遷移 (TaT): 比如從OPT到FlanT5
其中TaS的意義在于:在LLM相關科研中,我們通常需要在小LLM上調參,再擴展到大LLM。有了TaS,我們可以在調參之后,把小LLM上已經訓好的VPG直接遷移到大LLM上。TaT的意義在于:不同功能種類的LLM層出不窮,比如今天有了LLaMA,明天又有了Alpaca和Vicuna。TaT可以讓我們利用已有的VPG快速為新語言模型添加視覺感知能力。
1.3 貢獻
(1) 提出高效的方法: 我們首先通過一系列的探究實驗,探究了影響VPG遷移效率的關鍵因素。根據探索實驗發現,我們提出了一個兩階段的高效遷移框架VPGTrans。該框架可以大幅度縮減訓練VL-LLM所需的計算開銷和需要的訓練數據。比如,相比于從頭訓練,我們通過BLIP-2 OPT-2.7B到6.7B的VPG遷移,可以僅用大約10%的數據和計算時間就達成各個數據集相似或更好的效果(圖1)。訓練花銷從17901人民幣到1673元。
(2) 得到有趣的發現: 我們同時提供了TaS和TaT場景下一些有趣的發現,并嘗試給出解釋: a) TaS場景下,使用VPGTrans從小到大遷移不會影響最終模型效果。b) TaS場景下,越小的語言模型上訓練的VPG,遷移到大模型時效率越高,最終效果越好。c) TaT場景下,越小的模型之間遷移的gap越大。在我們驗證實驗中,OPT-350M和FlanT5-base使用VPGTrans互相遷移幾乎和從頭訓練一樣慢。
(3) 開源: 我們使用VPGTrans得到了兩個新的VL-LLMs: VL-LLaMA和VL-Vicuna,并開源在了社區上。其中VL-Vicuna實現了高質量的多模態對話。歡迎小伙伴嘗試:https://vpgtrans.github.io/.
二、高效率的VPG遷移方案: VPGTrans
首先我們進行一系列的探索驗證實驗,分析如何最大化對于VPG的遷移效率。接著我們基于這些重要觀察提出一個解決方案。
2.1 探究實驗
我們選取BLIP-2架構作為我們的基礎模型,預訓練語料采用COCO和SBU,總共1.4M圖文對。下游任務采用COCO Caption, NoCaps, VQAv2, GQA和OK-VQA的zero-shot設定進行評測(對caption任務并非嚴格zero-shot)。下面是我們的關鍵發現:
(1)直接繼承一個訓練好的VPG可以加速收斂,但效果有限:我們發現,直接遷移一個LLM上訓練好的VPG到大LLM可以加速模型收斂,但加速效果有限,且收斂后模型效果相比于從頭訓練VPG會掉點(圖5的VQAv2、GQA藍線最高點均低于橘線)。我們猜測,這個掉點是由于隨機初始化的projector會在訓練起始階段損傷VPG中已有的視覺感知能力。
▲圖 5:VPG inherit (藍線): 直接繼承訓練好的VPG。train from scratch (橘線):從頭訓練VPG。only linear (綠線):只訓練linear projector不訓練VPG。
(2)先warm-up訓練projector可以防止掉點,且進一步加速收斂:于是,我們固定住VPG和LLM,先warm-up訓練projector 3個epoch,再解凍VPG進行下一步訓練。我們發現,這樣不僅僅可以避免掉點情況,還能夠進一步加速VPG收斂(圖6)。但值得強調的是,由于訓練的主要開銷在LLM(參數巨多),僅僅訓練projector的開銷不會比同時訓練VPG和projector的開銷小太多。所以,我們開始探究加速projector warm-up的關鍵技術。
▲圖6:先warm-up訓練projector可以防止掉點+加速收斂
(3)詞向量轉化器初始化可以加速projector warm-up:首先,VPG是通過把圖像轉化為LLM可以理解的soft prompt來產生效果的。而soft prompt的使用方式和詞向量其實是非常相似的,都是直接輸入語言模型來提示模型產生對應內容。所以,我們使用詞向量來作為soft prompt的一個代理,訓練了一個到的詞向量轉化器(一個線性層)。然后,我們將詞向量轉化器和上的projector融合作為projector的初始化。通過這個初始化,我們可以將projector的warm-up訓練由3個epoch減為2個epoch。
(4)projector可以在超大學習率下快速收斂:我們進一步實驗發現,projector由于其參數量較少,可以使用5倍的正常學習率進行訓練而不崩潰。通過5倍學習率的訓練,projector warm-up可以進一步被縮短到1個epoch。
(5)一個附加發現: 雖然projector warm-up很重要,但僅訓練projector是不夠的。尤其在caption任務上面,僅僅訓練projector的效果要比同時訓練VPG的效果差一截 (圖5綠線在COCO Caption和NoCaps均遠低于藍線)。這也就意味著,僅僅訓練projector會導致欠擬合,也就是無法充分對齊到訓練數據。
2.2 我們所提出的方法
▲圖 7:VPGTrans框架: (1) 一階段:projector的warm-up (2) 二階段: 整體微調
如圖7所示,我們的方法共分為兩個階段:(1)第一階段: 我們首先使用詞向量轉化器和原有projector進行融合作為新projector的初始化,然后用5倍學習率訓練新projector一個epoch。(2) 第二階段:直接正常訓練VPG和projector。
三、實驗結果
3.1 加速比
▲表1:我們的VPGTrans的相比于從頭訓練在各個數據集的加速比
如表1所示,我們測試了不同遷移類型下,VPGTrans在不同數據集上的加速比。VPGTrans在某指定數據集A上的加速比是通過從頭訓練達到A上最佳效果a的輪數除以VPGTrans在A上效果超過a的最小訓練輪數得到。比如,從頭在OPT-2.7B上訓練VPG,在COCO caption達到最佳效果需要10個epoch,但從OPT-125M遷移VPG到OPT-2.7B,僅需1個epoch就能達到該最佳效果。則加速比為10/1=10倍。我們可以看到,無論是在TaS還是在TaT場景下,我們的VPGTrans都可以實現穩定的加速。
3.2 有趣的發現
我們選取了一個比較有趣的發現進行了說明,其他更多更有意思的發現請參照我們的論文。
TaS場景下,越小的語言模型上訓練的VPG,遷移起來效率越高,最后模型效果越好。參考表1,我們可以發現OPT-1.3B到OPT-2.7B的加速比要遠小于OPT-125M、OPT-350M到OPT-2.7b的加速比。我們嘗試提供了一個解釋:一般越大的語言模型,由于其文本空間的維度更高,會更容易損害VPG(VPG一般都是類似于CLIP的預訓練模型)本身的視覺感知能力。我們通過類似于linear probing的方式進行了驗證:
▲圖 8:僅訓練linear projector層的跨LLM大小遷移 (模擬linear probing)
如圖8所示,我們進行了OPT-125M,350M,1.3B,2.7B之間的跨LLM大小的遷移。在實驗中,為了公平對比不同模型大小下訓練過的VPG的視覺感知能力,我們固定住VPG的參數僅僅訓練linear projector層。我們選取了COCO Caption上的SPICE指標作為視覺感知能力的衡量手段。不難發現,對于每一個給定的,幾乎都符合越小,最終SPICE越高的一個現象。
3.3 大規模實驗
前文實驗主要是在小規模場景下驗證猜想。為了證明我們的方法的有效性,我們模擬BLIP-2的預訓練過程進行了大規模實驗:
▲表2:真實場景下的大規模實驗結果
如表2所示,我們的VPGTrans在大規模場景下依然有效。通過OPT-2.7B到OPT-6.7B的遷移,我們僅用10.8%的數據和不到10%的訓練時長達到了相似或更優的效果。尤其是,我們的方法在BLIP-2 以FlanT5-XXL為基座LLM下實現了5%左右的訓練成本控制
四、定制您的VL-LLMs
我們的VPGTrans可以快速為任意新的LLMs添加視覺感知模塊,從而得到一個全新的高質量VL-LLM。在本工作,我們額外訓練了一個VL-LLaMA和一個VL-Vicuna。其中VL-LLaMA的效果如下:
▲表3:VL-LLaMA的效果展示
同時,我們的VL-Vicuna可以進行多模態對話。我們和MiniGPT-4進行了簡單的比較:
五、總結
在這項工作中,我們對 VPG 在 LLM 之間的可遷移性問題進行了全面調查。我們首先探討了最大化遷移效率的關鍵因素。基于關鍵觀察,我們提出了一種新穎的兩階段遷移框架,即 VPGTrans。它可以在顯著降低訓練成本的同時,實現相當或更好的性能。通過 VPGTrans,我們實現了從 BLIP-2 OPT 2.7B 到 BLIP-2 OPT 6.7B 的 VPG 遷移。相較于從零開始連接 VPG 到 OPT 6.7B,VPGTrans僅需10.7%訓練數據和不到10%的訓練時長。此外,我們展示并討論了一系列有趣發現及其背后的可能原因。最后,我們通過訓練VL-LLaMA和LL-Vicuna,展示了我們的 VPGTrans 在定制新的 VL-LLM 方面的實際價值。
-
開源
+關注
關注
3文章
3323瀏覽量
42475 -
模型
+關注
關注
1文章
3229瀏覽量
48813 -
LLM
+關注
關注
0文章
286瀏覽量
327
原文標題:VPGTrans: 10%的成本定制你自己的類GPT-4多模態大模型
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論