语言:
- 多语言
- 英语
- 阿拉伯语
- 保加利亚语
- 德语
- 希腊语
- 西班牙语
- 法语
- 印地语
- 俄语
- 斯瓦希里语
- 泰语
- 土耳其语
- 乌尔都语
- 越南语
- 中文
缩略图: https://huggingface.co/front/thumbnails/microsoft.png
标签:
- 文本分类
许可证: mit
MiniLM:用于语言理解与生成的小型快速预训练模型
MiniLM源自论文《MiniLM:面向任务无关的预训练Transformer压缩的深度自注意力蒸馏》。
关于预处理、训练及MiniLM完整细节,请查阅原始MiniLM代码库。
注意:此检查点使用BertModel
搭配XLMRobertaTokenizer
,因此AutoTokenizer
不兼容此检查点!
多语言预训练模型
- 多语言-MiniLMv1-L12-H384:12层,384隐藏单元,12头注意力,2100万Transformer参数,9600万嵌入参数
多语言MiniLM采用与XLM-R相同的分词器,但模型Transformer架构与BERT一致。我们提供基于huggingface/transformers的XNLI微调代码。请将transformers中的run_xnli.py
替换为我们的版本以微调多语言MiniLM。
我们在跨语言自然语言推理基准(XNLI)和跨语言问答基准(MLQA)上评估多语言MiniLM。
跨语言自然语言推理 - XNLI
评估模型从英语到其他语言的跨语言迁移能力。遵循Conneau等(2019),我们选择在所有语言联合开发集上表现最佳的单模型。
模型 |
层数 |
隐藏单元 |
Transformer参数 |
平均分 |
英语 |
法语 |
西班牙语 |
德语 |
希腊语 |
保加利亚语 |
俄语 |
土耳其语 |
阿拉伯语 |
越南语 |
泰语 |
中文 |
印地语 |
斯瓦希里语 |
乌尔都语 |
mBERT |
12 |
768 |
85M |
66.3 |
82.1 |
73.8 |
74.3 |
71.1 |
66.4 |
68.9 |
69.0 |
61.6 |
64.9 |
69.5 |
55.8 |
69.3 |
60.0 |
50.4 |
58.0 |
XLM-100 |
16 |
1280 |
315M |
70.7 |
83.2 |
76.7 |
77.7 |
74.0 |
72.7 |
74.1 |
72.7 |
68.7 |
68.6 |
72.9 |
68.9 |
72.5 |
65.6 |
58.2 |
62.4 |
XLM-R Base |
12 |
768 |
85M |
74.5 |
84.6 |
78.4 |
78.9 |
76.8 |
75.9 |
77.3 |
75.4 |
73.2 |
71.5 |
75.4 |
72.5 |
74.9 |
71.1 |
65.2 |
66.5 |
mMiniLM-L12xH384 |
12 |
384 |
21M |
71.1 |
81.5 |
74.8 |
75.7 |
72.9 |
73.0 |
74.5 |
71.3 |
69.7 |
68.8 |
72.1 |
67.8 |
70.0 |
66.2 |
63.3 |
64.2 |
以下代码示例展示如何在XNLI上微调12层多语言MiniLM:
DATA_DIR=/{数据路径}/
OUTPUT_DIR=/{微调模型保存路径}/
MODEL_PATH=/{预训练模型路径}/
python ./examples/run_xnli.py --model_type minilm \
--output_dir ${OUTPUT_DIR} --data_dir ${DATA_DIR} \
--model_name_or_path microsoft/Multilingual-MiniLM-L12-H384 \
--tokenizer_name xlm-roberta-base \
--config_name ${MODEL_PATH}/multilingual-minilm-l12-h384-config.json \
--do_train \
--do_eval \
--max_seq_length 128 \
--per_gpu_train_batch_size 128 \
--learning_rate 5e-5 \
--num_train_epochs 5 \
--per_gpu_eval_batch_size 32 \
--weight_decay 0.001 \
--warmup_steps 500 \
--save_steps 1500 \
--logging_steps 1500 \
--eval_all_checkpoints \
--language en \
--fp16 \
--fp16_opt_level O2
遵循Lewis等(2019b),我们采用SQuAD 1.1作为训练数据,并使用MLQA英语开发集进行早停。
模型F1分数 |
层数 |
隐藏单元 |
Transformer参数 |
平均分 |
英语 |
西班牙语 |
德语 |
阿拉伯语 |
印地语 |
越南语 |
中文 |
mBERT |
12 |
768 |
85M |
57.7 |
77.7 |
64.3 |
57.9 |
45.7 |
43.8 |
57.1 |
57.5 |
XLM-15 |
12 |
1024 |
151M |
61.6 |
74.9 |
68.0 |
62.2 |
54.8 |
48.8 |
61.4 |
61.1 |
XLM-R Base (文献值) |
12 |
768 |
85M |
62.9 |
77.8 |
67.2 |
60.8 |
53.0 |
57.9 |
63.1 |
60.2 |
XLM-R Base (我们微调) |
12 |
768 |
85M |
64.9 |
80.3 |
67.0 |
62.7 |
55.0 |
60.4 |
66.5 |
62.3 |
mMiniLM-L12xH384 |
12 |
384 |
21M |
63.2 |
79.4 |
66.1 |
61.2 |
54.9 |
58.5 |
63.1 |
59.0 |
引用
如果MiniLM对您的研究有所帮助,请引用以下论文:
@misc{wang2020minilm,
title={MiniLM:面向任务无关的预训练Transformer压缩的深度自注意力蒸馏},
author={王文武、韦福如、董力、包航波、杨楠、周明},
year={2020},
eprint={2002.10957},
archivePrefix={arXiv},
primaryClass={cs.CL}
}