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