0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Multilingual多語言預(yù)訓(xùn)練語言模型的套路

深度學(xué)習(xí)自然語言處理 ? 來源:圓圓的算法筆記 ? 作者:圓圓的算法筆記 ? 2022-05-05 15:23 ? 次閱讀

Multilingual是NLP中的研究熱點之一,其中的一個研究方向是如何構(gòu)建多語言預(yù)訓(xùn)練語言模型,實現(xiàn)不同語言的在隱空間的對齊,一個模型支持多語種的NLP任務(wù),同時利用數(shù)據(jù)豐富的語言提升數(shù)據(jù)較少的語言效果。這篇文章就為大家整理了Multilingual多語言預(yù)訓(xùn)練語言模型的套路,包括XLM、XLM-R、ERNIE-M、Unicoder、ALM等5個經(jīng)典模型,以及這些模型之間的演進關(guān)系。

1XLM:多語言預(yù)訓(xùn)練的起點

隨著BERT、GPT預(yù)訓(xùn)練語言模型的興起,這些方法也被自然而然的用在了多語言預(yù)訓(xùn)練任務(wù)上。通過在BERT、GPT等成熟的NLP模型結(jié)構(gòu)上同時學(xué)習(xí)多個語言的語料,并設(shè)計多語言對齊任務(wù),實現(xiàn)了Multilingual預(yù)訓(xùn)練語言模型,應(yīng)用到下游各種語言的任務(wù)中。

Facebook在Crosslingual language model pretraining(NIPS 2019)一文中提出XLM預(yù)訓(xùn)練多語言模型,整體思路基于BERT,并提出了針對多語言預(yù)訓(xùn)練的3個優(yōu)化任務(wù)。后續(xù)很多多語言預(yù)訓(xùn)練工作都建立在XLM的基礎(chǔ)上,我們來詳細(xì)看看XLM的整體訓(xùn)練過程。

首先,需要構(gòu)造一個多語言的vocabulary list。XLM讓所有語言共用同一個詞表,利用Byte Pair Encoding (BPE)的方法從所有語言中采樣文本構(gòu)造詞典。為了提升low-resource語言采樣比例,緩解預(yù)訓(xùn)練模型偏向high-resource語言,在采樣過程中會對各個語言采樣比例做一定的矯正。通過多種語言共用一個BPE詞表的方法,便于不同語言的token embedding在隱空間對齊,也能提取到不同語言共用的token。

模型預(yù)訓(xùn)練主要包括兩個任務(wù),分別是MLM和TLM。其中MLM和BERT中采用的方式類似,mask部分token進行預(yù)測。TLM是Translation Language Model,這個任務(wù)為了引入多語言的對齊關(guān)系,將兩種語言的文本拼接到一起采用mask token的方式預(yù)測。這樣在預(yù)測過程中,既可以根據(jù)本語言的信息預(yù)測,也可以根據(jù)另一種語言的信息預(yù)測。此外,XLM引入了language embedding,用來標(biāo)明每個位置上的token屬于哪個語言。XLM的兩個預(yù)訓(xùn)練任務(wù)如下圖所示。

04e82eea-cbbd-11ec-bce3-dac502259ad0.png

2XLM-R:更細(xì)致的XLM

Unsupervised cross-lingual representation learning at scale(ACL 2019)在XLM的基礎(chǔ)上進一步分析了影響多語言預(yù)訓(xùn)練模型效果的因素,提出在100多種語言上預(yù)訓(xùn)練得到的XLM-R模型。下面列舉了本文中的核心實驗結(jié)論,揭示了不同的多語言訓(xùn)練方式對效果的影響。

圖2顯示了隨著預(yù)訓(xùn)練過程引入語言種類的變化,low resource語言的效果先上升后下降。這是因為在模型capacity一定的情況下,引入多種語言一方面會讓low resource語言獲得可遷移的知識,另一方面過多的語言也稀釋了模型的capacity,每種語言能夠使用的capacity減少,導(dǎo)致效果下降。而high resource語言的效果隨著引入語言數(shù)量的增加是持續(xù)下降的。圖4顯示,增加模型尺寸可以緩解多語言稀釋capacity的問題(7種語言和30種語言效果對比),但是引入100種語言后即使增加模型尺寸效果仍然不佳。

