大模型時代下做科研的四個思路【論文精讀·52】

在模型越來越大的時代背景下,如何利用有限的資源做出一些科研工作。
1、Efficient(PEFT)
提升訓(xùn)練效率,這里以PEFT(parameter efficient fine tuning)為例
2、Existing stuff(pretrained model)、New directions
使用別人的預(yù)訓(xùn)練模型,新的研究方向
3、plug-and-play
做一些即插即用的模塊,例如模型的模塊、目標(biāo)函數(shù)、新?lián)p失函數(shù)、數(shù)據(jù)增強(qiáng)方法等等。
4、Dataset,evaluation and survey
構(gòu)建數(shù)據(jù)集、發(fā)表分析為主的文章或者綜述論文
一、Efficient(PEFT)
通過論文AIM為例講述如何進(jìn)行PEFT,即在硬件資源有限時對大模型進(jìn)行高效微調(diào)
- 論文地址:https://arxiv.org/abs/2302.03024
- 論文標(biāo)題:AIM: Adapting Image Models for Efficient Video Action Recognition
- 標(biāo)題翻譯:調(diào)整圖像模型以實現(xiàn)高效的視頻動作識別
思考:已經(jīng)訓(xùn)練好的圖像模型是否需要繼續(xù)微調(diào)?
1、clip已經(jīng)證明了即使ZeroShot(模型不變,直接在各個數(shù)據(jù)集上進(jìn)行推理),它的效果也很好。即一個訓(xùn)練很好的圖片模型從中提取視覺特征是有泛化性、有效的。
2、繼續(xù)微調(diào)會導(dǎo)致災(zāi)難性遺忘。如果使用少量數(shù)據(jù)在大模型上微調(diào),可能會直接過擬合,或者大模型的很多特征丟失。
結(jié)論:預(yù)訓(xùn)練的圖像模型不需要繼續(xù)微調(diào)。
傳統(tǒng)模型和論文改進(jìn)的微調(diào)方法對比圖:

因此,論文的做法是,嘗試將模型參數(shù)鎖住,在上面加一些時序處理模塊、目標(biāo)函數(shù)等修改周邊的方式(即PEFT)讓圖片模型能夠做視頻理解的任務(wù),不需要重新訓(xùn)練視頻模型,省時省力。
1、adapter
最早來自于這篇論文:
- 論文地址:https://arxiv.org/abs/1902.00751
- 論文標(biāo)題:Parameter-Efficient Transfer Learning for NLP
- 標(biāo)題翻譯:用于NLP的參數(shù)高效轉(zhuǎn)移學(xué)習(xí)
Adapter層的結(jié)構(gòu),如下圖右邊所示:下采樣FC層+非線性激活層+上采樣FC層,加上殘差連接。
這里PEFT的方法是指,如下圖左邊所示,在Transformer中加入了兩個adapter,進(jìn)行微調(diào)時,原來的Transformer的參數(shù)都是鎖住的,只有adapter層的參數(shù)在學(xué)習(xí)。

adapter層參數(shù)量和大模型相比非常少,例如在175B的GPT3中使用LoRa,需要訓(xùn)練的參數(shù)只要萬分之一。因此訓(xùn)練成本大幅降低。
2、prompt tuning
- 論文地址:https://arxiv.org/abs/2109.01134
- 論文標(biāo)題:Learning to Prompt for Vision-Language Models
prompt tuning是指可以任意調(diào)整提示詞,這樣的調(diào)整對最后的性能會有很大的影響,能否得到想要的結(jié)果,取決于有沒有選擇一個好的提示詞。例如下圖所示,不同的提示詞對準(zhǔn)確率的影響很大。

上圖是如何通過提示給圖片分類的?將類別名稱CLASS給模型,看哪個文字和圖片的相似度最高。
Prompt分為兩種:
Hard Prompt:人工設(shè)置的提示詞,不能修改也無法學(xué)習(xí)。設(shè)置這些需要一定的先驗知識,但我們并不會總有這樣的先驗知識。
Soft Prompt:將提示詞設(shè)置為一個可學(xué)習(xí)的向量。如下圖所示 ,將文本端(text encoder)的輸入CLASS設(shè)置為learnable context,模型優(yōu)化的是這個context部分。這樣既可以節(jié)省很多計算量 ,也可以避免在下游任務(wù)時手動設(shè)置提示詞。

將可學(xué)習(xí)的Prompt方法用到純視覺任務(wù)中,做法如下圖所示。
- 論文地址:https://arxiv.org/abs/2203.12119
- 論文標(biāo)題:Visual Prompt Tuning

圖中藍(lán)色部分是原來訓(xùn)練好的模型,紅色是需要微調(diào)的prompt,加入Prompt tuning有兩種方式:
1、VPT: Deep,在每一層的輸入輸出都加入prompt。
2、VPT: Shallow,在輸入端加入prompt。
近期PEFT方法總結(jié),從統(tǒng)一的觀點進(jìn)行歸納:
- 論文地址:https://arxiv.org/abs/2110.04366

