當前位置:
首頁 > 新聞 > Pytorch-Transformers 1.0 發布,支持六個預訓練框架,含 27 個預訓練模型

Pytorch-Transformers 1.0 發布,支持六個預訓練框架,含 27 個預訓練模型

雷鋒網 AI 科技評論按:剛剛,在 Github 上發布了開源 Pytorch-Transformers 1.0,該項目支持 BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM 等,並包含 27 個預訓練模型。

我們來看。

哪些支持

PyTorch-Transformers(此前叫做pytorch-pretrained-bert)是面向自然語言處理,當前性能最高的預訓練模型開源庫。

該開源庫現在包含了 PyTorch 實現、預訓練模型權重、運行腳本和以下模型的轉換工具:

1、谷歌的 BERT,論文:「BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding」,論文作者:Jacob Devlin, Ming-Wei Chang, Kenton Lee ,Kristina Toutanova

2、OpenAI 的GPT,論文:「 Improving Language Understanding by Generative Pre-Training」,論文作者:Alec Radford, Karthik Narasimhan, Tim Salimans , Ilya Sutskever

3、OpenAI 的 GPT-2,論文:「 Language Models are Unsupervised Multitask Learners」,論文作者:Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei,Ilya Sutskever

4、谷歌和 CMU 的 Transformer-XL,論文:「 Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context」,論文作者:Zihang Dai*, Zhilin Yang*, Yiming Yang, Jaime Carbonell, Quoc V. Le, Ruslan Salakhutdinov.

5、谷歌和 CMU 的XLNet,論文:「XLNet: Generalized Autoregressive Pretraining for Language Understanding」,論文作者:Zhilin Yang*, Zihang Dai*, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, Quoc V. Le

6、Facebook的 XLM,論文:「 Cross-lingual Language Model Pretraining」,論文作者:Guillaume Lample,Alexis Conneau

這些實現都在幾個數據集(參見示例腳本)上進行了測試,性能與原始實現相當,例如 BERT中文全詞覆蓋在 SQuAD數據集上的F1分數為93 , OpenAI GPT 在 RocStories上的F1分數為88, Transformer-XL在 WikiText 103 上的困惑度為18.3, XLNet在STS-B的皮爾遜相關係數為0.916。

27個預訓練模型

項目中提供了27個預訓練模型,下面是這些模型的完整列表,以及每個模型的簡短介紹。

Pytorch-Transformers 1.0 發布,支持六個預訓練框架,含 27 個預訓練模型

打開今日頭條,查看更多圖片

Pytorch-Transformers 1.0 發布,支持六個預訓練框架,含 27 個預訓練模型

例子

BERT-base和BERT-large分別是110M和340M參數模型,並且很難在單個GPU上使用推薦的批量大小對其進行微調,來獲得良好的性能(在大多數情況下批量大小為32)。

為了幫助微調這些模型,我們提供了幾種可以在微調腳本中激活的技術 run_bert_classifier.py 和 run_bert_squad.py:梯度累積(gradient-accumulation),多GPU訓練(multi-gpu training),分散式訓練(distributed training )和16- bits 訓練( 16-bits training)。注意,這裡要使用分散式訓練和16- bits 訓練,你需要安裝NVIDIA的apex擴展。

作者在doc中展示了幾個基於BERT原始實現(https://github.com/google-research/bert/)和擴展的微調示例,分別為:

  • 九個不同GLUE任務的序列級分類器;

  • 問答集數據集SQUAD上的令牌級分類器;

  • SWAG分類語料庫中的序列級多選分類器;

  • 另一個目標語料庫上的BERT語言模型。

我們這裡僅展示GLUE的結果:

Pytorch-Transformers 1.0 發布,支持六個預訓練框架,含 27 個預訓練模型

這裡是使用uncased BERT基礎模型在GLUE基準測試開發集上得到的結果。所有實驗均在批量大小為32的P100 GPU上運行。儘管比較原始,但結果看起來還不錯。

安裝

該項目是在Python 2.7和3.5+上測試(例子只在python 3.5+上測試)和PyTorch 0.4.1到1.1.0測試

pip 安裝:

pip install pytorch-transformers

測試:

python -m pytest -sv ./pytorch_transformers/tests/

python -m pytest -sv ./examples/

傳送門:

源碼:https://github.com/huggingface/pytorch-transformers

文檔:https://huggingface.co/pytorch-transformers/index.html

延伸閱讀

[深度]周明:自然語言處理的未來之路,https://www.leiphone.com/news/201907/djMxwOkOO5u4sf6O.html

多圖帶你讀懂 Transformers 的工作原理,https://www.leiphone.com/news/201903/ELyRKiBJOx8agF1Q.html

超越 BERT 和 GPT,微軟亞洲研究院開源新模型 MASS!https://www.leiphone.com/news/201906/21E6GehD0d9SHC2Q.html

一個續寫故事達到人類水平的AI,OpenAI大規模無監督語言模型GPT-2, https://www.leiphone.com/news/201902/wuK3G9qDcrf5dX0r.html雷鋒網雷鋒網

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

蘋果 CEO Tim Cook:有些話,我至死都要說
「蘋果產品算命師」郭明錤,帶來 2020年iPhone 新爆料

TAG:雷鋒網 |