丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開發(fā)者 正文
發(fā)私信給楊鯉萍
發(fā)送

0

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

本文作者: 楊鯉萍 2019-12-05 18:54
導(dǎo)語:同時(shí)開源的還有壓縮 BERT 模型「TinyBERT」

雷鋒網(wǎng) AI 開發(fā)者按:一個(gè)月前,在「AICon 全球人工智能與機(jī)器學(xué)習(xí)技術(shù)大會(huì)」上,華為諾亞方舟實(shí)驗(yàn)首席科學(xué)家劉群剛分享了新發(fā)布的中文預(yù)訓(xùn)練語言模型 NEZHA(哪吒);就在這兩天,NEZHA 已在 Github 上開源,同時(shí)開源的還有壓縮 BERT 模型「TinyBERT」,它在推理時(shí)大小可縮小 7.5 倍,并且速度加快 9.4 倍。

可以看到的是近兩年預(yù)訓(xùn)練模型的發(fā)展非??焖?,從 Word2Vec 到 ULMFiT、CoVe 再到 BERT、XLNET 等,都各有特點(diǎn)且在不斷完善中。聚焦于「多項(xiàng)中文 NLP 任務(wù)性能」的 NEZHA 也有亮眼的性能升級。在此,雷鋒網(wǎng) AI 開發(fā)者將 NEZHA 詳細(xì)內(nèi)容及 TinyBERT 相關(guān)地址整理如下。

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

NEZHA 開發(fā)背景

預(yù)訓(xùn)練語言模型本質(zhì)上,就是神經(jīng)網(wǎng)絡(luò)語言模型。它主要有兩個(gè)特點(diǎn),即:可以使用大規(guī)模無標(biāo)注純文本語料進(jìn)行訓(xùn)練,以及可以用于各類下游 NLP 任務(wù),各項(xiàng)性能指標(biāo)均獲得大幅度提高,并可以將各類下游任務(wù)的解決方案統(tǒng)一簡化為集中固定的 fine-tune 框架。

預(yù)訓(xùn)練語言模型通常有兩個(gè)大類型。一類是 Encoder,用于自然語言理解,輸入整個(gè)文章,用于自然語言理解;另一類是 Decoder,是解碼式的,用于自然語言生成,只能來看到已經(jīng)生成的內(nèi)容,看不到?jīng)]有生成的內(nèi)容,這兩類模型有所區(qū)別。

更直觀來看,github 上來自清華大學(xué)的兩位同學(xué)——王曉智和張正彥(在讀本科生)整理的一份關(guān)于預(yù)訓(xùn)練模型的關(guān)系圖,則可以從功能方面更簡單明了的幫我們理解該類模型類別。

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

預(yù)訓(xùn)練模型的關(guān)系圖

更多詳細(xì)內(nèi)容,可參見 PLM 論文整理 Github 項(xiàng)目地址:

https://github.com/thunlp/PLMpapers     

圖中列出了 BERT、GPT、XLNet、ERNIE 等模型以及它們之間的關(guān)系,并擬出了一份相關(guān)的論文列表。列表把預(yù)訓(xùn)練模型主要分為了三個(gè)部分,包括:模型、知識(shí)蒸餾與模型壓縮。按照這樣的分類,TinyBERT 模型則可以歸類為「知識(shí)蒸餾與模型壓縮」部分;NEZHA 則歸為「模型」部分。

而根據(jù)研究結(jié)果顯示,近年來的模型大多將重心落到了數(shù)據(jù)與算力部分。與早期的 ResNet(視覺模型)模型參數(shù)相比,數(shù)據(jù)顯示 GPT1 為 100M,BERT large 為 340M,GPT2 為 1.5BN,GPT-2 8B 為 8.3BN。

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

預(yù)訓(xùn)練語言模型研究結(jié)果

