訂閱
糾錯(cuò)
加入自媒體

今天淺談一下「繼續(xù)預(yù)訓(xùn)練」

最近和同事聊天,聊到一次面試時(shí),同事作為面試官,提問(wèn)了一個(gè)小問(wèn)題:「如果你擁有的預(yù)訓(xùn)練的語(yǔ)料和下游任務(wù)的語(yǔ)料分布差異很大,你會(huì)怎么做」

「那他答上來(lái)了嗎」我問(wèn)到

「沒有」他說(shuō)

一、基本概念

繼續(xù)預(yù)訓(xùn)練是什么?

常見為:

· 基于大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型(如bert/ernie/gpt等),針對(duì)(或使用)下游NLP任務(wù)的特定語(yǔ)料,對(duì)模型進(jìn)行領(lǐng)域/任務(wù)的繼續(xù)訓(xùn)練。范式的更迭可以表示為:

· pre-training + fine-tuning

· pre-training + continual pre-training + fine-tuning

為什么要繼續(xù)預(yù)訓(xùn)練?

繼續(xù)預(yù)訓(xùn)練的目的:

· 為了得到適應(yīng)不同行業(yè)/任務(wù)領(lǐng)域的預(yù)訓(xùn)練模型,提升下游任務(wù)的效果

什么時(shí)候需要繼續(xù)預(yù)訓(xùn)練?

· 預(yù)訓(xùn)練(pre-train)的語(yǔ)料與下游任務(wù)(finetune)語(yǔ)料的【數(shù)據(jù)分布/領(lǐng)域差異】大時(shí)

· 例如:現(xiàn)在你的任務(wù)是從法律文件中做NER任務(wù),但你使用的bert模型為普通的bert-base-chinese,那么如果想要達(dá)到一個(gè)下游任務(wù)上更好的效果,你最好使用大量的法律領(lǐng)域語(yǔ)料來(lái)繼續(xù)預(yù)訓(xùn)練從而得到一個(gè)適應(yīng)法律領(lǐng)域的預(yù)訓(xùn)練模型。

那么,領(lǐng)域差距是怎么造成的?

· 領(lǐng)域差距的本質(zhì),究其根本原因,還是數(shù)據(jù)問(wèn)題。

· 本質(zhì):詞匯/n-gram不匹配

· 領(lǐng)域差距主要是由特定領(lǐng)域的n-gram的不同以及其出現(xiàn)的上下文的不同造成的

· 不同領(lǐng)域的token/word/n-gram的不同直接導(dǎo)致了語(yǔ)言模型可以在相應(yīng)領(lǐng)域語(yǔ)料中獲取的embedding/feature表征的不同,因此在通用領(lǐng)域上預(yù)訓(xùn)練好的模型feature在特定領(lǐng)域語(yǔ)料上使用時(shí)往往不會(huì)達(dá)到最優(yōu)的效果。

二、如何繼續(xù)預(yù)訓(xùn)練?

數(shù)據(jù)設(shè)計(jì)直接設(shè)計(jì)數(shù)據(jù)是解決數(shù)據(jù)的領(lǐng)域差異的一種通用且高效的方法(畢竟領(lǐng)域差距的本質(zhì),究其根本原因,還是數(shù)據(jù)問(wèn)題)。

· 挖掘領(lǐng)域數(shù)據(jù):

 · 【任務(wù)適應(yīng)/領(lǐng)域適應(yīng)】方法

 · 如:Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks

 · BioBERT: a pre-trained biomedical language representation model for biomedical text mining

 · SCIBERT: A Pretrained Language Model for Scientific Text

 · FinBERT: Financial Sentiment Analysis with Pre-trained Language Models

 · 設(shè)計(jì)訓(xùn)練方法:

 · 新詞挖掘 + whole word masking

 · 行業(yè)/領(lǐng)域新詞挖掘

 · 知識(shí)增強(qiáng)的mlm

 · 實(shí)體 mask

 · 如:ERNIE2.0

 · 數(shù)據(jù)增強(qiáng):

 · UDA(Unsupervised Data Augmentation)

 · 對(duì)抗訓(xùn)

 · 練偽標(biāo)簽(半監(jiān)督)

 · 對(duì)比學(xué)習(xí)(infoNCE-loss)

