Parameter-Efficient Fine-tuning 相关工作梳理
?PaperWeekly 原創 ·?作者 |?避暑山莊梁朝偉
研究方向 |?自然語言處理
背景
隨著計算算力的不斷增加,以 transformer 為主要架構的預訓練模型進入了百花齊放的時代。看到了大規模預訓練的潛力,嘗試了不同的預訓練任務、模型架構、訓練策略等等,在做這些探索之外,一個更加直接也通常更加有效的方向就是繼續增大數據量和模型容量來向上探測這一模式的上界。首先這些經過海量數據訓練的模型相比于一般的深度模型而言,包含更多的參數,動輒數十億。在針對不同下游任務做微調時,存儲(每個任務對應一個完成的預訓練模型)和訓練這種大模型是十分昂貴且耗時的。
方法歸類
2.1 Adapter
通過過在原始的預訓練模型中的每個 transformer block 中加入一些參數可訓練的模塊實現的。假設原始的預訓練模型的參數為 ω,加入的 adapter 參數為 υ,在針對不同下游任務進行調整時,只需要將預訓練參數固定住,只針對 adapter 參數 υ 進行訓練。常情況下,參數量 υ<<ω, 因此在對多個下游任務調整時,只需要調整極小數量的參數,大大的提高了預訓練模型的擴展性和實用性。
代表論文:
論文標題:
Parameter-Efficient Transfer Learning for NLP
論文鏈接:
https://arxiv.org/abs/1902.00751
代碼鏈接:
https://github.com/google-research/adapter-bert
在 Multi-head attention 層后和 FFN 層后都加了一個 adapter,通過殘差連接和 down-project & up-project(減少 adapter 的參數量)實現。
論文標題:
LoRA: Low-Rank Adaptation of Large Language Models
論文鏈接:
https://arxiv.org/abs/2106.09685
代碼鏈接:
https://github.com/microsoft/LoRA
將原有預訓練參數進行矩陣分解(減少參數量),然后和原有參數相加。
2.2 Part Parameter Tuning
通過訓練預訓練模型中部分參數,減少模型訓練參數,提升模型訓練效率,其中包括 layernorm&head tune(只訓練模型的 layernorm 和 head 層)等。
代表論文:
論文標題:
BitFit: Simple Parameter-efficient Fine-tuning for Transformer-based Masked Language-models
論文鏈接:
https://arxiv.org/abs/2106.10199
代碼鏈接:
https://github.com/benzakenelad/BitFit
只訓練模型中的 bias 參數。
模型 head 層增加一層線性映射,通過先驗非有效輸入樣本預估平衡(各 50% 概率進行校準)。
論文標題:
Raise a Child in Large Language Model: Towards Effective and Generalizable Fine-tuning
論文鏈接:
https://arxiv.org/abs/2109.05687
代碼鏈接:
https://github.com/pkunlp-icler/childtuning
Child-Tuning-F:在 fine-tune 的過程中,只需要在每一步更新的迭代中,從伯努利分布中采樣得到一個梯度掩模即可,相當于在對網絡參數更新的時候隨機地將一部分梯度丟棄。
Child-Tuning-D:針對不同的下游任務自適應地進行調整,選擇出與下游任務最相關最重要的參數來充當 Child Network。引入 Fisher Information Matrix(FIM)來估計每個參數對于下游任務的重要性程度,并與前人工作一致近似采用 FIM 的對角矩陣(即假設參數之間互相獨立)來計算各個參數相對下游任務的重要性分數,之后選擇分數最高的那部分參數作為 Child-Network。
2.3 Prompt Tuning
固定預訓練模型,每個下游任務僅添加若干個 tunable 的 token 作為前綴拼在輸入樣本中。實驗證明了這種方式在大規模預訓練模型的助力下,能夠媲美傳統的 fine-tuning 表現。
論文標題:
Prefix-Tuning: Optimizing Continuous Prompts for Generation
論文鏈接:
https://arxiv.org/abs/2101.00190
代碼鏈接:
https://github.com/XiangLi1999/PrefixTuning
將 soft tokens 作為前綴拼在輸入樣本中,并且拼在每一層中。
論文標題:
The Power of Scale for Parameter-Efficient Prompt Tuning
論文鏈接:
https://arxiv.org/abs/2104.08691
代碼鏈接:
https://github.com/google-research/prompt-tuning
在百億參數和以上模型在 full-shot 上使得 Prompt Tuning 和 fine-tuning 效果相當。
論文標題:
PPT: Pre-trained Prompt Tuning for Few-shot Learning
論文鏈接:
https://arxiv.org/abs/2109.04332
提出 prompt 預訓練,在百億參數和以上模型在 few-shot 上使得 Prompt Tuning 和 fine-tuning 效果相當。
論文標題:
P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks
論文鏈接:
https://arxiv.org/abs/2110.07602
代碼鏈接:
https://github.com/THUDM/P-tuning-v2
在低于百億參數模型在 full-shot 上使得 Prompt Tuning 和 fine-tuning 效果相當,引入了 prefix-tuning。
論文標題:
Cutting Down on Prompts and Parameters: Simple Few-Shot Learning with Language Models
論文鏈接:
https://arxiv.org/abs/2106.13353
代碼鏈接:
https://github.com/ucinlp/null-prompts
在低于百億參數模型在 few-shot 上使得 Prompt Tuning 和 fine-tuning 效果相當,并且提出 null prompt 方法
2.4 Black-Box Tuning
論文標題:
Black-Box Tuning for Language-Model-as-a-Service
論文鏈接:
https://arxiv.org/abs/2201.03514
代碼鏈接:
https://github.com/txsun1997/black-box-tuning
通過將 prompt token 壓縮到比較小的維度,然后通過無梯度優化方法進行參數調優,避免了在大模型梯度下降,只需要用戶根據少量樣本走預訓練模型前向的結果來尋找最優的任務參數。這種方式非常有利于大模型落地,用戶和大模型之間進行分離。
2.5 統一框架
論文標題:
Towards a Unified View of Parameter-Efficient Transfer Learning
論文鏈接:
https://arxiv.org/abs/2110.04366
代碼鏈接:
https://github.com/jxhe/unified-parameter-efficient-tuning
prefix tuning 通過一些變換可以看成是和 Adapter 類似的結構,可以把它們看作是學習一個向量 ,它被應用于各種隱藏表征。形式上,直接修改的隱藏表征表示為 ,把計算 的 PLM 子模塊的直接輸入表示為 。
Parallel Adapter 是通過將 prefix tuning 的 parallel 插入轉移到 Adapter 的變體。
Multi-head Parallel Adapter 是使 Adapter 與 prefix tuning 更加相似的進一步措施,應用 Parallel Adapter 來修改頭部注意力輸出作為 prefix tuning 。
Scaled Parallel Adapter 是通過將 LoRA 的組成和插入形式轉移到適配器的變體。
嘗試不同策略組合,發現一些結論:
Parallel Adapter 在所有情況下都能夠擊敗 Sequential Adapter;
適配修改放在 Transformer 的 attention 模塊效果更佳。
總結
隨著預訓練大模型的發展,高效 Parameter Finetuning 是非常必要的,近期大火的 prompt 也發展著越來越像之前的 adapter 方法。希望隨著方法越來越成熟,能研究在各項任務設置和模型規模上打平 finetune 的方法。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的Parameter-Efficient Fine-tuning 相关工作梳理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转基因食品的优缺点都有哪些 了解了这些再
- 下一篇: 大学生银行卡怎么激活