因此,在預(yù)訓(xùn)練模型開發(fā)過程中,華為諾亞方舟研究者提出了一種為基于 transformer 的模型設(shè)計(jì)的知識(shí)蒸餾方法——壓縮 BERT 模型 TinyBERT(詳細(xì)解讀可查看:https://mp.weixin.qq.com/s/f2vxlhaGW1wnu8UYrvh-tA);該模型大小不到 BERT 的 1/7,但速度是 BERT 的 9 倍多。

而在模型方面,他們選擇在內(nèi)部重現(xiàn)了 Google Bert-base 和 Bert-large 的實(shí)驗(yàn);利用 BERT 的代碼,實(shí)現(xiàn)了 OpenAI GPT-2 模型;實(shí)現(xiàn)基于 GPU 多卡多機(jī)并行訓(xùn)練,并且對訓(xùn)練過程進(jìn)行了優(yōu)化,提高訓(xùn)練效率,最終得到了「多中文 NLP 任務(wù)」預(yù)訓(xùn)練模型 NEZHA。

三頭六臂 NEZHA(哪吒)

盡管這一預(yù)訓(xùn)練模型 NEZHA 的名稱聽起來有些匪夷所思,但它的開發(fā)者們將其視為「無所不能,可以解決不同任務(wù)」的寓意。在這個(gè)模型中,除了之前提到的重現(xiàn)、多卡多機(jī)并行訓(xùn)練之外,主要有兩項(xiàng)改進(jìn),即:函數(shù)式相對位置編碼與全詞覆蓋的實(shí)現(xiàn)。

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

一、函數(shù)式相對位置編碼

位置編碼有函數(shù)式和參數(shù)式兩種,函數(shù)式通過定義函數(shù)直接計(jì)算就可以了。參數(shù)式中位置編碼涉及兩個(gè)概念,一個(gè)是距離;二是維度。其中,Word Embedding 一般有幾百維,每一維各有一個(gè)值,一個(gè)位置編碼的值正是通過位置和維度兩個(gè)參數(shù)來確定。

NEZHA 預(yù)訓(xùn)練模型則采用了函數(shù)式相對位置編碼,其輸出與注意力得分的計(jì)算涉及到他們相對位置的正弦函數(shù),這一靈感正是來源于 Transformer 的絕對位置編碼,而相對位置編碼則解決了在 Transformer 中,每個(gè)詞之間因?yàn)榛ゲ恢老喔舻木嚯x引發(fā)的一系列資源占用問題。

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

位置編碼模型

具體而言,Transformer 最早只考慮了絕對位置編碼,而且是函數(shù)式的;后來 BERT 的提出就使用了參數(shù)式,而參數(shù)式訓(xùn)練則會(huì)受收到句子長度的影響,BERT 起初訓(xùn)練的句子最長為 512,如果只訓(xùn)練到 128 長度的句子,在 128~520 之間的位置參數(shù)就無法獲得,所以必須要訓(xùn)練更長的語料來確定這一部分的參數(shù)。

而在 NEZHA 模型中,距離和維度都是由正弦函數(shù)導(dǎo)出的,并且在模型訓(xùn)練期間是固定的。也就是說,位置編碼的每個(gè)維度對應(yīng)一個(gè)正弦,不同維度的正弦函數(shù)具有不同的波長,而選擇固定正弦函數(shù),則可以使該模型具有更強(qiáng)的擴(kuò)展性;即當(dāng)它遇到比訓(xùn)練中序列長度更長的序列時(shí),依然可以發(fā)揮作用。函數(shù)式相對位置編碼公式,如下圖所示:

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

二、全詞覆蓋

現(xiàn)在的神經(jīng)網(wǎng)絡(luò)模型無論是在語言模型還是機(jī)器翻譯任務(wù)中,都會(huì)用到一個(gè)詞表;而在 Softmax 時(shí),每個(gè)詞都要嘗試比較一下。每次運(yùn)算時(shí),所有詞要都在詞表中對比一遍,往往一個(gè)詞表會(huì)包含幾萬個(gè)詞,而機(jī)器翻譯則經(jīng)常達(dá)到六七萬個(gè)詞,因此,詞表是語言模型運(yùn)算中較大的瓶頸。

而 NEZHA 預(yù)訓(xùn)練模型,則采用了全詞覆蓋(WWM)策略,當(dāng)一個(gè)漢字被覆蓋時(shí),屬于同一個(gè)漢字的其他漢字都被一起覆蓋。該策略被證明比 BERT 中的隨機(jī)覆蓋訓(xùn)練(即每個(gè)符號或漢字都被隨機(jī)屏蔽)更有效。

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

 BERT 中的隨機(jī)覆蓋

