OFA-PT:統一多模態預訓練模型的Prompt微調

摘要

Prompt微調已成為模型微調的新范式,并在自然語言預訓練甚至視覺預訓練中取得了成功。參數高效的Prompt微調方法通過優化soft embedding并保持預訓練模型凍結,在計算成本低和幾乎無性能損失方面展現出優勢。在本研究中,我們探索了Prompt微調在多模態預訓練模型中的遷移。具體來說,我們通過在每一層添加一串可學習的embedding,并在下游任務中僅優化這些可學習embedding,從而在一個統一的序列到序列預訓練模型上實現Prompt微調。針對一系列多模態理解與生成任務的實驗結果表明,我們的方法OFA-PT能夠在多模態生成與理解任務上取得與全參數微調相當的性能。此外,在與其他參數高效微調方法(例如Adapter、BitFit等)的對比中,也顯著優于統一多模態預訓練模型。同時,與全參數微調模型相比,Prompt微調模型在面對對抗攻擊時展現出更強的魯棒性。我們進一步發現,包括Prompt長度、Prompt深度和重參數化等實驗因素對模型性能有顯著影響,因此我們基于實證提出了Prompt微調設置的建議。代碼和模型檢查點可在:https://github.com/OFA-Sys/OFA 獲取。

1 引言

近年來,在自然語言處理(NLP)(Radford et al., 2018;Devlin et al., 2019;Yang et al., 2019;Liu et al., 2019;Raffel et al., 2020;Brown et al., 2020)和計算機視覺(Chen et al., 2020b,a,c;Chen and He, 2021;Bao et al., 2021;He et al., 2021b)領域,基于大模型和大數據的大規模預訓練取得了巨大成功。受BERT類模型(Devlin et al., 2019)成功的啟發,研究者發現預訓練可以顯著提升跨模態表示學習算法在下游任務中的性能(Chen et al., 2020d;Lu et al., 2019;Su et al., 2020;Tan and Bansal, 2019;Wang et al., 2021)。

沿著這一研究路線,統一的多模態預訓練模型逐漸受到廣泛關注。最近,一系列基于序列到序列學習框架的模型已統一了跨模態理解和生成任務,并取得了當前最優性能(Li et al., 2022;Wang et al., 2022a;Yu et al., 2022;Alayrac et al., 2022;Wang et al., 2022b;Chen et al., 2022)。此外,需要注意的是,統一多模態預訓練模型的規模正在迅速擴大,呈現出與大型語言模型(Raffel et al., 2020;Brown et al., 2020;Chowdhery et al., 2022)類似的發展趨勢。

盡管大規模預訓練模型在多個領域取得了巨大成功,但訓練此類模型需要大量計算成本。傳統的全參數微調雖然在提升性能方面有效,但在訓練效率方面存在不足,尤其當預訓練模型規模較大時尤為明顯。因此,在大規模基礎模型的應用中,迫切需要參數高效的遷移學習方法。在這一領域中最受歡迎的方法是Prompt微調(Liu et al., 2021a),其在自然語言處理(Li and Liang, 2021;Liu et al., 2021c;Lester et al., 2021;Liu et al., 2021b;He et al., 2021a;Gu et al., 2022)和計算機視覺(Jia et al., 2022;Du et al., 2022;Zhou et al., 2021, 2022)中均取得了成功。與全參數微調相比,Prompt微調僅需微調極少量參數(例如1%)。Prompt微調將大部分預訓練模型參數保持凍結,僅調整若干Prompt embedding和必要的輸出層。近期研究表明,Prompt微調可以幫助預訓練模型在不同下游任務中取得與全參數微調相當的性能,包括自然語言理解與生成、圖像分類等。然而,針對多模態預訓練模型,尤其是統一多模態預訓練模型的參數高效遷移方法研究仍較為稀缺。隨著統一多模態預訓練模型的規模不斷擴大,如何以更低成本對其進行微調,成為多模態預訓練領域的重要研究課題。

