博客專欄

EEPW首頁(yè) > 博客 > 訓(xùn)練開銷驟減,10%成本定制專屬類GPT-4多模態(tài)大模型(1)

訓(xùn)練開銷驟減,10%成本定制專屬類GPT-4多模態(tài)大模型(1)

發(fā)布人:機(jī)器之心 時(shí)間:2023-05-20 來(lái)源:工程師 發(fā)布文章

最近的多模態(tài)(對(duì)話)大模型將基于文本的 ChatGPT 的強(qiáng)大能力擴(kuò)展到了多模態(tài)輸入,實(shí)現(xiàn)強(qiáng)大的多模態(tài)語(yǔ)義理解,比如 GPT-4、BLIP-2、Flamingo 等。但對(duì)于很多研究者來(lái)說(shuō),訓(xùn)練一個(gè)多模態(tài) GPT 代價(jià)非常昂貴。本文來(lái)自新加坡國(guó)立大學(xué)和清華大學(xué)的研究者提出了一個(gè)名為 VPGTrans 框架,以極低成本訓(xùn)練高性能多模態(tài)大模型。


圖片


  • 多模態(tài)對(duì)話模型 Demo:https://vpgtrans.github.io/

  • 論文:https://arxiv.org/pdf/2305.01278.pdf

  • 代碼:https://github.com/VPGTrans/VPGTrans


本工作亮點(diǎn)摘要:
1. 極低訓(xùn)練成本:通過(guò)我們提出的 VPGTrans 方法,可以快速 (少于 10% 訓(xùn)練時(shí)間) 將已有的多模態(tài)對(duì)話模型的視覺(jué)模塊遷移到新的語(yǔ)言模型,且達(dá)到類似或更優(yōu)效果。比如,相比于從頭訓(xùn)練視覺(jué)模塊,我們可以將 BLIP-2 FlanT5-XXL 的訓(xùn)練開銷從 19000 + 人民幣縮減到不到 1000 元:

圖片

圖 1:基于我們的 VPGTrans 方法的 BLIP-2 訓(xùn)練開銷縮減對(duì)比
2. 多模態(tài)大模型定制:通過(guò)我們的 VPGTrans 框架可以根據(jù)需求為各種新的大語(yǔ)言模型靈活添加視覺(jué)模塊。比如我們?cè)?LLaMA-7B 和 Vicuna-7B 基礎(chǔ)上制作了 VL-LLaMA 和 VL-Vicuna。
3. 開源多模態(tài)對(duì)話模型:我們開源了 VL-Vicuna,可實(shí)現(xiàn)高質(zhì)量的多模態(tài)對(duì)話:

圖片

圖 2:VL-Vicuna 的交互實(shí)例
一、動(dòng)機(jī)介紹
1.1 背景
2023 年是 AI 元年,以 ChatGPT 為代表的大語(yǔ)言模型 (LLM) 大火。LLM 除了在自然語(yǔ)言領(lǐng)域顯示出巨大的潛力之外,也開始逐漸輻射到其他相關(guān)領(lǐng)域。比如,LLM 在多模態(tài)理解領(lǐng)域掀起了一股從傳統(tǒng)預(yù)訓(xùn)練視覺(jué)語(yǔ)言模型 (VLM) 到基于大語(yǔ)言模型的視覺(jué)語(yǔ)言模型 (VL-LLM) 的變革。通過(guò)為 LLM 接入視覺(jué)模塊,VL-LLM 可以繼承已有 LLM 的知識(shí),零樣本泛化能力,推理能力和規(guī)劃能力等。相關(guān)模型有 BLIP-2 [1],F(xiàn)lamingo [2],PALM-E 等。

圖片

圖 3:常用的 VL-LLM 架構(gòu)
現(xiàn)有的常用的 VL-LLM 基本采取圖 3 所示的架構(gòu):在一個(gè)基座 LLM 基礎(chǔ)上訓(xùn)練一個(gè)視覺(jué) soft prompt 生成模塊 (Visual Prompt Generator, VPG),以及一個(gè)進(jìn)行維度變換的線性層 (Projector)。在參數(shù)規(guī)模上,LLM 一般占主要部分 (比如 11B),VPG 占次要部分 (比如 1.2B),projector 最小 (4M)。在訓(xùn)練過(guò)程中,LLM 參數(shù)一般不會(huì)被更新,或者僅僅更新非常少量的參數(shù)??捎?xùn)練參數(shù)主要來(lái)自于 VPG 和 projector。
1.2 動(dòng)機(jī)
實(shí)際上,即便基座 LLM 的參數(shù)凍結(jié)不訓(xùn),但由于 LLM 的大參數(shù)量,訓(xùn)練一個(gè) VL-LLM 的關(guān)鍵開銷依然在于加載基座 LLM。因此訓(xùn)練一個(gè) VL-LLM 依然無(wú)法避免極大的計(jì)算代價(jià)。比如,要得到 BLIP-2(基座 LLM 為 FlanT5-XXL)需要付出超過(guò) 600 個(gè)小時(shí)的 A100 訓(xùn)練時(shí)長(zhǎng)。如果租用亞馬遜的 A100-40G 機(jī)器,大概需要將近 2 萬(wàn)元人民幣的費(fèi)用。既然從零訓(xùn)練一個(gè) VPG 代價(jià)如此昂貴,那么我們開始思考能否把一個(gè)已有的 VPG 遷移到新的 LLM 上來(lái)節(jié)省開銷。