參數(shù)設(shè)計(jì)

· 參數(shù)平滑泛化:

 · SWA(Stochastic Moving Average,隨機(jī)滑動(dòng)平均)和EMA(Exponential Moving Average,指數(shù)滑動(dòng)平均)

模型設(shè)計(jì)

· 模型學(xué)習(xí)使用領(lǐng)域知識(shí):

· 固定原始PLM,額外訓(xùn)練一個(gè)adapter去學(xué)習(xí)/利用領(lǐng)域知識(shí)

· 如:Taming Pre-trained Language Models with N-gram Representations for Low-Resource Domain Adaptation

· 模型適應(yīng)不同任務(wù):

· 多任務(wù)學(xué)習(xí)(偏向于Pre-train+Massive Multi-tasking的領(lǐng)域)

· prompt

三、現(xiàn)存問(wèn)題

數(shù)據(jù)問(wèn)題

· 數(shù)據(jù)數(shù)量

· 如數(shù)據(jù)數(shù)量不夠/缺少人工標(biāo)注

· 數(shù)據(jù)長(zhǎng)尾

· 數(shù)據(jù)普遍遵循長(zhǎng)尾理論,存在大多數(shù)數(shù)據(jù)出現(xiàn)次數(shù)少,少數(shù)數(shù)據(jù)出現(xiàn)次數(shù)多的特點(diǎn)。出現(xiàn)次數(shù)少的大多數(shù)數(shù)據(jù)即為長(zhǎng)尾數(shù)據(jù),長(zhǎng)尾數(shù)據(jù)的特征表示往往很難準(zhǔn)確建模。

 · 可以通過(guò)針對(duì)長(zhǎng)尾數(shù)據(jù)做特定的知識(shí)引入的方式來(lái)解決

 · 如:Enhancing Language Model Pre-training with Dictionary

 · 數(shù)據(jù)分布

 · 分布不全面或有偏差

 · 如現(xiàn)有醫(yī)療數(shù)據(jù)-外科類別,只是醫(yī)療體系中的冰山一角,并不能覆蓋全部的所需醫(yī)療行業(yè)知識(shí)。

 · 類別不均衡

 1 可以使用數(shù)據(jù)增強(qiáng)/過(guò)采樣/欠采樣/集成學(xué)習(xí)/resample/reweight的方法來(lái)解決

· 標(biāo)注數(shù)據(jù)的噪音/質(zhì)量

· 如雖然數(shù)據(jù)有標(biāo)注,但是不同標(biāo)注人員對(duì)于數(shù)據(jù)存在認(rèn)知偏差

· 可以使用交叉驗(yàn)證/置信學(xué)習(xí)/聚類分析的方法來(lái)解決

知識(shí)缺乏

預(yù)訓(xùn)練與下游任務(wù)存在偏差,模型缺乏下游特定知識(shí)

· 前面我們說(shuō)過(guò)「領(lǐng)域差距的本質(zhì),究其根本原因,還是數(shù)據(jù)問(wèn)題,是不同領(lǐng)域之間的詞匯/n-gram的不匹配」,這其中也是領(lǐng)域知識(shí)不匹配的問(wèn)題。

知識(shí)引入方法:

· 顯式:通過(guò)語(yǔ)料/詞條釋義/SPO等引入知識(shí);隱式:通過(guò)向量方法。

· 現(xiàn)有論文&解決方案:

· Enhancing Language Model Pre-training with Dictionary

· Kformer:Knowledge Injection in Transformer Feed-Forward Layers

· Decomposable Knowledge-enhanced Pre-trained Language Model for  Natural Language Understanding

