目录

  • NLP中流行的预训练模型
  • 1 BERT及其变体
  • 2 GPT
  • 3 GPT-2及其变体
  • 4 Transformer-XL
  • 5 XLNet及其变体
  • 6 XLM
  • 7 RoBERTa及其变体
  • 8 DistilBERT及其变体
  • 9 ALBERT
  • 10 T5及其变体
  • 11 XLM-RoBERTa及其变体


NLP中流行的预训练模型

  • BERT
  • GPT
  • GPT-2
  • Transformer-XL
  • XLNet
  • XLM
  • RoBERTa
  • DistilBERT
  • ALBERT
  • T5
  • XLM-RoBERTa

1 BERT及其变体

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

bert-base-uncased

12

768

12

110M

小写英文文本

bert-large-uncased

24

1024

16

340M

小写英文文本

bert-base-cased

12

768

12

110M

不区分大小写的英文文本

bert-large-cased

24

1024

16

340M

不区分大小写的英文文本

bert-base-multilingual-uncased

12

768

12

110M

小写的102种语言文本

bert-large-multilingual-uncased

24

1024

16

340M

小写的102种语言文本

bert-base-chinese

12

768

12

110M

简体和繁体中文文本

  • bert-base-uncased: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共110M参数量, 在小写的英文文本上进行训练而得到.
  • bert-large-uncased: 编码器具有24个隐层, 输出1024维张量, 16个自注意力头, 共340M参数量, 在小写的英文文本上进行训练而得到.
  • bert-base-cased: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共110M参数量, 在不区分大小写的英文文本上进行训练而得到.
  • bert-large-cased: 编码器具有24个隐层, 输出1024维张量, 16个自注意力头, 共340M参数量, 在不区分大小写的英文文本上进行训练而得到.
  • bert-base-multilingual-uncased: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共110M参数量, 在小写的102种语言文本上进行训练而得到.
  • bert-large-multilingual-uncased: 编码器具有24个隐层, 输出1024维张量, 16个自注意力头, 共340M参数量, 在小写的102种语言文本上进行训练而得到.
  • bert-base-chinese: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共110M参数量, 在简体和繁体中文文本上进行训练而得到.

2 GPT

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

openai-gpt

12

768

12

110M

英文语料

  • openai-gpt: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共110M参数量, 由OpenAI在英文语料上进行训练而得到.

3 GPT-2及其变体

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

gpt2

12

768

12

117M

GPT-2英文语料

gpt2-xl

48

1600

25

1558M

GPT-2英文语料

  • gpt2: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共117M参数量, 在OpenAI GPT-2英文语料上进行训练而得到.
  • gpt2-xl: 编码器具有48个隐层, 输出1600维张量, 25个自注意力头, 共1558M参数量, 在大型的OpenAI GPT-2英文语料上进行训练而得到.

4 Transformer-XL

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

transfo-xl-wt103

18

1024

16

257M

wikitext-103英文语料

  • transfo-xl-wt103: 编码器具有18个隐层, 输出1024维张量, 16个自注意力头, 共257M参数量, 在wikitext-103英文语料进行训练而得到.

5 XLNet及其变体

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

xlnet-base-cased

12

768

12

110M

英文语料

xlnet-large-cased

24

1024

16

240M

英文语料

  • xlnet-base-cased: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共110M参数量, 在英文语料上进行训练而得到.
  • xlnet-large-cased: 编码器具有24个隐层, 输出1024维张量, 16个自注意力头, 共240参数量, 在英文语料上进行训练而得到.

6 XLM

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

xlm-mlm-en-2048

12

2048

16

/

英文语料

xlm-mlm-en-2048: 编码器具有12个隐层, 输出2048维张量, 16个自注意力头, 在英文文本上进行训练而得到.


7 RoBERTa及其变体

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

roberta-base

12

768

12

125M

英文文本

roberta-large

24

1024

16

355M

英文文本

  • roberta-base: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共125M参数量, 在英文文本上进行训练而得到.
  • roberta-large: 编码器具有24个隐层, 输出1024维张量, 16个自注意力头, 共355M参数量, 在英文文本上进行训练而得到.

8 DistilBERT及其变体

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

distilbert-base-uncased6

6

768

12

66M

/

distilbert-base-multilingual-cased

6

768

12

66M

/

  • distilbert-base-uncased: 基于bert-base-uncased的蒸馏(压缩)模型, 编码器具有6个隐层, 输出768维张量, 12个自注意力头, 共66M参数量.
  • distilbert-base-multilingual-cased: 基于bert-base-multilingual-uncased的蒸馏(压缩)模型, 编码器具有6个隐层, 输出768维张量, 12个自注意力头, 共66M参数量.

9 ALBERT

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

albert-base-v1

12

768

12

125M

英文文本

albert-base-v2

12

768

12

125M

英文文本

  • albert-base-v1: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共125M参数量, 在英文文本上进行训练而得到.
  • albert-base-v2: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共125M参数量, 在英文文本上进行训练而得到, 相比v1使用了更多的数据量, 花费更长的训练时间.

10 T5及其变体

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

t5-small

6

512

8

60M

C4语料

t5-base

12

768

12

220M

C4语料

t5-large

24

1024

16

770M

C4语料

  • t5-small: 编码器具有6个隐层, 输出512维张量, 8个自注意力头, 共60M参数量, 在C4语料上进行训练而得到.
  • t5-base: 编码器具有12个隐层, 输出768维张量, 12个自注意力头, 共220M参数量, 在C4语料上进行训练而得到.
  • t5-large: 编码器具有24个隐层, 输出1024维张量, 16个自注意力头, 共770M参数量, 在C4语料上进行训练而得到.

11 XLM-RoBERTa及其变体

模型名称

隐层数

张量维度

自注意力头数

参数量

训练语料

xlm-roberta-base

12

768

8

125M

2.5TB的100种语言文本

xlm-roberta-large

24

1027

16

355M

2.5TB的100种语言文本

  • xlm-roberta-base: 编码器具有12个隐层, 输出768维张量, 8个自注意力头, 共125M参数量, 在2.5TB的100种语言文本上进行训练而得到.
  • xlm-roberta-large: 编码器具有24个隐层, 输出1027维张量, 16个自注意力头, 共355M参数量, 在2.5TB的100种语言文本上进行训练而得到.

预训练模型说明:

  • 所有上述预训练模型及其变体都是以transformer为基础,只是在模型结构如神经元连接方式,编码器隐层数,多头注意力的头数等发生改变,这些改变方式的大部分依据都是由在标准数据集上的表现而定,因此,对于我们使用者而言,不需要从理论上深度探究这些预训练模型的结构设计的优劣,只需要在自己处理的目标数据上,尽量遍历所有可用的模型对比得到最优效果即可.