圖片

圖 4:VPG 遷移:跨 LLM 大小遷移和跨 LLM 類型遷移
如圖 4 所示,我們主要探索了兩種類型的 VPG 的遷移:
(1) 跨 LLM 大小遷移 (TaS): 比如從 OPT-2.7B 到 OPT-6.7B。(2) 跨 LLM 類型遷移 (TaT): 比如從 OPT 到 FlanT5。
其中 TaS 的意義在于:在 LLM 相關(guān)科研中,我們通常需要在小 LLM 上調(diào)參,再擴(kuò)展到大 LLM。有了 TaS,我們可以在調(diào)參之后,把小 LLM 上已經(jīng)訓(xùn)好的 VPG 直接遷移到大 LLM 上。TaT 的意義在于:不同功能種類的 LLM 層出不窮,比如今天有了 LLaMA,明天又有了 Alpaca 和 Vicuna。TaT 可以讓我們利用已有的 VPG 快速為新語(yǔ)言模型添加視覺(jué)感知能力。
1.3 貢獻(xiàn)
(1) 提出高效的方法:我們首先通過(guò)一系列的探究實(shí)驗(yàn),探究了影響 VPG 遷移效率的關(guān)鍵因素。根據(jù)探索實(shí)驗(yàn)發(fā)現(xiàn),我們提出了一個(gè)兩階段的高效遷移框架 VPGTrans。該框架可以大幅度縮減訓(xùn)練 VL-LLM 所需的計(jì)算開銷和需要的訓(xùn)練數(shù)據(jù)。比如,相比于從頭訓(xùn)練,我們通過(guò) BLIP-2 OPT-2.7B 到 6.7B 的 VPG 遷移,可以僅用大約 10% 的數(shù)據(jù)和計(jì)算時(shí)間就達(dá)成各個(gè)數(shù)據(jù)集相似或更好的效果 (圖 1)。訓(xùn)練花銷從 17901 人民幣到 1673 元。
(2) 得到有趣的發(fā)現(xiàn):我們同時(shí)提供了 TaS 和 TaT 場(chǎng)景下一些有趣的發(fā)現(xiàn),并嘗試給出解釋: a) TaS 場(chǎng)景下,使用 VPGTrans 從小到大遷移不會(huì)影響最終模型效果。b) TaS 場(chǎng)景下,越小的語(yǔ)言模型上訓(xùn)練的 VPG,遷移到大模型時(shí)效率越高,最終效果越好。c) TaT 場(chǎng)景下,越小的模型之間遷移的 gap 越大。在我們驗(yàn)證實(shí)驗(yàn)中,OPT-350M 和 FlanT5-base 使用 VPGTrans 互相遷移幾乎和從頭訓(xùn)練一樣慢。
(3) 開源:我們使用 VPGTrans 得到了兩個(gè)新的 VL-LLMs: VL-LLaMA 和 VL-Vicuna,并開源在了社區(qū)上。其中 VL-Vicuna 實(shí)現(xiàn)了高質(zhì)量的多模態(tài)對(duì)話。歡迎小伙伴嘗試:https://vpgtrans.github.io/.
二、高效率的 VPG 遷移方案: VPGTrans
首先我們進(jìn)行一系列的探索驗(yàn)證實(shí)驗(yàn),分析如何最大化對(duì)于 VPG 的遷移效率。接著我們基于這些重要觀察提出一個(gè)解決方案。
2.1 探究實(shí)驗(yàn)
我們選取 BLIP-2 架構(gòu)作為我們的基礎(chǔ)模型,預(yù)訓(xùn)練語(yǔ)料采用 COCO 和 SBU,總共 1.4M 圖文對(duì)。下游任務(wù)采用 COCO Caption,NoCaps,VQAv2,GQA 和 OK-VQA 的 zero-shot 設(shè)定進(jìn)行評(píng)測(cè) (對(duì) caption 任務(wù)并非嚴(yán)格 zero-shot)。下面是我們的關(guān)鍵發(fā)現(xiàn):
(1) 直接繼承一個(gè)訓(xùn)練好的 VPG 可以加速收斂,但效果有限:我們發(fā)現(xiàn),直接遷移一個(gè) LLM 上訓(xùn)練好的 VPG 到大 LLM 可以加速模型收斂,但加速效果有限,且收斂后模型效果相比于從頭訓(xùn)練 VPG 會(huì)掉點(diǎn) (圖 5 的 VQAv2、GQA 藍(lán)線最高點(diǎn)均低于橘線)。我們猜測(cè),這個(gè)掉點(diǎn)是由于隨機(jī)初始化的 projector 會(huì)在訓(xùn)練起始階段損傷 VPG 中已有的視覺(jué)感知能力。

