2022年预训练的下一步是什么?
?作者 |?李政
學校 |?華中科技大學
研究方向 |?自然語言處理
大規模預訓練
預訓練+微調的做法,在多個下游領域取得優異的表現。而在過去的一年里,預訓練模型更是在往大而深的方向發展。
目前,國內已有智源研究院、鵬城實驗室、中科院自動化所、阿里、百度、華為、浪潮等科研院所和企業研相繼發出“悟道”、“盤古”、“紫東 · 太初”、M6、PLUG、ERNIE 3.0 等大模型。
但是模型在往大而深方向發展的同時,也存在如下亟待解決的問題:
如何解釋預訓練模型的理論基礎(如大模型智能的參數規模極限存在嗎)
如何將大模型高效、低成本的應用于實際系統
如何克服構建大模型的數據質量、訓練效率、算力消耗、模型交付等諸多障礙
如何解決目前大部分大模型普遍缺乏認知能力的問題
對比學習
對比學習的出發點在于避免模型坍塌,理想的模型應該符合 alignment 和 uniformity,即語義相近的句子彼此聚集,語義無關的句子均勻分布。
如果僅僅通過數據增強構建正例,隨機句子作為負例,并為其打上 0,1 標簽,存在以下問題:
數據增強生成正例的變化有限
隨機搭配成負例,含有除正例組合外其他組合全部為 0 的誘導
0,1 標簽的賦予太過絕對,對相似性表述不夠準確
因此對比學習的核心思想轉變為:
score(X,X^{'})?>>?score(X,Y)其中,X 代表原樣本, 代表數據增強的正樣本,Y 代表隨機選擇的負樣本。根據該思想,對比學習采用 InfoNCE 損失函數:
loss?=?-log?\frac{exp(score(X,X^{'}))}{score(X,X^{'})+\sum_{i=1}^{N}score(X,Y_i)}通過該損失函數實現正例拉近,負例推遠的效果。
Prompt
prompt 被譽為 NLP 領域的新范式,與預訓練+微調的范式相比,其過程分為:"pre-train, prompt, and predict"。
prompt 的出發點在于以更輕量化的方式利用預訓練模型,避免微調與預訓練之間存在的差異。
prompt 通過構建模版的方式,將下游任務轉為與預訓練相似的 MLM 任務,以該方式充分發揮預訓練模型的性能。
以文本情感分類任務中,"I love this movie."句子為例,prompt 按照以下方式進行處理:
3.1 生成prompt句子
該步驟完成輸入句子到模型輸入的映射:
x^{'}=f_{prompt}(x)其中, 為生成的 prompt 句子,x 為輸入句子, 為 prompt 函數。
在本例中,使用的模版為:" [X] Overall, it was a [Z] movie."
因此,得到的, 為"I love this movie. Overall it was a [Z] movie.
3.2 模型預測
該步驟將 輸入模型,模型完成模版空白位置的詞語預測。
在本例中,模型可能預測為:"excellent", "great", "wonderful" 等詞語
3.3 結果映射
通常模型預測的詞語與任務輸出存在一定差距,因此我們需要完成詞語到輸出結果的映射。
y?=?f(x^{'})在本例中,"excellent", "great", "wonderful" 等詞語映射為標簽 "++"
展望未來
首先我認為當前基于數據驅動方法存在如下的問題:
1. 長尾效應:自然界中的數據分布就是長尾的,在學習的過程中,模型容易發生過擬合,泛化性較差。
2. 數據噪聲:有標簽的數據,在標注過程中就不可避免的存在噪聲。尤其是多位人員一起標注時,不同標注人員根據自身的理解完成數據的標注,但不同的人自身理解存在偏差,因此標注結果極易存在誤差。歸根到底:標注的規范難以確定,無法統一大家的知識庫。
當前我遇到的一些問題分享:模型仍無法很好地處理下述問題:
太陽有幾只眼睛?
姚明與奧尼爾身高誰比較高?
貓咪可以吃生蛋黃嗎?貓咪是可以吃蛋黃的。這里特定煮熟的白水蛋,貓咪不能吃生雞蛋,因為生雞蛋中有細菌。
物質都是由分子構成的嗎?物質都是由分子構成的,分子又由原子構成-錯的!因為有些物質是不含分子的。
這些問題,我總結為兩方面的困難:
1. 缺乏知識,由于預訓練與微調領域存在偏差,模型在下游任務中缺乏特定知識,同時模型在一些常識問題上表現較差。
2. 缺乏深度語義的理解,模型表現的更像通過字面匹配完成任務,推理的成分更弱。
當前研究熱點仍然在于挖掘預訓練模型的能力,但在基于常識性知識與邏輯推理的問題上,這種基于數據驅動的方式從底層就存在問題。引用一下大咖們對 2022 年的展望。
大模型一方面在不少問題上取得了以往難以預期的成功,另一方面其巨大的訓練能耗和碳排放是不能忽視的問題。個人以為,大模型未來會在一些事關國計民生的重大任務上發揮作用,而在其他一些場景下或許會通過類似集成學習的手段來利用小模型,尤其是通過很少量訓練來 “復用” 和集成已有的小模型來達到不錯的性能。
我們提出了一個叫做 “學件” 的思路,目前在做一些這方面的探索。大致思想是,假設很多人已經做了模型并且樂意放到某個市場去共享,市場通過建立規約來組織和管理學件,以后的人再做新應用時,就可以不用從頭收集數據訓練模型,可以先利用規約去市場里找找看是否有比較接近需求的模型,然后拿回家用自己的數據稍微打磨就能用。這其中還有一些技術挑戰需要解決,我們正在研究這個方向。
另一方面,有可能通過利用人類的常識和專業領域知識,使模型得以精簡,這就要結合邏輯推理和機器學習。邏輯推理比較善于利用人類知識,機器學習比較善于利用數據事實,如何對兩者進行有機結合一直是人工智能中的重大挑戰問題。麻煩的是邏輯推理是嚴密的基于數理邏輯的 “從一般到特殊”的演繹過程,機器學習是不那么嚴密的概率近似正確的 “從特殊到一般”的歸納過程,在方法論上就非常不一樣。已經有的探索大體上是以其中某一方為倚重,引入另一方的某些成分,我們最近在探索雙方相對均衡互促利用的方式。
談談自己的理解,預訓練模型的方式歸根到底仍然屬于數據驅動的任務,其通過在大規模數據上學習,推斷未知數據的概率。如果說數據中存在表述不準確、表述有歧義或者詞匯本身就有多個含義的話,以概率的方式難以解決這些問題。?
而人腦在未知問題上,推理成分居多,以一詞多義為例,人類會考慮該詞匯有幾種用法,考慮在這種上下文語境下使用哪一種用法,所以是否可以建立一套類似于標準公理的語言規范,以該規范為基礎,對未知句子進行拆解推理,理解句子的完整含義。通過了解模型的推理過程,模型的可解釋性增強。當預測錯誤時,我們可以進行溯源分析,對模型依賴的知識進行調整,或者讓模型學習的更充分。
接下來對自己 2022 年的期望:
1. 自身學習更多模型結構變化的同時,更多地理解業務的架構,明白模型在業務中起的作用。
2. 在算法研究上能夠研究的更加深入,希望能夠找到解決上述困難的方法
回顧自身算法經歷
2021 年自身的算法經歷主要分為:實習、算法比賽、項目、論文四部分。在這些經歷里面主要接觸分類、閱讀理解、信息抽取三種任務,評估方式均采用精確率、召回率及 F1 值。下面將以這些經歷為基礎,介紹我處理這些任務的方式。
5.1 需求分析
開展算法工作之前,首先要搞清楚算法需要滿足什么樣的需求。包括:
業務屬于什么樣的任務
算法需要側重的方向
訓練數據及線上數據的情況
線上的指標
線下的評估方式
……
需求分析的目的在于了解業務的需求與算法在業務中起到的作用。
5.2 模型選型及設計
在明白需求之后,需要根據任務類型選擇模型,并根據需求的不同,對模型結構進行調整。如閱讀理解任務下:針對多答案、無答案的情況,我們需要調整模型的結構。
模型選型及設計的目的在于選擇或設計能夠很好地滿足業務需求的模型。
5.3 數據分析
數據分析這一步是最重要的一步,當前模型主要還是以數據驅動,數據對模型的影響很大。
我主要從以下角度進行分析:
數據是否存在噪聲:標點、大小寫、特殊符號等
訓練集測試集分布是否存在差異,測試集能否反映模型在具體業務下的表現
數據存在哪些特征,通過引入額外的特征,模型可以表現地更好
訓練集分布:標簽分布、長度分布等,是否會給模型帶來類別不均衡、長文本等問題
數據量大小,數據量足夠時可以繼續預訓練
數據分析的目的在于數據能否充分發揮模型性能,能否得到符合業務需求的模型
5.4 模型訓練及優化
模型進行訓練,開始煉丹【調參】。
設置合適的超參數【可以通過一些超參數搜索算法】
選擇合適的優化器【adam/adamw/sgd】
學習率調整的策略
進階版:
對抗訓練
對比學習
UDA等數據增強方式
繼續預訓練
多任務學習
偽標簽
SWA
……
5.5 分析負例
該過程同樣重要,我們需要了解模型在測試數據上的表現情況,在什么數據表現較差,如何優化這些負例。
在優化過程中,建議記錄每一次優化信息,分析模型的提升/降低是否符合自己預期,充分利用每一次實驗
下面總結了我在優化過程常用的分析方式:
5.5.1 檢查數據質量是否過差
這種情況通常表現為數據質量較差,模型在原始數據上表現不佳,精確率與召回率都很低。針對這種情況,需要對數據做必要的預處理,讓模型能夠更好地學習。
5.5.2 根據指標進行分析
recall低
???????
召回率表示召回的數量,測試集數據未召回較多,則從下列角度檢查數據:
訓練集測試集數據差異是否較大,即訓練集中是否存在類似數據,若不存在則引入更多數據或者對該數據進行數據增強。這種情況,常見原因為數據分布不均衡-少數數據訓練不充分;訓練集、測試集分布差異較大導致。
訓練集中存在類似數據,檢查訓練集中該種情況有無標注錯誤:漏標、錯標。
precision低
精確率表示預測出的準確率,測試集數據分錯的較多:
檢查數據分布,是否數據分布不均衡。數據不均衡導致模型傾向于預測數量較多的數據,精確率下降。
標簽定義是否準確,是否存在兩類標簽混淆的情況。這種情況,需要考慮對標簽進行融合。
類別不均衡常用解決方式:
數據增強
resample
reweight
集成學習
數據錯誤常用解決方式:
交叉驗證
置信學習
聚類分析
接下來的過程則是迭代分析,直到模型性能符合業務需求。
參考文獻
[1]?https://mp.weixin.qq.com/s/RqkQzeR5BOVpU7tj_zUgqQ
[2]?https://www.zhihu.com/question/480187938/answer/2103245373
[3]?https://zhuanlan.zhihu.com/p/399295895
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的2022年预训练的下一步是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京内推 | 阿里云视频处理算法团队招聘
- 下一篇: 直播 | AAAI 2022论文解读:三