在 NEZHA 的 WWM 實(shí)現(xiàn)中,研究者使用了一個(gè)標(biāo)記化工具 Jieba2 進(jìn)行中文分詞(即尋找中文單詞的邊界)。在 WWM 訓(xùn)練數(shù)據(jù)中,每個(gè)樣本包含多個(gè)覆蓋漢字,覆蓋漢字的總數(shù)約占其長度的 12%,隨機(jī)替換的占 1.5%,盡管這樣預(yù)測整個(gè)詞運(yùn)算難度有所增加,但最終取得的效果更好。

三、混合精度訓(xùn)練及 LAMB 優(yōu)化器

在 NEZHA 模型的預(yù)訓(xùn)練中,研究者采用了混合精度訓(xùn)練技術(shù)。該技術(shù)可以使訓(xùn)練速度提高 2-3 倍,同時(shí)也減少了模型的空間消耗,從而可以利用較大的批量。

傳統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練使用 FP32(即單精度浮點(diǎn)格式)來表示訓(xùn)練中涉及的所有變量(包括模型參數(shù)和梯度);而混合精度訓(xùn)練在訓(xùn)練中采用了多精度。具體而言,它重點(diǎn)保證模型中權(quán)重的單精度副本(稱為主權(quán)重),即在每次訓(xùn)練迭代中,將主權(quán)值舍入 FP16(即半精度浮點(diǎn)格式),并使用 FP16 格式存儲(chǔ)的權(quán)值、激活和梯度執(zhí)行向前和向后傳遞;最后將梯度轉(zhuǎn)換為 FP32 格式,并使用 FP32 梯度更新主權(quán)重。

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

LAMB 優(yōu)化器則是為專為深度神經(jīng)元網(wǎng)絡(luò)的大批量同步分布訓(xùn)練而設(shè)計(jì)。盡管大小批量 DNN 訓(xùn)練是加快 DNN 訓(xùn)練速度的有效方法,但是如果不仔細(xì)調(diào)整學(xué)習(xí)速率的調(diào)度,當(dāng)批量處理的大小超過某個(gè)閾值時(shí),模型的性能可能會(huì)受到很大影響。

LAMB 優(yōu)化器則不需要手動(dòng)調(diào)整學(xué)習(xí)速率,而是采用了一種通用的自適應(yīng)策略。優(yōu)化器通過使用非常大的批量處理大?。▽?shí)驗(yàn)中高達(dá) 30k 以上)來加速 BERT 的訓(xùn)練,而不會(huì)導(dǎo)致性能損失,甚至在許多任務(wù)中獲得最先進(jìn)的性能。值得注意的是,BERT 的訓(xùn)練時(shí)間最終從 3 天顯著縮短到 76 分鐘。

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

NEZHA 實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)通過對各種自然語言理解(NLU)任務(wù)進(jìn)行微調(diào)來測試預(yù)訓(xùn)練模型的性能,并將 NEZHA 模型和最先進(jìn)的漢語預(yù)訓(xùn)練語言模型:谷歌 BERT(漢語版),BERT-WWM 以及 ERNIE 進(jìn)行了對比(詳細(xì)參數(shù)見論文),最終結(jié)果如下:

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

NEZHA 實(shí)驗(yàn)結(jié)果

可以看到,NEZHA 在大部分情況下,都取得了相較更好的性能;尤其在 PD-NER 任務(wù)下,NEZHA 最高達(dá)到了 97.87 分。另一個(gè)表現(xiàn)較亮眼的模型還有 ERNIE Baidu 2.0,頗有超越 NEZHA 的趨勢。關(guān)于這個(gè)情況,論文中作者也解釋到,由于實(shí)驗(yàn)設(shè)置或微調(diào)方法可能存在差異,比較可能不完全公平,之后其它模型新版發(fā)布后,他們將在相同的設(shè)置下對其進(jìn)行評估并更新此報(bào)告。

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

更多詳情,可參見 NEZHA 論文地址:

https://arxiv.org/pdf/1909.00204.pdf 


關(guān)于知識(shí)蒸餾模型 TinyBERT 詳細(xì)解讀,可參考往期內(nèi)容:

https://mp.weixin.qq.com/s/f2vxlhaGW1wnu8UYrvh-tA    

Github 開源地址(包含 NEZHA 與 TinyBERT ):

https://github.com/huawei-noah/Pretrained-Language-Model   


雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

華為開源預(yù)訓(xùn)練語言模型「哪吒」:編碼、掩碼升級,提升多項(xiàng)中文 NLP 任務(wù)性能!

分享:
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說