本研究填補了這一空白,率先探索統一多模態預訓練模型的Prompt微調。我們提出OFA-PT,這是一種基于最近開源的統一多模態預訓練模型OFA(Wang et al., 2022a)的Prompt微調實現。更具體地說,在下游遷移階段,我們在encoder和decoder的每一層插入一串可學習的embedding,并僅調整這些embedding的參數,保持預訓練模型的其他參數凍結不變。在其他設置方面,我們采用與全參數微調相同的流程,即將數據轉換為序列到序列學習的格式,并通過最大似然估計對模型進行優化。與全參數微調相比,Prompt微調所需調整的參數量(約占總量的1%)顯著減少,從而降低了計算成本(例如內存消耗)。

通過大量實驗證明,參數高效的Prompt微調能夠使預訓練模型在4個多模態下游任務(涵蓋理解與生成)上取得與全參數微調相當的性能。為了分析全參數微調與Prompt微調的差異,我們基于以下假設:Prompt微調在凍結大多數預訓練模型參數的前提下應具備更強的模型魯棒性。我們在對抗攻擊場景下對多種微調方法進行了實驗,觀察到的現象驗證了該假設。進一步地,我們深入探討了Prompt微調的實現細節,并研究了實驗因素(例如Prompt長度、Prompt深度和重參數化)是否顯著影響下游性能。我們發現,一般來說,較長的Prompt長度(超過20個token)是更優的選擇,而實驗表明長度為64在大多數情況下效果最佳,因為更長的Prompt序列不僅會增加計算成本,還可能導致性能下降。此外,我們還表明,引入額外可訓練參數的重參數化方式并不能顯著提升下游任務的性能。

2 方法

本節介紹我們所提出方法的細節,提供了在統一的多模態預訓練模型上進行prompt tuning的具體實現方法。整體框架如圖1所示。

2.1 基礎知識

我們選擇統一的sequence-to-sequence框架,因為它統一了理解任務和生成任務,并且我們特別在最近開源的state-of-the-art模型OFA*(Wang et al., 2022a)上實現了prompt tuning。簡而言之,該模型是基于Transformer(Vaswani et al., 2017)構建的encoder-decoder框架。

encoder和decoder均由多個Transformer層組成。具體而言,encoder層包括一個multi-head self attention和一個逐點Feed-Forward Network(FFN)。為了建立encoder與decoder之間的連接,Transformer的decoder層相比encoder層額外包含一個cross-attention模塊。cross-attention本質上是multi-head attention,其中key K K K 和 value V V V 是由encoder輸出狀態變換得到的,而不是輸入本身。這樣的結構可以處理提供sequence-to-sequence格式輸入的任務。

在本研究中,我們關注于用于多模態預訓練模型遷移階段的prompt tuning。我們將預訓練階段的prompt learning留作未來研究。

2.2 多模態預訓練模型的提示調優

接下來,我們介紹在sequence-to-sequence多模態預訓練模型上實現prompt tuning的具體細節。需要注意的是,我們的方法可以擴展到其他生成式多模態預訓練模型,例如BERT-like模型。

在這里插入圖片描述

Basic Implementation

我們重點實現的是prefix tuning(Li and Liang, 2021;Liu et al., 2021b),因為其在自然語言理解和生成任務中均表現出色。與其他prompt tuning方法(如P-Tuning(Liu et al., 2021c)、Prompt Tuning(Lester et al., 2021)、PPT(Gu et al., 2022))相比,將soft prompt embedding添加到每一層,在相對較小的模型上也展現出更強的訓練穩定性和更優的下游任務性能。

具體來說,對于encoder和decoder,我們在每一層中添加可調的prompt embedding。形式上,我們將預訓練模型表示為函數 M ( ? ) M(\cdot) M(?),prompt embedding的生成函數表示為 ${ \mathcal { G } } ( \cdot ) $。其公式如下所示:
y = M ( G ( L , l ) , x ) ( 1 ) \begin{array} { r } { y = \mathcal { M } ( \mathcal { G } ( L , l ) , x ) } \end{array}\quad(1) y=M(G(L,l),x)?(1)
其中 x x x 表示多模態輸入, L L L 表示層數, l l l 表示prompt長度,該長度應由超參數預定義。在每一層中,我們將soft prompt embedding p ( i ) p^{(i)} p(i) 前綴到輸入的hidden states h ( i ) h^{(i)} h(i) 上。需要注意的是,我們僅在Transformer層前綴prompt embedding。在最簡單的實現中,prompt生成器 G G G 是一個稀疏的embedding矩陣,其形狀為 R L × l × h R^{L \times l \times h} RL×l×h,我們在第 i i i 層和第 j j j 個索引位置選擇相應的embedding作為prompt embedding。以下我們還將提供一些更復雜實現的示意圖,并在本研究中對這些方法進行對比。

