掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
只需一個API,直接調(diào)用BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM等6大框架,包含了27個預(yù)訓(xùn)練模型。簡單易用,功能強大。

One API to rule them all。
3天前,著名最先進的自然語言處理預(yù)訓(xùn)練模型庫項目pytorch-pretrained-bert改名Pytorch-Transformers重裝襲來,1.0.0版橫空出世。
只需一個API,直接調(diào)用BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM等6大框架,包含了27個預(yù)訓(xùn)練模型。
簡單易用,功能強大。目前已經(jīng)包含了PyTorch實現(xiàn)、預(yù)訓(xùn)練模型權(quán)重、運行腳本和以下模型的轉(zhuǎn)換工具:
這些實現(xiàn)都在幾個數(shù)據(jù)集(參見示例腳本)上進行了測試,性能與原始實現(xiàn)相當(dāng),例如BERT中文全詞覆蓋在SQuAD數(shù)據(jù)集上的F1分?jǐn)?shù)為93;OpenAI GPT 在RocStories上的F1分?jǐn)?shù)為88;Transformer-XL在WikiText 103上的困惑度為18.3;XLNet在STS-B的皮爾遜相關(guān)系數(shù)為0.916。
項目中提供27個預(yù)訓(xùn)練模型,下面是這些模型的完整列表,以及每個模型的簡短介紹。
BERT-base和BERT-large分別是110M和340M參數(shù)模型,并且很難在單個GPU上使用推薦的批量大小對其進行微調(diào),來獲得良好的性能(在大多數(shù)情況下批量大小為32)。
為了幫助微調(diào)這些模型,作者提供了幾種可以在微調(diào)腳本中激活的技術(shù) run_bert_classifier.py和run_bert_squad.py:梯度累積(gradient-accumulation),多GPU訓(xùn)練(multi-gpu training),分布式訓(xùn)練(distributed training )和16- bits 訓(xùn)練( 16-bits training)。
注意,這里要使用分布式訓(xùn)練和16- bits 訓(xùn)練,你需要安裝NVIDIA的apex擴展。
作者在doc中展示了幾個基于BERT原始實現(xiàn)和擴展的微調(diào)示例,分別為:
這里僅展示GLUE的結(jié)果:
該項目是在Python 2.7和3.5+上測試(例子只在python 3.5+上測試)和PyTorch 0.4.1到1.1.0測試。
項目地址:
https://github.com/huggingface/pytorch-transformers

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流