日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pytorch微调bert_北大、人大联合开源工具箱UER,3 行代码完美复现BERT、GPT

發布時間:2024/1/23 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pytorch微调bert_北大、人大联合开源工具箱UER,3 行代码完美复现BERT、GPT 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文由AI研習社用戶張正投稿,來稿見文末聯系方式

作者 | 張正

單位 | 清華大學

編輯 | Camel

現存的預訓練模型中沒有一種可以完美的適用于所有任務,這也給預訓練模型的選擇帶來困難。對于這個問題,論文提供了一種切實可行的解決方案,即UER(Universal Encoder Representations)。論文標題:UER: An Open-Source Toolkit for Pre-training Models;論文地址: https://arxiv.org/abs/1909.05658

自然語言處理(NaturalLanguage Processing, NLP)主要研究如何讓計算機讀懂人類的自然語言,該技術是人工智能非常重要的研究領域之一,也是人工智能最難解決的問題之一。幸運的是,得益于遷移學習技術的發展,自然語言處理在近些年也取得了快速的發展,并廣泛應用于機器翻譯、信息檢索等領域。

何為遷移學習?在自然語言處理的背景下,遷移學習本質上是在一個源領域(Source Domain)數據集上預訓練模型,然后對該模型進行調整,以在目標領域(Target Domain)數據集上執行自然語言處理功能。在這個過程中,用于訓練模型的源領域與用于任務執行的目標領域往往存在不一致性,因此預訓練的模型往往無法直接完成目標領域的自然語言處理任務,那為什么還要進行模型預訓練呢?

首先,源領域與目標領域之間的差異性與一致性是并存的,經過大數據訓練的模型參數往往在小數據集上也是通用可行的。

其次,在源領域預訓練好的模型只需要經過微調,就可以應用于目標領域上,而無需重新訓練,因此可以節省訓練時間與計算量。

預訓練模型有很多種,比如谷歌 BERT 模型、GPT 模型、ELMo 模型等,由于下游任務的多樣性及運算能力的限制,現存的預訓練模型中沒有一種可以完美的適用于所有任務,這也給預訓練模型的選擇帶來困難。對于這個問題,論文提供了一種切實可行的解決方案,即 UER(Universal Encoder Representations)。

通過構建一個整合的預訓練工具箱,UER 包含了多個低耦合的模塊,各模塊中包含現有的主流模型,用戶可以很方便的調用這些模型,也可以根據任務需求個性化設計自己的預訓練模型。此外,UER 提供了基于不同語料庫而訓練的模型群,這些模型可幫助用戶在下游數據集上取得良好的語言處理結果。

1. 研究背景

NLP 模型包含很多超參數,這些參數的確定過程通常比較復雜,而不同的參數值會對模型的性能產生很大的影響。一般文章很難記錄超參數的選取細節及代碼,這也為什么我們在重復別人的工作時很難取得與原文作者相似的結果。為此,很多系統提供了解決方案。

1)OpenNMT

OpenNMT(Open-source Neural Machine Translation)是一個開源的神經網絡翻譯機器,于 2016 年由哈佛 NLP 研究組與 SYSTRAN 公司聯合開發。該系統具有高效、模塊化、易擴展等優點,已經取得了較高的翻譯精度。

2)fairseq

Fairseq 模型由 Facebook AI 實驗室在 2017 年提出,主要用于機器翻譯,其采用了以 CNN 為主的模型結構,具有翻譯速度快、精度高的優勢。Fairseq 提供了英語到法語、英語到德語和英語到羅馬尼亞語翻譯的預訓練模型。

3)NCRF++

NCRF++是一個基于 PyTorch 的開源神經序列標注工具包,可用于多種神經序列標注工具包的快速實現。

4)ngram2vec

N-Gram(有時也稱為 N 元模型)是自然語言處理中一個非常重要的概念,通常在 NLP 中,人們基于一定的語料庫,可以利用 N-Gram 來預計或者評估一個句子是否合理。另外一方面,N-Gram 的另外一個作用是用來評估兩個字符串之間的差異程度。這是模糊匹配中常用的一種手段。

以上模型為目前最主流的 NLP 模型預訓練工具,這些工具對 NLP 技術的發展具有深遠影響。然而這些方法也存在自身的缺陷,比如它們往往只用于解決某個領域的具體問題,很難具有通用性。因此,提出一種可以融合各種模型并對其進行完善的工具箱具有較大的使用價值,本文提出的 UER 正是用于解決該問題。

2. UER 主要結構

如圖所示:

UER 主要由四個部分組成:副編碼器(subencoder)、主編碼器(encoder)、target 和微調(fine-tuning)。