圖5展示了不同語言采樣權(quán)重變化的效果影響,low resource和high resource語言之間存在一定的矛盾性,因此隨著采樣偏向于high resource語言,low resource語言的效果越來越差。圖6則展示了詞典尺寸大小對效果的影響,詞典尺寸增大,對應(yīng)embedding層尺寸增加,可以比較明顯的提升多語言預(yù)訓(xùn)練模型效果。

051388ba-cbbd-11ec-bce3-dac502259ad0.png

基于以上這些實驗的分析,作者提出了基于RoBerta的XLM-R,在100余種語言、2.5T的數(shù)據(jù)上預(yù)訓(xùn)練,取得了在XNLI數(shù)據(jù)集上相比基礎(chǔ)版XLM模型15%的效果提升。相比于XLM,XLM-R最大的區(qū)別之一是沒有使用TLM這個預(yù)訓(xùn)練任務(wù),所有預(yù)訓(xùn)練數(shù)據(jù)都是單語言的,不包括兩個語言對齊的數(shù)據(jù)。

3ERINE-M:回譯的引入

ERNIE-M: Enhanced multilingual representation by aligning cross-lingual semantics with monolingual corpora(EMNLP 2019)基于XLM-R提出了ERNIE-M模型,主要是在MMLM、TLM兩個任務(wù)以外,新引入了CAMLM(Cross-attention Masked Language Modeling)和BTMLM(Back-translation Masked Language Modeling)兩個額外的任務(wù)。其中CAMLM任務(wù)和TLM任務(wù)類似,都是用翻譯文本對作為輸入,預(yù)測被mask的token,區(qū)別在于TLM在預(yù)測一個mask token時可以同時參考兩種語言的所有信息,而CAMLM在預(yù)測source句子中被mask的token時,只能使用target句子的信息;在預(yù)測target句子中被mask的token時,只能使用source句子的信息。實現(xiàn)上做了一個mask的操作,強制讓模型只能用另一種語言的context預(yù)測本語言的mask token,提升模型的多語言對齊能力。CAMLM和MMLM、TLM等任務(wù)的區(qū)別如下圖所示。

0537bff0-cbbd-11ec-bce3-dac502259ad0.png

0551fa5a-cbbd-11ec-bce3-dac502259ad0.png

不論是TLM還是CAMLM,都需要使用parallel的句子,如果可用的parallel數(shù)據(jù)較少,就會影響對齊效果。因此,文中提出了第二個任務(wù)BTMLM,利用CAMLM學(xué)到的多語言之間的對齊關(guān)系,將回譯任務(wù)融入到預(yù)訓(xùn)練中。核心思路是,使用CAMLM預(yù)訓(xùn)練好的模型,根據(jù)單語言語料生成另一種語言的偽數(shù)據(jù),利用這個偽數(shù)據(jù)作為輸入,構(gòu)造parallel句子作為輸入。BTMLM的示意圖如下。第一步將單語言輸入后面接mask,利用CAMLM預(yù)訓(xùn)練多語言模型生成mask部分的token,得到偽樣本(即隱空間中當(dāng)前樣本在另一種樣本下的翻譯)。接下來,將偽樣本作為輸入,以MLM為目標(biāo),同時使用源句子和偽樣本預(yù)測被mask掉的token。這種方式相當(dāng)于一種數(shù)據(jù)增強手段,通過模型自動生成parallel數(shù)據(jù),緩解了parallel數(shù)據(jù)不足的問題。

0580b502-cbbd-11ec-bce3-dac502259ad0.png

4Unicoder:多語言對齊任務(wù)的優(yōu)化

Unicoder: A Universal Language Encoder by Pre-training with Multiple Crosslingual Tasks(ACL 2019)提出了多語言預(yù)訓(xùn)練模型Unicoder。在XLM中,模型的訓(xùn)練任務(wù)主要是單語言的,Unicoder提出了3種新的多語言對齊任務(wù)來提升預(yù)訓(xùn)練多語言模型效果。

第一個任務(wù)是Cross-lingual Word Recovery,輸入是兩種語言的語句pair對(X,Y),然后利用attention的方法將X用Y表示,再利用這些表示還原X。這其實類似于一個基于attention的翻譯任務(wù),實現(xiàn)了不同語言之間的word alignment。

