離開學(xué)校加入公司的業(yè)務(wù)部門已經(jīng)半年多了,往后應(yīng)該會努力抽時間做點(diǎn)開源項(xiàng)目,但暫時沒什么計(jì)劃再發(fā)一作論文了。這次介紹下我和我(前)實(shí)驗(yàn)室一位非常優(yōu)秀的學(xué)弟 beier 合作的一篇 NeurIPS 2023 論文《Generalized Logit Adjustment: Calibrating Fine-tuned Models by Removing Label Bias in Foundation Models》,算是我入職前在學(xué)術(shù)界最后的回響吧。
這次學(xué)弟的文章主要嘗試解決我做長尾問題期間的一個始終縈繞在我腦袋里的疑慮,我覺得長尾領(lǐng)域最大的坎在于明明在研究一個普世的問題,但是學(xué)術(shù)界把問題模型簡化后做出來的算法卻只能在精心設(shè)計(jì)的實(shí)驗(yàn)數(shù)據(jù)集上生效。 這次和學(xué)弟合作的這篇工作得益于模型自監(jiān)督預(yù)訓(xùn)練帶來的優(yōu)秀 OOD 效果和我們提出的 GLA 算法對預(yù)訓(xùn)練模型在下游任務(wù)上偏見的矯正,我們第一次基于長尾問題本身的特性設(shè)計(jì)出了一個通用的提點(diǎn)算法,不僅能在狹義的傳統(tǒng) LT 數(shù)據(jù)集上生效,也能用于其他非 LT 設(shè)定的任務(wù),比如我們的算法可以提升模型在原始的 ImageNet 測試集的效果,還有一些few-shot等其他任務(wù)。
論文鏈接:
https://arxiv.org/pdf/2310.08106.pdf
代碼鏈接:https://github.com/BeierZhu/GLA

大模型時代的長尾分布研究該何去何從
在當(dāng)下這個大模型群星閃耀的時代,想必過去兩三年中關(guān)注長尾任務(wù)的同學(xué)都面臨著何去何從的困惑。長尾問題固然普世,除了狹義的類間長尾還有廣義長尾問題 [1],但過去幾年學(xué)術(shù)界中研究的主流長尾算法卻并不同樣普世。 以最常見的圖像長尾分類任務(wù)為例,要想大多數(shù)長尾分類算法能夠生效,首先訓(xùn)練過程中的長尾分布就必須是顯性的,要通過統(tǒng)計(jì)具體的類別分布來實(shí)現(xiàn)去偏。而大模型成功的根基,卻恰恰也給傳統(tǒng)長尾算法關(guān)上了大門,因?yàn)榇竽P退蕾嚨淖员O(jiān)督預(yù)訓(xùn)練無法為下游任務(wù)提供一個顯性的長尾分布去矯正。 以大語言模型(如 GPT 等)和多模態(tài)模型(如 CLIP 等)為例,即便近來有一些論文嘗試去研究大模型在下游任務(wù)微調(diào)時的下游數(shù)據(jù)偏見問題,但卻并沒有工作能夠解決大模型預(yù)訓(xùn)練階段本身的數(shù)據(jù)不均衡問題。但我們都知道在海量的預(yù)訓(xùn)練數(shù)據(jù)之下,數(shù)據(jù)的長尾分布是必然的。之所以鮮有人嘗試去研究自監(jiān)督預(yù)訓(xùn)練階段本身的數(shù)據(jù)偏見,是因?yàn)橐朐诖竽P偷淖员O(jiān)督預(yù)訓(xùn)練中研究長尾問題存在三大挑戰(zhàn): 其一,原始文本數(shù)據(jù)的歧義性導(dǎo)致無法精準(zhǔn)的統(tǒng)計(jì)類別的分布。比如以 CLIP 為例,其預(yù)訓(xùn)練目標(biāo)是將圖片與文本配對,而下游的視覺端 backbone 可以用作圖像分類任務(wù),但此時如果下游是一個 {human, non-human} 的二分類,我們并不能直接用 human 關(guān)鍵詞的出現(xiàn)與否作為預(yù)訓(xùn)練數(shù)據(jù)分布的統(tǒng)計(jì)標(biāo)準(zhǔn),比如包含 a worker 的圖片雖然沒有 human 這個詞但也應(yīng)該被統(tǒng)計(jì)為 human,因此文本天然的歧義和多意會給長尾分布研究帶來極大的困難和偏差。 其二,預(yù)訓(xùn)練任務(wù)與下游任務(wù)的弱耦合導(dǎo)致無法明確數(shù)據(jù)分布的統(tǒng)計(jì)方式。大模型的強(qiáng)大之處在于可以通過一個簡單有效的預(yù)訓(xùn)練支撐花樣百出的下游任務(wù),然而這卻大大增加了研究預(yù)訓(xùn)練數(shù)據(jù)偏見對下游任務(wù)影響的難度。比如 GPT 等大語言模型的預(yù)訓(xùn)練是預(yù)測下一個或是缺失的 Token,雖然我們可以統(tǒng)計(jì) Token 的詞頻,但如果我們的下游任務(wù)是對文本的語氣進(jìn)行三分類 {positive, neutral, negative}。 此時單純統(tǒng)計(jì) positive,neutral 和 negative 這三個詞在預(yù)訓(xùn)練中的詞頻顯然并不完全合適,因?yàn)檫@幾個詞出現(xiàn)的場景并非都是語氣分類,要想精準(zhǔn)統(tǒng)計(jì)不僅困難,其具體的下游任務(wù)更是無法在預(yù)訓(xùn)練階段知曉的(下游任務(wù)太多了,模型提供者并不能知道模型被其他人拿到后會如何使用)。 最后,也是最重要的,預(yù)訓(xùn)練數(shù)據(jù)的保密性也是不得不考慮的問題,出于用戶隱私和商業(yè)機(jī)密的考量,一個開源公司即便開放了大模型參數(shù)往往也不會開放預(yù)訓(xùn)練數(shù)據(jù),這使得研究預(yù)訓(xùn)練數(shù)據(jù)的分布變得幾乎不可能。這也是目前鮮有該方面研究的主要原因之一。而在我們最新的工作中,我們不僅實(shí)現(xiàn)了在下游任務(wù)直接估計(jì)預(yù)訓(xùn)練的偏見,更是完全規(guī)避了對預(yù)訓(xùn)練數(shù)據(jù)本身的訪問,使得我們可以在只有模型權(quán)重沒有預(yù)訓(xùn)練數(shù)據(jù)的情況下實(shí)現(xiàn)對自監(jiān)督預(yù)訓(xùn)練模型的去偏。
自監(jiān)督預(yù)訓(xùn)練引入的數(shù)據(jù)偏見