在下游微調過程中,我們僅對每一層新添加的prompt embedding進行調優,而保持大型預訓練模型的參數不變。因此,雖然只需更新極少量的參數(例如1%),但計算成本遠低于全量微調的開銷。

重參數化(Reparameterization)
除了在每一層添加稀疏embedding矩陣的最簡單實現外,更復雜的實現方式是添加一個編碼器(例如一個MLP層)對prompt embedding進行重參數化。在本研究中我們也考察了重參數化在該背景下的影響。

Prompt長度
與以往研究(Li and Liang, 2021;Liu et al., 2021b)類似,我們發現prompt embedding的長度對不同下游任務的性能表現有顯著影響。在本研究中,我們進一步探討了該因素對不同下游任務模型性能的影響。

Prompt深度
為了探究prompt embedding插入位置的影響,我們研究了prompt深度問題。具體而言,我們將其簡化為三種設置:僅向encoder添加prompt embedding、僅向decoder添加prompt embedding,以及同時向兩者添加。

3 實驗

為了驗證prompt tuning在多模態預訓練模型上的有效性,我們在5個跨模態任務上進行了實驗。具體而言,我們在跨模態生成任務上進行了實驗,包括指代表達理解(referring expression comprehension)和圖像描述生成(image captioning),以及跨模態理解任務,包括視覺蘊含(visual entailment)、圖像描述和視覺問答(VQA)。我們在實驗中采用了常用的base規模和large規模模型,參數規模分別約為180M和470M。更多實驗設置的細節可參見附錄A.1。

在這里插入圖片描述
在這里插入圖片描述

3.1 數據集與評估指標

指代表達理解(Referring Expression Comprehension)
我們在指代表達理解的三個子任務上進行了實驗,分別是 RefCOCO、RefCOCO+ 和 RefCOCOg(Yu et al., 2016;Mao et al., 2016)。該任務要求模型在給定圖像上,根據文本查詢生成一個正確的邊界框。我們使用 Acc@0.5 作為評估指標。

圖像描述(Image Captioning)
我們在 Microsoft COCO 圖像描述數據集(Chen et al., 2015)上評估方法的圖像描述能力。在該任務中,模型應生成能夠反映圖像信息的描述性文本。我們采用 BLEU@4(Papineni et al., 2002)、METEOR(Lavie and Agarwal, 2007)、CIDEr(Vedantam et al., 2015)和 SPICE(Anderson et al., 2016)作為評估指標。

視覺蘊含(Visual Entailment)
為評估蘊含關系的表現,我們在 SNLI-VE(Xie et al., 2019)數據集上進行了實驗。給定一張圖像和一段文本,模型應判斷它們之間的關系是蘊含(entailment)、矛盾(contradiction)還是中性(neutrality)。我們遵循 Wang et al.(2022a)中的設置,將給定前提(premise)加入輸入中。評估指標為準確率(accuracy)。

視覺問答(VQA)
我們在 VQA 2.0(Antol et al., 2015;Goyal et al., 2017)數據集上進行了實驗。該任務要求模型根據圖像及其相關問題生成正確的答案。我們遵循 Wang et al.(2022a)的設置,采用全候選評估方法,即模型需要為3,129個最常見的答案中的每一個生成概率。評估指標為準確率(accuracy)。

3.2 實驗結果

下文提供了詳細的實驗結果,包括 prompt tuning 與 finetuning 的對比,以及與其他參數高效調優方法的對比。

與 Finetuning 的對比
我們在表1和表2中展示了4個任務的實驗結果。總體而言,對于base規模模型,OFA-PT 的表現顯著低于原始finetuned的OFA;但對于large規模模型,OFA-PT 能夠實現相當的性能。具體而言,在指代表達理解任務中,對于base模型,prompt tuning 在 RefCOCO、RefCOCO+ 和 RefCOCOg 三個子任務上平均落后finetuning達5.64,差距顯著;但在large模型上,prompt tuning 僅略微低于finetuning,差距為0.59。在圖像描述任務中,對于base模型,OFA-PT 落后于finetuned OFA 約4.0,但在large模型中,兩者性能差距僅為0.8。