第二個任務(wù)是Cross-lingual Paraphrase Classification,是一個分類任務(wù)。輸入同樣是兩個語言的句子對,預(yù)測這兩個句子是否表達的是同一個含義。數(shù)據(jù)集的構(gòu)造方法上,正樣本采用機器翻譯數(shù)據(jù)集的數(shù)據(jù)構(gòu)造正樣本。為了構(gòu)造hard負(fù)樣本,即語義在一定程度上相似但不是互為翻譯的文本對,作者采用了Effective Parallel Corpus Mining using Bilingual Sentence Embeddings(2018)提出的hard negatives構(gòu)造方法。先使用隨機采樣的負(fù)樣本構(gòu)造簡單負(fù)樣本訓(xùn)練一個baseline模型,再利用這個模型計算當(dāng)前樣本和所有負(fù)樣本相似度,取相似度最高且又不是正樣本的負(fù)樣本,作為hard negatives。

第三個任務(wù)是Cross-lingual Masked Language Model,將一些文檔級別翻譯較好的數(shù)據(jù)集的兩種語言進行重組,得到多語言document,在這種多語言document上以Mask Language Model為優(yōu)化目標(biāo)訓(xùn)練。三種不同的預(yù)訓(xùn)練任務(wù)如下圖所示。

05ae38ba-cbbd-11ec-bce3-dac502259ad0.png

5ALM:樣本構(gòu)造上的創(chuàng)新

Alternating Language Modeling for Cross-Lingual Pre-Training(AAAI 2020)提出一種新的多語言模型預(yù)訓(xùn)練方式。之前的做法如XLM都是將多語言文本對拼接到一起,而本文提出的ALM方法通過將源語言中的部分短語替換成另一種語言,生成了多語言交替的樣本作為訓(xùn)練樣本,以Transformer為基礎(chǔ)在這種樣本上進行Mask Language Model的學(xué)習(xí)。這種方法強制讓每次預(yù)測被mask掉的單詞時,都要參考其他語言的信息,進一步縮小了不同語言在隱空間的距離。

05ed04b4-cbbd-11ec-bce3-dac502259ad0.png

6總結(jié)

以上就是多語言預(yù)訓(xùn)練中5個經(jīng)典模型的介紹。除了本文介紹的預(yù)訓(xùn)練語言模型外,對比學(xué)習(xí)、meta-learning等方法在Multilingual中也有很多應(yīng)用。多語言任務(wù)還是非常重要的,尤其當(dāng)今很多企業(yè)都展開國際化戰(zhàn)略,拓展海外市場,多語言建模技術(shù)更成為不可缺少的能力。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 語言模型
    +關(guān)注

    關(guān)注

    0

    文章

    487

    瀏覽量

    10201
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1197

    瀏覽量

    24533
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    481

    瀏覽量

    21932

