PERT基于 BERT 的預(yù)訓(xùn)練語(yǔ)言模型
在自然語(yǔ)言處理領(lǐng)域中,預(yù)訓(xùn)練語(yǔ)言模型(Pre-trained Language Models,PLMs)已成為非常重要的基礎(chǔ)技術(shù)。在近兩年,哈工大訊飛聯(lián)合實(shí)驗(yàn)室發(fā)布了多種中文預(yù)訓(xùn)練模型資源以及相關(guān)配套工具。作為相關(guān)工作的延續(xù),在本項(xiàng)目中,我們提出了一種基于亂序語(yǔ)言模型的預(yù)訓(xùn)練模型(PERT),在不引入掩碼標(biāo)記[MASK]的情況下自監(jiān)督地學(xué)習(xí)文本語(yǔ)義信息。PERT在部分中英文NLU任務(wù)上獲得性能提升,但也在部分任務(wù)上效果較差,請(qǐng)酌情使用。目前提供了中文和英文的PERT模型,包含兩種模型大小(base、large)。
原版下載地址
這里主要提供TensorFlow 1.15版本的模型權(quán)重。如需PyTorch或者TensorFlow2版本的模型,請(qǐng)看下一小節(jié)。
開(kāi)源版本僅包含Transformer部分的權(quán)重,可直接用于下游任務(wù)精調(diào),或者其他預(yù)訓(xùn)練模型二次預(yù)訓(xùn)練的初始權(quán)重,更多說(shuō)明見(jiàn)FAQ。
-
PERT-large:24-layer, 1024-hidden, 16-heads, 330M parameters -
PERT-base12-layer, 768-hidden, 12-heads, 110M parameters
| 模型簡(jiǎn)稱 | 語(yǔ)種 | 語(yǔ)料 | Google下載 | 百度盤下載 |
|---|---|---|---|---|
| Chinese-PERT-large | 中文 | EXT數(shù)據(jù)[1] | TensorFlow | TensorFlow(密碼:e9hs) |
| Chinese-PERT-base | 中文 | EXT數(shù)據(jù)[1] | TensorFlow | TensorFlow(密碼:rcsw) |
| English-PERT-large (uncased) | 英文 | WikiBooks[2] | TensorFlow | TensorFlow(密碼:wxwi) |
| English-PERT-base (uncased) | 英文 | WikiBooks[2] | TensorFlow | TensorFlow(密碼:8jgq) |
[1] EXT數(shù)據(jù)包括:中文維基百科,其他百科、新聞、問(wèn)答等數(shù)據(jù),總詞數(shù)達(dá)5.4B,約占用20G磁盤空間,與MacBERT相同。
[2] Wikipedia + BookCorpus
以TensorFlow版Chinese-PERT-base為例,下載完畢后對(duì)zip文件進(jìn)行解壓得到:
chinese_pert_base_L-12_H-768_A-12.zip
|- pert_model.ckpt # 模型權(quán)重
|- pert_model.meta # 模型meta信息
|- pert_model.index # 模型index信息
|- pert_config.json # 模型參數(shù)
|- vocab.txt # 詞表(與谷歌原版一致)
其中bert_config.json和vocab.txt與谷歌原版BERT-base, Chinese完全一致(英文版與BERT-uncased版本一致)。
PyTorch以及TensorFlow 2版本
通過(guò)??transformers模型庫(kù)可以下載TensorFlow (v2)和PyTorch版本模型。
下載方法:點(diǎn)擊任意需要下載的模型 → 選擇"Files and versions"選項(xiàng)卡 → 下載對(duì)應(yīng)的模型文件。
| 模型簡(jiǎn)稱 | 模型文件大小 | transformers模型庫(kù)地址 |
|---|---|---|
| Chinese-PERT-large | 1.2G | https://huggingface.co/hfl/chinese-pert-large |
| Chinese-PERT-base | 0.4G | https://huggingface.co/hfl/chinese-pert-base |
| Chinese-PERT-large-MRC | 1.2G | https://huggingface.co/hfl/chinese-pert-large-mrc |
| Chinese-PERT-base-MRC | 0.4G | https://huggingface.co/hfl/chinese-pert-base-mrc |
| English-PERT-large | 1.2G | https://huggingface.co/hfl/english-pert-large |
| English-PERT-base | 0.4G | https://huggingface.co/hfl/english-pert-base |
快速加載
由于PERT主體部分仍然是BERT結(jié)構(gòu),用戶可以使用transformers庫(kù)輕松調(diào)用PERT模型。
注意:本目錄中的所有模型均使用BertTokenizer以及BertModel加載(MRC模型使用BertForQuestionAnswering)。
from transformers import BertTokenizer, BertModel tokenizer = BertTokenizer.from_pretrained("MODEL_NAME") model = BertModel.from_pretrained("MODEL_NAME")
其中MODEL_NAME對(duì)應(yīng)列表如下:
| 模型名 | MODEL_NAME |
|---|---|
| Chinese-PERT-large | hfl/chinese-pert-large |
| Chinese-PERT-base | hfl/chinese-pert-base |
| Chinese-PERT-large-MRC | hfl/chinese-pert-large-mrc |
| Chinese-PERT-base-MRC | hfl/chinese-pert-base-mrc |
| English-PERT-large | hfl/english-pert-large |
| English-PERT-base | hfl/english-pert-base |
基線系統(tǒng)效果
以下僅列舉部分實(shí)驗(yàn)結(jié)果。詳細(xì)結(jié)果和分析見(jiàn)論文。實(shí)驗(yàn)結(jié)果表格中,括號(hào)外為最大值,括號(hào)內(nèi)為平均值。
中文任務(wù)
在以下10個(gè)任務(wù)上進(jìn)行了效果測(cè)試。
- 抽取式閱讀理解(2):CMRC 2018(簡(jiǎn)體中文)、DRCD(繁體中文)
- 文本分類(6):
- 命名實(shí)體識(shí)別(2):MSRA-NER、People's Daily(人民日?qǐng)?bào))
閱讀理解
文本分類
命名實(shí)體識(shí)別
文本糾錯(cuò)(亂序)
除了上述任務(wù)之外,我們還在文本糾錯(cuò)中的亂序任務(wù)上進(jìn)行了測(cè)試,效果如下。
英文任務(wù)
在以下6個(gè)任務(wù)上進(jìn)行了效果測(cè)試。
- 抽取式閱讀理解(2):SQuAD 1.1、SQuAD 2.0
- GLUE子任務(wù)(4):MNLI、SST-2、CoLA、MRPC