每個部分又包含大量可執行模型,用戶可以根據自己的需求調用相應模型,也可以根據需求自己設計相應模型。

此外,為了能夠取得更好的預訓練效果,在 UER 中還可以將不同模型進行組合使用。

1)副編碼器

該部分主要用于學習 word 的底層特征。對于英文單詞來說,底層特征主要指組成單詞的各字母;對于中文來說,底層特征可以用字符的偏旁部首或者拼音來表示。

通過學習,模型可以獲知 word 的內部結構。UER 采用 CNN 和 RNN 做為副編碼器,并且使用平均池化或最大池化的策略來獲得固定長度的詞向量(word vector)。

2)主編碼器

該部分主要用于學習詞向量的主要特征。UER 可以直接執行基礎的編碼器,如 LSTM、GRU、CNN、GatedCNN、AttentionNN 等。也可以根據需求,實現不同編碼器的組合,構建任意的網絡結構。

近年來,Transformer 技術在文本特征提取任務上表現出優越的性能。因此 UER 的主編碼器部分也整合了 Transformer 模塊,為 BERT 等模型的執行提供便利。

3)Target

選用恰當的 target 是預訓練成功的關鍵,雖然現有的 target 有很多種,但是它們都有各自的優缺點。UER 中包含有很多的 target,用戶可以使用一種或多種 target,并賦予它們不同的權值。根據原理的不同,這些 target 可以分為有監督和無監督類型。

無監督 target 有很多種,例如 Language model(LM)、Masked LM(MLM)和 Autoencoder(AE)等 target 屬于字符層面的 target,主要用于單詞詞義的預測;Next sentence prediction(NSP)模型主要用于判斷兩個句子之間是否具有連續性。

有監督 target 主要包括 Neural machine translation(NMT)和 Classification(CLS)兩種。有監督 target 往往可以為模型提供源語料庫中無法提供的額外信息。

4)微調

UER 開發了與 ULMFiT、GPT 和 BERT 相似的微調策略,用于下游任務的模型往往具有和預訓練模型相似的結構與參數,因此預訓練模型只需經過微調即可使用。

很多預訓練任務包含兩個階段,即模型預訓練與微調。但是,在 UER 中包含有 3 個階段,分別為:在廣義領域語料庫上的預訓練、在下游數據庫上的預訓練及在下游數據庫的微調。這樣做的好處是模型可以提前熟知下游數據庫的數據分布,從而在微調環節取得更好的訓練效果。

3. 結果驗證

為了驗證 UER 性能的好壞,作者基于不同的數據集設計了一系列實驗。

在論文中,作者以基于 BERT 的英文和中文模型為例,對 UER 的模型再現性(即能夠產生目標模型的能力)進行評估,并討論了在選取不同 target 和編碼器時,UER 性能的提升效果。

1)模型再現性

前文已經提到,UER 中已經內嵌了大量的模型,用戶可以直接調用這些模型,無需自己編寫模型代碼。調用的方法也非常簡單,用戶只需要根據自己的需求,編寫幾行代碼即可完成:

UER 中模型的調用方法演示

圖中分別演示了執行不同模型時的模型調用方法,可以看到模型調用代碼非常簡單,即使對于第一次接觸 UER 的用戶來說也可以快速上手,這也是 UER 的特色之一。

在完成模型的調用之后,需要驗證在 UER 中調用的模型與實際模型是否存在偏差,即驗證 UER 中模型的準確性。論文中以 BERT 模型為例,分別對英文和中文的自然語言處理結果進行驗證。

在英文驗證部分,論文使用 GLUE 基準,并將 UER 取得的測試結果與 HuggingFace 的測試結果進行對比(表 1):

表1 在GLUE基準上HuggingFace的測試結果與UER的測試結果對比

在中文驗證部分,論文使用百度 ERNIE 基準,并將 UER 取得的測試結果與 ERNIE 提供的測試結果進行對比(表 2):

表2 在ERNIE基準上ERNIE的測試結果與UER的測試結果對比

通過對比結果可以看出,UER 取得的測試結果與 HuggingFace 和 ERNIE 的測試結果相近,因此可以認為使用 UER 并不會影響模型訓練效果。

2)target 和編碼器對測試結果的影響

在選擇不同的 target 和編碼器時,模型的測試結果也是不同的。論文中,作者分別選擇了不同的 target 和編碼器,并記錄采用 UER 的預訓練模型在數據集上的測試結果。這里采用了豆瓣書評、亞馬遜商品用戶評價和 Chnsenticorp 三個中文情感分析數據集做為下游數據集。