在視覺蘊含任務中,兩種方法之間的差距較小,僅為0.17。在VQA任務中,base模型下,prompt tuning 與finetuning之間的性能差距為3.63;而在large模型的 test-std 集上,該差距為2.17。與其他任務不同,即使在large模型上,該任務中的性能差距仍較為顯著。我們推測,這是由于 prompt tuning 對超參數較為敏感,因此該任務仍需要更好的超參數設置搜索策略。
在這里插入圖片描述

溫馨提示:
閱讀全文請訪問"AI深語解構" OFA-PT:統一多模態預訓練模型的Prompt微調

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/912807.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/912807.shtml
英文地址,請注明出處:http://en.pswp.cn/news/912807.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【硬核數學】2.5 “價值標尺”-損失函數:信息論如何設計深度學習的損失函數《從零構建機器學習、深度學習到LLM的數學認知》

歡迎來到本系列硬核數學之旅的第十篇,也是我們對經典數學領域進行深度學習“升級”的最后一站。我們已經擁有了強大的模型架構(基于張量)、高效的學習引擎(反向傳播)和智能的優化策略(Adam等)。…

雷卯針對靈眸科技EASY EAI nano RV1126 開發板防雷防靜電方案

一、應用場景 1. 人臉檢測 2. 人臉識別 3. 安全帽檢測 4. 人員檢測 5. OCR文字識別 6. 人頭檢測 7. 表情神態識別 8. 人體骨骼點識別 9. 火焰檢測 10. 人臉姿態估計 11. 人手檢測 12. 車輛檢測 13. 二維碼識別 二、 功能概述 1 CPU 四核ARM Cortex-A71.5GHz 2 …

【記錄】Ubuntu|Ubuntu服務器掛載新的硬盤的流程(開機自動掛載)

簡而言之,看這張圖片就好(可以存一下,注意掛載點/data可以自定義,掛載硬盤的位置/dev/sdb要改成步驟1中檢查的時候查到的那個位置,不過這個圖的自動掛載漏了UUID,可以通過blkid指令查找)&#x…

六、軟件操作手冊

建議在飛書平臺閱讀此文。 我將沿著初來乍到的用戶的瀏覽路徑介紹“諍略參謀”應用。 目錄 一、用戶信息1.1 注冊、登錄、自動登錄、忘記密碼、修改用戶名、修改密碼、退出登錄與個性化設置1.2 認識主界面與任務系統1.3 語義審查、Knowledge Cutoff 審查1.4 重要內容未保存提醒…

電腦鍵盤不能打字了怎么解決 查看恢復方法

電腦鍵盤打不了字,這是我們電腦使用過程中,偶爾會遇到的電腦故障問題。一般來說,電腦鍵盤打不出字,可能是硬件故障、驅動問題或系統設置錯誤等多種原因引起。本文將詳細介紹一些常見的原因和解決方法,幫助用戶恢復正常…

基于STM32的土豆種植自動化灌溉系統設計與實現