▲ 圖一:自監(jiān)督預(yù)訓(xùn)練階段引入的長尾數(shù)據(jù)偏見(可從 zero-shot 分類效果看出其對模型效果的影響)
目前大多數(shù)預(yù)訓(xùn)練模型魯棒性相關(guān)的研究中,他們往往會把自監(jiān)督預(yù)訓(xùn)練模型本身當(dāng)作是一個無偏的基準(zhǔn),而強(qiáng)調(diào)模型在下游任務(wù)上微調(diào)時會引入下游任務(wù)的偏見,因此需要對下游任務(wù)去偏的同時盡可能保留預(yù)訓(xùn)練模型的魯棒性,其中代表作有利用 zero-shot 模型和微調(diào)模型 Ensemble 的 WiSE-FT [2] 和利用梯度約束的 ProGrad [3]。但正如我上文說的,預(yù)訓(xùn)練數(shù)據(jù)的偏見同樣無法忽視,這導(dǎo)致上述模型從理論上便不可能是最優(yōu)的。 事實(shí)上早在兩年前,長尾問題領(lǐng)域便有人嘗試?yán)米员O(jiān)督學(xué)習(xí)來提取特征,并認(rèn)為無需顯性標(biāo)注的自監(jiān)督 loss 可以大大緩解模型的長尾偏見問題。于是在我們的工作開始前,我們首先便要推倒這個假設(shè)。自監(jiān)督預(yù)訓(xùn)練并不是一味萬能藥。如圖一所示,我們將 CLIP-ViT/B16 預(yù)訓(xùn)練模型在下游的 ImageNet 測試集上的分類效果按我們估計(jì)的類別分布(可視化中進(jìn)行了平滑處理)進(jìn)行排序,我們發(fā)現(xiàn)自監(jiān)督預(yù)訓(xùn)練模型同樣有著明顯的長尾偏見(zero-shot 結(jié)果),尾部類別的準(zhǔn)確率會有明顯的下滑。 尤其是當(dāng)我們將 zero-shot 結(jié)果和微調(diào)結(jié)果(fine-tune)對比時,我們就會看到他們的頭部類別效果相當(dāng),而尾部類別 zero-shot 模型明顯更差,也就是說自監(jiān)督預(yù)訓(xùn)練模型的長尾問題其實(shí)很嚴(yán)重,模型在下游任務(wù)上微調(diào)時其實(shí)類似于在一個更均衡的數(shù)據(jù)集上微調(diào)去提升尾部效果。 至于為什么之前的論文認(rèn)為預(yù)訓(xùn)練模型魯棒性更高,這就需要了解我之前一篇工作中提及的類間長尾和類內(nèi)長尾兩個概念的區(qū)別了,我認(rèn)為預(yù)訓(xùn)練的魯棒性更多的體現(xiàn)在類內(nèi)分布的魯棒性上,本文在這暫不展開,有興趣的同學(xué)可以看我另一篇文章(ECCV 2022 | 計(jì)算機(jī)視覺中的長尾分布問題還值得做嗎?)。 此時單純 zero-shot 和 fine-tune 的 Ensemble 模型 WiSE-FT 更像一個 Trade-off,用尾部的損失去提升頭部性能。而我們提出的 Generalized Logit Adjustment(GLA)通過在 Ensemble 之前先消除預(yù)訓(xùn)練 zero-shot 模型的長尾偏見來有效的實(shí)現(xiàn)了頭尾全分布的同時提升。 而我們之所以叫 Generalized Logit Adjustment 是為了致敬在經(jīng)典的狹義長尾分布任務(wù)上的一個非常優(yōu)雅且有效的算法 Logit Adjustment [4]。之所以無法簡單的套用到自監(jiān)督預(yù)訓(xùn)練上,其實(shí)最重要的一個難點(diǎn)就是我上面說到的預(yù)訓(xùn)練分布估計(jì)了。而僅利用模型參數(shù)不獲取預(yù)訓(xùn)練數(shù)據(jù)就能在下游任務(wù)上估計(jì)預(yù)訓(xùn)練階段數(shù)據(jù)偏見的算法也是我們文章的主要貢獻(xiàn)之一。

