BERT、GPT-2這些頂尖工具到底該怎麼用到我的模型里?
【新智元導讀】NLP方向近日各種大神工具層出不窮。然而,實踐才是硬道理,如何將它們應用到自己的模型是個關鍵問題。本文就對此問題進行了介紹。
近期的NLP方向,ELMO、GPT、BERT、Transformer-XL、GPT-2,各種預訓練語言模型層出不窮,這些模型在各種NLP任務上一次又一次刷新上線,令人心馳神往。但是當小編翻開他們的paper,每一個上面都寫著四個大字:「弱者退散」,到底該怎麼將這些頂尖工具用到我的模型里呢?答案是Hugging Face的大神們開源的pytorch-pretrained-BERT。
Github 地址:
https://github.com/huggingface/pytorch-pretrained-BERT
模型簡介
近期的各種預訓練語言模型,橫掃各種NLP任務,這裡我們介紹三個最火的預訓練模型:
- BERT,由Google AI團隊,發表於2018年10月11日。它的文章是: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding。
- Transformer-XL, 由Google AI和Carnegie Mellon大學,發表於2019年1月9日。它的文章是:Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context。
- GPT-2,由OpenAI 團隊,發表於2019年2月14日,它的文章是:Language Models are Unsupervised Multitask Learners。
基本上,每一個文章,都在發表的時候,刷新當時的幾乎所有NLP任務的State-of-the-Art,然後引發一波熱潮。 當然,目前風頭正盛的是GPT-2,它前幾天剛發表。
開源實現
然而,讓小編翻開他們的paper,發現每一個上面都寫著四個大字:「弱者退散」,到底該怎麼將這些頂尖工具用到我的模型里呢,Hugging Face 的大神們,緊跟前沿,將所有的預訓練語言模型都實現並開源了。更令人欽佩的是,它們還做了很多封裝,讓大家都可以才在這些巨人模型的肩膀上。
Hugging Face開源的庫叫pytorch-pretained-bert, 你可以在本文開頭找到鏈接。接下來的部分,我們介紹一下它的安裝和使用。
安裝使用
你可以直接使用 Pip install 來安裝它:
pip install pytorch-pretrained-bert
pytorch-pretrained-bert 內 BERT,GPT,Transformer-XL,GPT-2。
為了獲取一句話的BERT表示,我們可以:
拿到表示之後,我們可以在後面,接上自己的模型,比如NER。
我們也可以獲取GPT的表示:
Transformer-XL表示:
以及,非常火的,GPT-2的表示:
有了這些表示,我們可以在後面,接入自己的模型,比如:
- 文本分類
- https://github.com/huggingface/pytorch-pretrained-BERT/blob/master/examples/run_classifier.py
- 閱讀理解
- https://github.com/huggingface/pytorch-pretrained-BERT/blob/master/examples/run_squad.py
- 語言模型
- https://github.com/huggingface/pytorch-pretrained-BERT/blob/master/examples/run_lm_finetuning.py
- 等等
本文經授權轉載自專知
※特朗普簽署美國AI計劃單挑中國歐盟加拿大,確保全球霸主地位
※谷歌「驗光師」AI演算法,讓可控核聚變早日成真!
TAG:新智元 |