首先,作者在 UER 中采用 BERT-base 的中文模型進行預訓練,然后將預訓練完成的模型在下游數據集上進行微調。為了進行對比,作者分別采用 MLM 和 CLS 做為 target,并記錄測試結果(表3):

表3 采用不同target的預訓練模型性能對比

通過比較不難發現,選用不同的 target 會對預訓練模型的性能產生較大影響,當采用 CLS 作為 target 時模型可以取得最高的測試結果。

由于 BERT 對計算力要求較高,為了提高運算效率,作者在 UER 中采用 2 層的 LTSM 編碼器來代替原始 12 層的 Transformer,并記錄在編碼器改變時預訓練模型的測試結果(表 4):

表4 采用不同編碼器的預訓練模型性能對比

通過數據對比可以看出,選用 LSTM 編碼器的預訓練模型可以獲得與 BERT 模型相近甚至更好的測試結果。該試驗證明了采用 UER 進行模型預訓練時可以靈活選擇不同的 target 和編碼器,來取得更好的訓練效果及更高的訓練效率。

4. 總結

論文中提出了一種開源的 NLP 模型預訓練工具箱,并詳細介紹了其組成部分及使用方法。借助于 UER,用戶可以方便、高效地執行各類預訓練模型,并根據需求對模型進行調整,從而取得模型性能及訓練速度的提升。

投稿需知

投稿請聯系:

郵箱:jiawei@leiphone.com

微信:jiawei1066

總結

以上是生活随笔為你收集整理的pytorch微调bert_北大、人大联合开源工具箱UER,3 行代码完美复现BERT、GPT的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人av影院在线观看 | 中文字幕亚洲乱码熟女一区二区 | 欧美熟妇乱码在线一区 | 内射一区二区三区 | 亚洲五月六月 | 中文国产在线观看 | 在线观视频免费观看 | 亚洲欧美日韩一区在线观看 | 久久精品23| 你懂的91 | 日本大尺度电影免费观看全集中文版 | 黄色a级片网站 | 成人乱人乱一区二区三区 | 日韩欧美亚洲一区 | 亚洲三级大片 | 91在线精品李宗瑞 | 香蕉久久精品日日躁夜夜躁 | 天堂网成人 | 色中色av | 第一福利丝瓜av导航 | 国产精品无码一区二区桃花视频 | 亚洲精品国产精品国自产网站按摩 | 国产国语亲子伦亲子 | 国产福利三区 | 91五月天 | 国产成人精品二区三区亚瑟 | 欧美性猛交xxx乱久交 | 深夜成人福利视频 | www视频在线 | 九七电影院97理论片 | 日本欧美不卡 | 超碰久草| 一本久久精品一区二区 | www.啪| 狠狠撸狠狠干 | 日本狠狠爱 | 毛毛毛片 | 中文在线观看免费网站 | 最新日韩一区 | 黑人一级视频 | 亚洲美女黄色片 | 国产黄色www | 国精产品99永久一区一区 | 亚洲av永久无码精品三区在线 | 淫欲av| 久久精品一区二区 | 欧美精品二区三区四区免费看视频 | 先锋成人 | 久久久高潮| 成人人伦一区二区三区 | 熟女一区二区三区四区 | 国产wwwwwww | 久久成人网18网站 | 性感美女一区二区三区 | 亚洲欧美一区二区三 | 精品3p | 亚洲自拍中文字幕 | 岛国av噜噜噜久久久狠狠av | 国产精品美女久久久久久久久 | 亚洲精品国产精 | 性色tv| 亚洲另类色综合网站 | 最新av在线播放 | 国内少妇毛片视频 | 成人免费观看av | 国产乱码精品一区二区 | 特黄大片又粗又大又暴 | 亚欧精品在线观看 | 日韩欧美国产综合 | 欧美一级一级一级 | 欧美呦交 | 天天做天天看 | 超碰1000 | 国产精品久久久999 www日本高清视频 | 欧美人与性动交ccoo | 国产精品98 | 性欧美在线视频观看 | 激情六月婷婷 | 18禁裸男晨勃露j毛免费观看 | 黄色免费一级视频 | 国产一级淫片a视频免费观看 | 日日草 | 天天看天天干 | 欧洲在线一区 | 色婷婷麻豆 | 成人动漫在线免费观看 | 香蕉视频网页版 | 欧美日韩激情视频 | 美女福利网站 | 高清国产视频 | 欧美日韩成人在线视频 | 国产精品国色综合久久 | 精品久久人人妻人人做人人 | 日韩五码电影 | 国产精品99精品久久免费 | 青青草久久久 | 超碰下载页面 | 亚洲8888 | 天堂一区在线 |