預(yù)訓(xùn)練數(shù)據(jù)中下游任務(wù)的類別分布估計(jì)
在本文中,我們主要以 CLIP 為引子,討論以圖文對比學(xué)習(xí)作為自監(jiān)督預(yù)訓(xùn)練的多模態(tài)模型(主要是視覺端),不過本文提出的算法也可以推廣至以文本自監(jiān)督預(yù)訓(xùn)練為基礎(chǔ)的大語言模型在下游文本分類任務(wù)上的偏見估計(jì)問題。 在給出本文提供的預(yù)訓(xùn)練階段數(shù)據(jù)偏見估計(jì)算法之前,我們需要回顧一篇我非常推崇的 Google 的 Logit Adjustment 長尾算法。在不考慮類內(nèi)不均衡 OOD 樣本的情況下,Logit Adjustment 研究已經(jīng)從理論上提供了非常優(yōu)雅的最優(yōu)解:傳統(tǒng)分類問題的概率模型 可以通過貝葉斯分解為如下形式 。那么在訓(xùn)練集與測試集獨(dú)立同分布(IID)的情況下,我們自然而然可以得到如下的假設(shè):,也就是說對于分類模型 ,唯一的類別 bias 來自 中的第二項(xiàng) 。那么問題就簡單了,我們可以直接通過 來將類別分布從訓(xùn)練分布更改為測試分布。如果以類別均衡的驗(yàn)證集上的結(jié)果作為模型在無偏見下的表現(xiàn)的衡量標(biāo)準(zhǔn), 就是平均分布,那么我們就可以去掉最后一項(xiàng) 。基于上文的 Logit Adjustment 長尾算法,我們不難發(fā)現(xiàn),只要能給出自監(jiān)督預(yù)訓(xùn)練模型的分布 ,我們就可以得到模型在類別均衡驗(yàn)證集上的理論最優(yōu)解(給定模型 backbone 下)。那么換而言之,我們也可以利用這一特性來反向計(jì)算 ,如圖二所示,只要能提供一個額外的類別均衡的子集,我們就可以通過最小化 Risk 去學(xué)習(xí)一個對模型輸出的 logits 的偏置項(xiàng),即通過最小化均衡子集上的誤差去估計(jì) 。詳細(xì)的理論推導(dǎo)和最優(yōu)保證請參考我們的原文和原文的補(bǔ)充材料。
▲ 圖二:以 Logit Adjustment 推導(dǎo)結(jié)果的理論最優(yōu)解為前提,反向通過一個均衡子集去估計(jì)偏置項(xiàng)。
基于上述預(yù)訓(xùn)練偏見估計(jì)的算法,我們不僅不需要獲取預(yù)訓(xùn)練數(shù)據(jù),更不需要預(yù)訓(xùn)練過程是嚴(yán)格的傳統(tǒng)分類 loss,任意分類模型都可以僅僅通過權(quán)重本身在一個均衡子集上估算出其訓(xùn)練階段積累的偏見。為了更好的體現(xiàn)我們的去偏效果,我們也可視化了我們的去偏算法在 CLIP zero-shot 模型的去偏效果,詳見圖三。