?? 項目簡介 隨著農業現代化發展及水資源短缺問題日益突出,傳統土豆種植方式在澆灌效率與用水科學性方面暴露出諸多問題。本文基于STM32F103C8T6微控制器,設計并實現了一種智能化的土豆種植自動灌溉系統,集成多種環境傳感器(溫濕度、土壤濕度、光照)、控制設備(水泵、…

第8篇:Gin錯誤處理——讓你的應用更健壯

作者:GO兔 博客:https://luckxgo.cn 分享大家都看得懂的博客 引言 在Web應用開發中,錯誤處理是保證系統穩定性和用戶體驗的關鍵環節。Gin作為高性能的Go Web框架,提供了靈活的錯誤處理機制,但許多開發者在實際項目中仍會遇到錯誤處理混亂、異…

【PyCharm】Python安裝路徑查找

PyCharm應用筆記 第一章 Python安裝路徑查找 文章目錄 PyCharm應用筆記前言一、電腦設置查找二、資源管理器查找 前言 本文主要介紹幾種Python安裝路徑查找的方法。 一、電腦設置查找 簡述過程:設置》應用》安裝的應用》搜索框輸入Python。 注:電腦使用…

數據結構:遞歸:漢諾塔問題(Tower of Hanoi)

目錄 問題描述 第一性原理分析 代碼實現 第一步:明確函數要干什么 第二步:寫好遞歸的“結束條件” 第三步:寫遞歸步驟 🌳 遞歸調用樹 🔍復雜度分析 時間復雜度:T(n) 2^n - 1 空間復雜度分析 問題描…

synetworkflowopenrestydpdk

一.skynet 1. Skynet 的核心架構是什么?簡述其進程與服務模型。 Skynet 采用多進程多服務架構。主進程負責管理和監控,多個工作進程(worker)負責實際服務運行。每個服務(service)是一個獨立的 Lua 虛擬機&…

【甲方安全視角】安全防御體系建設

文章目錄 前言一、云安全防護能力第一階段:搭建安全防護設施第二階段:安全防護設施的精細化運營第三階段:安全運營周報輸出二、IT安全防護能力(一)辦公網安全設施建設(二)辦公網安全運營三、基礎安全防護能力(一)物理安全(二)運維安全(三)安全應急響應四、總結前言…

計算機組成原理與體系結構-實驗一 進位加法器(Proteus 8.15)

目錄 一、實驗目的 二、實驗內容 三、實驗器件 四、實驗原理 4.1 行波進位加法器 4.2 先行進位加法器 4.3 選擇進位加法器(嘗試猜測原理) 五、實驗步驟與思考題 一、實驗目的 1、了解半加器和全加器的電路結構。 2、掌握串行進位加法器和并行進…

react+antd Table實現列拖拽,列拉寬,自定義拉寬列

主要插件Resizable,dnd-kit/core,dnd-kit/sortable,dnd-kit/modifiers 其中官網有列拖拽,主要結合Resizable 實現列拉寬,isResizingRef 很重要防止拖拽相互影響 1.修改TableHeaderCell const isResizingRef useRef(…

光照解耦和重照明

項目地址: GitHub - NJU-3DV/Relightable3DGaussian: [ECCV2024] 可重新照明的 3D 高斯:使用 BRDF 分解和光線追蹤的實時點云重新照明 可優化參數 gaussians.training_setup(opt) if is_pbr:: direct_env_light.training_setup…

Kafka 運維與調優篇:構建高可用生產環境的實戰指南

🛠? Kafka 運維與調優篇:構建高可用生產環境的實戰指南 導語:在生產環境中,Kafka集群的穩定運行和高性能表現是業務成功的關鍵。本篇將深入探討Kafka運維與調優的核心技術,從監控管理到性能優化,再到故障排…

AR 地產互動沙盤:為地產沙盤帶來變革?

在科技飛速發展的今天,AR(增強現實)技術應運而生,為解決傳統地產沙盤的困境提供了全新的思路和方法。AR 技術,簡單來說,是一種將計算機生成的虛擬信息與真實環境相融合的技術。它通過攝像頭、傳感器等設備獲…

端到端自動駕駛系統關鍵技術

一、感知決策一體化模型架構 單一神經網絡整合全流程 端到端神經網絡能夠直接將傳感器輸入映射為控制輸出,消除了傳統模塊化架構中感知、規劃、控制等獨立模塊之間的割裂。傳統架構中,感知模塊負責識別環境信息,決策模塊根據感知結果進行路…

Vue Vue-route (2)

Vue 漸進式JavaScript 框架 基于Vue2的學習筆記 - Vue-route重定向和聲明式導航 目錄 Vue-route路由 重定向 首頁默認訪問 不存在匹配 聲明式導航 路由原理 使用示例 自定義class類 Tag設置 版本4路由 改變 示例 總結 Vue-route路由 重定向 首頁默認訪問 希望訪…

Mabl 基于云端的智能化自動化測試平臺

??親愛的技術愛好者們,熱烈歡迎來到 Kant2048 的博客!我是 Thomas Kant,很開心能在CSDN上與你們相遇~?? 本博客的精華專欄: 【自動化測試】 【測試經驗】 【人工智能】 【Python】 </

Linux/Dog

Dog Enumeration nmap 第一次掃描發現系統對外開放了22、80端口&#xff0c;端口詳細信息如下 ┌──(kali?kali)-[~/Desktop/vegetable/HTB] └─$ nmap -sC -sV -p 22,80 -oA nmap 10.10.11.58 Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-26 03:36 EDT Nmap s…