但這里需要注意的是:常見數(shù)據(jù)中的知識(shí)含量會(huì)很容易的被大規(guī)模語(yǔ)言模型學(xué)習(xí)到,而長(zhǎng)尾數(shù)據(jù)中包含的知識(shí)由于模型見的比較少,其中的知識(shí)很難學(xué)到,所以解決知識(shí)問(wèn)題研究者們通常會(huì)從長(zhǎng)尾數(shù)據(jù)入手,但-解決「數(shù)據(jù)長(zhǎng)尾」問(wèn)題并不等于解決「知識(shí)缺乏」問(wèn)題!

· 因?yàn)殚L(zhǎng)尾數(shù)據(jù)并不一定是需要引入知識(shí)的數(shù)據(jù),也有可能是錯(cuò)誤的表述方法導(dǎo)致出現(xiàn)的數(shù)據(jù)

· 如:

· 對(duì)于句子:「醫(yī)生:那你最近的話,給寶寶多吃一點(diǎn)白粥米湯淌少喝一點(diǎn),然后吃一點(diǎn)媽咪愛或者益生菌類的菜!

· 如果進(jìn)行長(zhǎng)尾數(shù)據(jù)的檢測(cè),其中的「米湯淌」和「媽咪愛」很容易會(huì)被判別為長(zhǎng)尾數(shù)據(jù),其中「媽咪愛」作為一種藥的別稱或許是需要相關(guān)詞條/知識(shí)的引入,但人類很容易看出「米湯淌」并不需要引入知識(shí)

· 如果不加判斷的把所有的長(zhǎng)尾數(shù)據(jù)都加入知識(shí),很大概率會(huì)引入大量噪音,導(dǎo)致最終效果不升反降。

那么如何判別長(zhǎng)尾數(shù)據(jù)是否需要引入知識(shí)呢?

· 一些論文提出了知識(shí)實(shí)體的判別方法

· 如:Decomposable Knowledge-enhanced Pre-trained Language Model for  Natural Language Understanding

理解缺乏

現(xiàn)存的模型普遍缺乏深度理解,偏向于字面匹配,推理成分較少,能力較弱。

· 引用:

· 如:模型無(wú)法很好的處理下述問(wèn)題

雖然現(xiàn)有的大模型在發(fā)布/發(fā)論文的時(shí)候,給出的指標(biāo)都看起來(lái)是非常高(各個(gè)任務(wù)上都是8/90+),但本質(zhì)上這些數(shù)據(jù)集提供的都是一些偏向于使用學(xué)習(xí)字面含義就能夠解決的任務(wù),如文本分類/生成/NER等。

然而,一旦使用一些較難的,需要推理能力的任務(wù),所有的模型都會(huì)出現(xiàn)遠(yuǎn)不如人類的奇差的表現(xiàn)。如:

現(xiàn)有論文&解決方案:

· Chain of Thought Prompting Elicits Reasoning in Large Language Models

大模型推理能力「reasoning」的研究,是一個(gè)難點(diǎn),也是一個(gè)亮點(diǎn)

四、參考文獻(xiàn)

論文

· Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks

· Taming Pre-trained Language Models with N-gram Representations for Low-Resource Domain Adaptation

· Exact solutions to the nonlinear dynamics of learning in deep linear neural networks

· BioBERT: a pre-trained biomedical language representation model for biomedical text mining

· SCIBERT: A Pretrained Language Model for Scientific Text

· FinBERT: Financial Sentiment Analysis with Pre-trained Language Models

· Enhancing Language Model Pre-training with Dictionary

· Knowledge Injection in Transformer Feed-Forward Layers

· Decomposable Knowledge-enhanced Pre-trained Language Model for  Natural Language Understanding

· Chain of Thought Prompting Elicits Reasoning in Large Language Models

       原文標(biāo)題 : 今天淺談一下「繼續(xù)預(yù)訓(xùn)練」

聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問(wèn)題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)