研究長尾問題對各個任務(wù)的具體影響可以說是貫穿我的博士生涯,從我研究開始該領(lǐng)域內(nèi)便有個共識就是長尾問題是普世的,是任何實(shí)際問題都繞不開的坎。但奈何長尾問題卻又無比復(fù)雜,不僅有類間長尾還有類內(nèi)屬性長尾,因此學(xué)術(shù)界不得不對任務(wù)做了很多簡化,但這也導(dǎo)致了長尾問題明明是個普世的問題,該領(lǐng)域的算法卻只能在精心設(shè)計(jì)的實(shí)驗(yàn)室環(huán)境下生效。
而如今大模型時代借助于預(yù)訓(xùn)練模型本身對于 OOD 的魯棒性,以及我們提出的預(yù)訓(xùn)練偏見估計(jì)算法對于分布的矯正,我們終于拼上了最后一塊拼圖,第一次提出一個基于分布矯正和 Ensemble 的真正通用的長尾算法,可以在實(shí)際問題實(shí)際應(yīng)用中提升各種任務(wù)的表現(xiàn),而不僅限于精心設(shè)計(jì)的長尾數(shù)據(jù)集。
我們也希望這個研究可以為大模型時代的研究者打開一扇研究預(yù)訓(xùn)練分布偏見的大門,而不用因?yàn)闊o法訪問預(yù)訓(xùn)練數(shù)據(jù)在大模型偏見研究的門口束手無策。希望這篇文章沒有浪費(fèi)大家的時間,能給大家以啟發(fā)。
@inproceedings{zhu2023generalized,
title={GeneralizedLogitAdjustment:CalibratingFine-tunedModelsbyRemovingLabelBiasinFoundationModels},
author={Zhu,BeierandTang,KaihuaandSun,QianruandandZhang,Hanwang},
journal={NeurIPS},
year={2023}
}
參考文獻(xiàn)
·
原文標(biāo)題:NeurIPS 2023 | 大模型時代自監(jiān)督預(yù)訓(xùn)練的隱性長尾偏見
文章出處:【微信公眾號:智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46264瀏覽量
392921
原文標(biāo)題:NeurIPS 2023 | 大模型時代自監(jiān)督預(yù)訓(xùn)練的隱性長尾偏見
文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
大模型時代的深度學(xué)習(xí)框架

用PaddleNLP為GPT-2模型制作FineWeb二進(jìn)制預(yù)訓(xùn)練數(shù)據(jù)集

訓(xùn)練好的ai模型導(dǎo)入cubemx不成功怎么處理?
從Open Model Zoo下載的FastSeg大型公共預(yù)訓(xùn)練模型,無法導(dǎo)入名稱是怎么回事?
用PaddleNLP在4060單卡上實(shí)踐大模型預(yù)訓(xùn)練技術(shù)

【「基于大模型的RAG應(yīng)用開發(fā)與優(yōu)化」閱讀體驗(yàn)】+大模型微調(diào)技術(shù)解讀
基于移動自回歸的時序擴(kuò)散預(yù)測模型

知行科技大模型研發(fā)體系初見效果

KerasHub統(tǒng)一、全面的預(yù)訓(xùn)練模型庫
時空引導(dǎo)下的時間序列自監(jiān)督學(xué)習(xí)框架

直播預(yù)約 |數(shù)據(jù)智能系列講座第4期:預(yù)訓(xùn)練的基礎(chǔ)模型下的持續(xù)學(xué)習(xí)

評論