原文標(biāo)題:Multilingual預(yù)訓(xùn)練的那些套路

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    語言模型預(yù)訓(xùn)練

    能力,逐漸成為NLP領(lǐng)域的研究熱點。大語言模型預(yù)訓(xùn)練是這一技術(shù)發(fā)展的關(guān)鍵步驟,它通過在海量無標(biāo)簽數(shù)據(jù)上進行訓(xùn)練,使
    的頭像 發(fā)表于 07-11 10:11 ?249次閱讀

    預(yù)訓(xùn)練模型的基本原理和應(yīng)用

    預(yù)訓(xùn)練模型(Pre-trained Model)是深度學(xué)習(xí)和機器學(xué)習(xí)領(lǐng)域中的一個重要概念,尤其是在自然語言處理(NLP)和計算機視覺(CV)等領(lǐng)域中得到了廣泛應(yīng)用。
    的頭像 發(fā)表于 07-03 18:20 ?1427次閱讀

    語言模型:原理與工程時間+小白初識大語言模型

    語言模型進行預(yù)訓(xùn)練,此處預(yù)訓(xùn)練為自然語言處理領(lǐng)域的
    發(fā)表于 05-12 23:57

    【大語言模型:原理與工程實踐】大語言模型的應(yīng)用

    。 關(guān)于大語言模型是否具備與人類“系統(tǒng)2”相似的能力,存在廣泛的爭議。然而,隨著模型參數(shù)量的增加和大規(guī)模預(yù)訓(xùn)練的實施,大
    發(fā)表于 05-07 17:21

    【大語言模型:原理與工程實踐】大語言模型的評測

    至關(guān)重要。 在大語言模型應(yīng)用中,翻譯類評測任務(wù)主要聚焦于兩大核心要求:高質(zhì)量翻譯和多語言適應(yīng)性。高質(zhì)量翻譯作為跨文化和跨地域信息傳播的基礎(chǔ),對全球化背景下的商業(yè)活動、科研合作和多元文化交流具有至關(guān)重要
    發(fā)表于 05-07 17:12

    【大語言模型:原理與工程實踐】大語言模型預(yù)訓(xùn)練

    語言模型的核心特點在于其龐大的參數(shù)量,這賦予了模型強大的學(xué)習(xí)容量,使其無需依賴微調(diào)即可適應(yīng)各種下游任務(wù),而更傾向于培養(yǎng)通用的處理能力。然而,隨著學(xué)習(xí)容量的增加,對預(yù)
    發(fā)表于 05-07 17:10

    【大語言模型:原理與工程實踐】大語言模型的基礎(chǔ)技術(shù)

    全面剖析大語言模型的核心技術(shù)與基礎(chǔ)知識。首先,概述自然語言的基本表示,這是理解大語言模型技術(shù)的前提。接著,詳細(xì)介紹自然
    發(fā)表于 05-05 12:17

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐》

    處理中預(yù)訓(xùn)練架構(gòu)Transformer,以及這些技術(shù)在現(xiàn)實世界中的如何應(yīng)用。通過具體案例的分析,作者展示了大語言模型在解決實際問題中的強大能力,同時也指出了當(dāng)前技術(shù)面臨的挑戰(zhàn)和局限性。
    發(fā)表于 04-30 15:35

    這個多語言包 怎么搜不到

    大家好,這個多語言包怎么搜不到 seven language lib 誰有離線包不 感謝分享,
    發(fā)表于 03-24 10:06

    語言模型(LLMs)如何處理多語言輸入問題

    研究者們提出了一個框架來描述LLMs在處理多語言輸入時的內(nèi)部處理過程,并探討了模型中是否存在特定于語言的神經(jīng)元。
    發(fā)表于 03-07 14:44 ?412次閱讀
    大<b class='flag-5'>語言</b><b class='flag-5'>模型</b>(LLMs)如何處理<b class='flag-5'>多語言</b>輸入問題

    語言模型中的語言與知識:一種神秘的分離現(xiàn)象

    自然語言處理領(lǐng)域存在著一個非常有趣的現(xiàn)象:在多語言模型中,不同的語言之間似乎存在著一種隱含的對齊關(guān)系。
    發(fā)表于 02-20 14:53 ?361次閱讀
    大<b class='flag-5'>語言</b><b class='flag-5'>模型</b>中的<b class='flag-5'>語言</b>與知識:一種神秘的分離現(xiàn)象

    語言模型簡介:基于大語言模型模型全家桶Amazon Bedrock

    本文基于亞馬遜云科技推出的大語言模型與生成式AI的全家桶:Bedrock對大語言模型進行介紹。大語言模型
    的頭像 發(fā)表于 12-04 15:51 ?648次閱讀

    多語言開發(fā)的流程詳解

    現(xiàn)在不少應(yīng)用都是要求有多語言切換的, 使用QT開發(fā)上位機也同樣需要做多語言功能, 不過QT是自帶了多語言翻譯功能, 可以很方便的借助原生工具進行, 下面就簡單來看看多語言開發(fā)的流程!
    的頭像 發(fā)表于 11-30 09:08 ?893次閱讀

    如何在TSMaster面板和工具箱中實現(xiàn)多語言切換

    TSMaster軟件平臺已經(jīng)提供了多語言的支持,對于軟件內(nèi)部用戶二次開發(fā)的模塊如Panel和工具箱模塊,TSMaster也提供了多語言的支持。這一特性讓基于TSMaster開發(fā)的工程只需要制作
    的頭像 發(fā)表于 11-11 08:21 ?692次閱讀
    如何在TSMaster面板和工具箱中實現(xiàn)<b class='flag-5'>多語言</b>切換

    基于LLaMA的多語言數(shù)學(xué)推理大模型

    MathOctopus在多語言數(shù)學(xué)推理任務(wù)中,表現(xiàn)出了強大的性能。MathOctopus-7B 可以將LLmMA2-7B在MGSM不同語言上的平均表現(xiàn)從22.6%提升到40.0%。更進一步,MathOctopus-13B也獲得了比ChatGPT更好的性能。
    發(fā)表于 11-08 10:37 ?379次閱讀
    基于LLaMA的<b class='flag-5'>多語言</b>數(shù)學(xué)推理大<b class='flag-5'>模型</b>