圖片

圖 5:VPG inherit (藍(lán)線): 直接繼承訓(xùn)練好的 VPG。train from scratch (橘線):從頭訓(xùn)練 VPG。only linear (綠線):只訓(xùn)練 linear projector 不訓(xùn)練 VPG。
(2) 先 warm-up 訓(xùn)練 projector 可以防止掉點(diǎn),且進(jìn)一步加速收斂:于是,我們固定住 VPG 和 LLM,先 warm-up 訓(xùn)練 projector 3 個(gè) epoch,再解凍 VPG 進(jìn)行下一步訓(xùn)練。我們發(fā)現(xiàn),這樣不僅可以避免掉點(diǎn)情況,還能夠進(jìn)一步加速 VPG 收斂 (圖 6)。但值得強(qiáng)調(diào)的是,由于訓(xùn)練的主要開銷在 LLM (參數(shù)巨多),僅僅訓(xùn)練 projector 的開銷不會(huì)比同時(shí)訓(xùn)練 VPG 和 projector 的開銷小太多。所以,我們開始探究加速 projector warm-up 的關(guān)鍵技術(shù)。

圖片

圖 6: 先 warm-up 訓(xùn)練 projector 可以防止掉點(diǎn) + 加速收斂
(3) 詞向量轉(zhuǎn)化器初始化可以加速 projector warm-up:首先,VPG 是通過(guò)把圖像轉(zhuǎn)化為 LLM 可以理解的 soft prompt 來(lái)產(chǎn)生效果的。而 soft prompt 的使用方式和詞向量其實(shí)是非常相似的,都是直接輸入語(yǔ)言模型來(lái)提示模型產(chǎn)生對(duì)應(yīng)內(nèi)容。所以,我們使用詞向量來(lái)作為 soft prompt 的一個(gè)代理,訓(xùn)練了一個(gè)圖片到 圖片的詞向量轉(zhuǎn)化器 (一個(gè)線性層)。然后,我們將詞向量轉(zhuǎn)化器和 圖片上的 projector 融合作為圖片的 projector 的初始化。通過(guò)這個(gè)初始化,我們可以將 projector 的 warm-up 訓(xùn)練由 3 個(gè) epoch 減為 2 個(gè) epoch。
(4) projector 可以在超大學(xué)習(xí)率下快速收斂:我們進(jìn)一步實(shí)驗(yàn)發(fā)現(xiàn),projector 由于其參數(shù)量較少,可以使用 5 倍的正常學(xué)習(xí)率進(jìn)行訓(xùn)練而不崩潰。通過(guò) 5 倍學(xué)習(xí)率的訓(xùn)練,projector warm-up 可以進(jìn)一步被縮短到1個(gè) epoch。
(5) 一個(gè)附加發(fā)現(xiàn):雖然 projector warm-up 很重要,但僅訓(xùn)練 projector 是不夠的。尤其在 caption 任務(wù)上面,僅僅訓(xùn)練 projector 的效果要比同時(shí)訓(xùn)練 VPG 的效果差一截 (圖 5 綠線在 COCO Caption 和 NoCaps 均遠(yuǎn)低于藍(lán)線)。這也就意味著,僅僅訓(xùn)練 projector 會(huì)導(dǎo)致欠擬合,無(wú)法充分對(duì)齊到訓(xùn)練數(shù)據(jù)。
2.2 我們所提出的方法

圖片

圖 7:VPGTrans 框架: (1) 一階段:projector 的 warm-up (2) 二階段:整體微調(diào)
如圖 7 所示,我們的方法共分為兩個(gè)階段:
(1) 第一階段:我們首先使用詞向量轉(zhuǎn)化器和原有 projector 進(jìn)行融合作為新 projector 的初始化。然后用 5 倍學(xué)習(xí)率訓(xùn)練新 projector 一個(gè) epoch。(2) 第二階段:直接正常訓(xùn)練 VPG 和 projector。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