如上圖所示,AIM模型就是在圖b的ViT模型中加入圖a的Adapter,共有圖c、d、e三種方式:
1、Spatial Adaptation,只在S-MSA層后面加入Adapter,即不增加視頻理解能力,只加一些學(xué)習(xí)的參數(shù)。
2、Temporal Adaptation,復(fù)用一個MSA層,在兩個MSA層后面都加入Adapter,即讓模型從Spatial和Temporal兩個方向上進(jìn)行學(xué)習(xí),從而有時序建模的能力。
3、Joint Adaptation,在Temporal Adaptation的基礎(chǔ)上,在MLP邊上也加入Adapter,即讓三個Adapter各司其職,使得優(yōu)化問題更簡單一些。
注:MSA是多頭自注意力(MultiHead Self-Attention,S-MSA和T-MSA共享權(quán)重,但維度不同。
效果如下圖所示,只用14M參數(shù)的AIM模型效果已經(jīng)高過之前121M的模型。

二、Existing stuff(pretrained model)
有兩點:
1、巧妙使用別人的預(yù)訓(xùn)練模型,從而達(dá)到去做FewShot,ZeroShot,或者最多Fine Tuning的實驗。
2、新的研究方向。
通過這篇論文講述這兩點是如何運(yùn)用的:
- 論文地址:https://arxiv.org/abs/2207.05027
- 論文標(biāo)題:Unsupervised Semantic Segmentation with Self-supervised Object-centric Representations
從標(biāo)題就可以看出這兩點技巧:
1、這里的Self-supervised是指使用了預(yù)訓(xùn)練好的DINO、DeepUSPS、BASNet等網(wǎng)絡(luò)
2、這里做的方向是Object-centric Learning,屬于蓬勃發(fā)展的題目,玩家不多、數(shù)據(jù)集不大

上圖展示了如何使用幾個預(yù)訓(xùn)練好的模型,在無監(jiān)督的情況下找到新的物體,步驟如下:
1、通過預(yù)訓(xùn)練模型DeepUSPS找到一些顯著性物體的Mask。
例如,圖片中的籃球可以得到一個圓形的Mask
2、根據(jù)Mask將圖片中的對應(yīng)物體摳出來,并調(diào)整大小為224*224。
例如,將圖片中的籃球摳出來并放大
3、然后將步驟2得到的圖片通過預(yù)訓(xùn)練模型DINO返回一個1024*1024的特征(global representation)。
4、將所有的特征進(jìn)行聚類Clustering,這樣就可以通過無監(jiān)督學(xué)習(xí)得到這些物體的分類ID。
注:聚類只能將相同的物體分類到一起,但并不知道具體是什么物體。
5、將圖片和對應(yīng)的分類ID去訓(xùn)練一個語義分割網(wǎng)絡(luò)(Semantic segmentation network)。
注:這里相當(dāng)于一個有監(jiān)督的學(xué)習(xí),標(biāo)簽來自于步驟4
6、一張圖片可能有多個物體,所以加一個Self-training,多做幾個輪回。
這樣就可以從圖片中找到物體了。
三、plug-and-play
做一些通用的、即插即用的模塊,在一個設(shè)定的范圍內(nèi),加入了這樣的模塊后,能夠有一個統(tǒng)一的漲點,并且能給出合適的分析,就非常有說服力了。通過MixGen論文講述如何加入模塊:
- 論文地址:https://arxiv.org/abs/2206.08358
- 論文標(biāo)題:MixGen: A New Multi-Modal Data Augmentation
文本的模型都很大,圖片的模型相對來說小一些,但是自注意力的參數(shù)是可以共享的,所以嘗試用文本大模型來蒸餾圖片小模型
注:模型蒸餾:使用訓(xùn)練集訓(xùn)練出來一個完整復(fù)雜的teacher模型,然后設(shè)計一個小規(guī)模的student模型,再固定teacher模型的權(quán)重參數(shù),然后使用訓(xùn)練集和teacher模型的輸出同時對student模型進(jìn)行訓(xùn)練,此時就需要設(shè)計一系列l(wèi)oss,讓student模型在蒸餾學(xué)習(xí)的過程中逐漸向teacher模型的表現(xiàn)特性靠攏,使得student模型的預(yù)測精度逐漸逼近teacher模型。
為什么之前圖片模型不做數(shù)據(jù)增強(qiáng)?
1、圖片模型訓(xùn)練時已經(jīng)用了很多圖片了,不需要再做數(shù)據(jù)增強(qiáng)。
’2、或者做了數(shù)據(jù)增強(qiáng),但是將其中的Color Jittering和Random Filp去掉了,因為這兩個對圖片的變化會導(dǎo)致圖片和文本不匹配。
例如:圖片有白色的狗和綠色的樹,只對圖片做Color Jittering會導(dǎo)致顏色變化,圖片中不再是白色的狗,但是文本依然是白色的狗,這樣文本和圖片就不匹配了。
論文的做法:既然目標(biāo)是盡可能保留更多信息,這里的做法很簡單粗暴,就是直接將兩個句子拼接在一起,這樣就可以做到不丟失信息的情況下得到新的訓(xùn)練樣本。
例如下圖,將兩個圖片通過數(shù)據(jù)增強(qiáng)得到第三個圖片,同時將兩個圖片的文本進(jìn)行拼接得到第三個圖片的文本。

審稿人的建設(shè)性提議:在下游任務(wù)只有少量數(shù)據(jù)時進(jìn)行數(shù)據(jù)增強(qiáng)。
四、Dataset,evaluation and survey
構(gòu)建數(shù)據(jù)集、發(fā)表分析為主的文章或者綜述論文,這里舉了兩篇論文為例。
以數(shù)據(jù)集為主的big detection,將三個數(shù)據(jù)集整合到一起:
- 論文地址:https://arxiv.org/abs/2203.13249
視頻動作檢測的綜述論文:
- 論文地址:https://arxiv.org/abs/2012.06567