🚀 xlm - mlm - xnli15 - 1024
基于Transformer架构的多语言预训练语言模型,可用于跨语言文本分类和自然语言推理任务
🚀 快速开始
本模型在推理时使用语言嵌入来指定使用的语言。更多详细信息,请参阅Hugging Face多语言推理模型文档。
✨ 主要特性
- 跨语言能力:该模型虽然基于英文文本数据进行微调,但已评估了其在其他14种语言中对句子进行分类的能力,可用于跨语言文本分类。
- 多语言评估:模型开发者对模型在15种XNLI语言中做出正确预测的能力进行了评估。
📚 详细文档
🔍 模型详情
XLM模型由Guillaume Lample和Alexis Conneau在论文Cross - lingual Language Model Pretraining中提出。xlm - mlm - xnli15 - 1024是一个基于掩码语言建模(MLM)目标进行预训练,并在英文NLI数据集上进行微调的Transformer模型。
📖 使用方式
直接使用
该模型是一个语言模型,可用于跨语言文本分类。尽管模型是基于英文文本数据进行微调的,但已评估了其在其他14种语言中对句子进行分类的能力(详见评估部分)。
下游使用
该模型可用于与不同语言的自然语言推理相关的下游任务。更多信息,请参阅相关论文。
超出适用范围的使用
不应使用该模型故意为人们创造敌对或排斥的环境。
⚠️ 偏差、风险和局限性
大量研究已经探讨了语言模型的偏差和公平性问题(例如,参见Sheng等人(2021)和Bender等人(2021))。
⚠️ 重要提示
直接和下游用户都应该了解该模型的风险、偏差和局限性。
📈 训练详情
训练数据
模型开发者表示:
我们使用WikiExtractor2从维基百科转储中提取原始句子,并将其用作CLM和MLM目标的单语言数据。对于TLM目标,我们仅使用涉及英语的平行数据,与Conneau等人(2018b)类似。
- 具体来说,我们对法语、西班牙语、俄语、阿拉伯语和中文使用MultiUN(Ziemski等人,2016),对印地语使用IIT孟买语料库(Anoop等人,2018)。
- 我们从OPUS 3网站Tiedemann(2012)中提取了以下语料库:用于德语、希腊语和保加利亚语的EUbookshop语料库,用于土耳其语、越南语和泰语的OpenSubtitles 2018,用于乌尔都语和斯瓦希里语的Tanzil,以及用于斯瓦希里语的GlobalVoices。
- 对于中文、日语和泰语,我们分别使用Chang等人(2008)的分词器、Kytea4分词器和PyThaiNLP5分词器。
- 对于所有其他语言,我们使用Moses(Koehn等人,2007)提供的分词器,必要时使用默认的英语分词器。
为了进行微调,开发者使用了英文NLI数据集(详见XNLI数据卡片)。
训练过程
预处理
模型开发者表示:
我们使用fastBPE学习BPE代码,并将单词拆分为子词单元。按照第3.1节中介绍的方法,在从所有语言中采样的句子连接上学习BPE代码。
速度、规模、时间
模型开发者表示:
我们使用具有1024个隐藏单元、8个头、GELU激活函数(Hendrycks和Gimpel,2016)、0.1的丢弃率和学习的位置嵌入的Transformer架构。我们使用Adam优化器(Kingma和Ba,2014)、线性预热(Vaswani等人,2017)和从10^−4到5.10^−4变化的学习率来训练我们的模型。
对于CLM和MLM目标,我们使用256个标记的流和大小为64的小批量。与Devlin等人(2018)不同,小批量中的一个序列可以包含两个以上连续的句子,如第3.2节所述。对于TLM目标,我们采样由长度相似的句子组成的4000个标记的小批量。我们使用跨语言的平均困惑度作为训练的停止标准。对于机器翻译,我们仅使用6层,并创建2000个标记的小批量。
在XNLI上进行微调时,我们使用大小为8或16的小批量,并将句子长度裁剪为256个单词。我们使用80k个BPE分割和95k的词汇表,并在XNLI语言的维基百科上训练一个12层的模型。我们从5.10−4到2.10−4的值中采样Adam优化器的学习率,并使用20000个随机样本的小评估周期。我们使用Transformer最后一层的第一个隐藏状态作为随机初始化的最终线性分类器的输入,并微调所有参数。在我们的实验中,使用最后一层的最大池化或平均池化并不比使用第一个隐藏状态效果更好。
我们在Py - Torch(Paszke等人,2017)中实现了所有模型,并在64个Volta GPU上进行语言建模任务的训练,在8个GPU上进行机器翻译任务的训练。我们使用float16操作来加速训练并减少模型的内存使用。
📊 评估
测试数据、因素和指标
在英文NLI数据集上对模型进行微调后,模型开发者使用XNLI数据和测试准确率指标评估了模型在15种XNLI语言中做出正确预测的能力。更多详细信息,请参阅相关论文。
结果
语言 |
英语 |
法语 |
西班牙语 |
德语 |
希腊语 |
保加利亚语 |
俄语 |
土耳其语 |
阿拉伯语 |
越南语 |
泰语 |
中文 |
印地语 |
斯瓦希里语 |
乌尔都语 |
准确率 |
83.2 |
76.5 |
76.3 |
74.2 |
73.1 |
74.0 |
73.1 |
67.8 |
68.5 |
71.2 |
69.2 |
71.9 |
65.7 |
64.6 |
63.4 |
🌱 环境影响
可以使用Lacoste等人(2019)中提出的机器学习影响计算器来估算碳排放。
属性 |
详情 |
硬件类型 |
64个Volta GPU |
使用时长 |
需要更多信息 |
云服务提供商 |
需要更多信息 |
计算区域 |
需要更多信息 |
碳排放 |
需要更多信息 |
🔧 技术规格
模型架构和目标
xlm - mlm - xnli15 - 1024是一个基于掩码语言建模(MLM)目标进行预训练,并在英文NLI数据集上进行微调的Transformer模型。关于MLM目标,开发者表示:
我们还考虑了Devlin等人(2018)的掩码语言建模(MLM)目标,也称为完形填空任务(Taylor,1953)。按照Devlin等人(2018)的方法,我们从文本流中随机采样15%的BPE标记,80%的时间用[MASK]标记替换它们,10%的时间用随机标记替换它们,10%的时间保持它们不变。我们的方法与Devlin等人(2018)的MLM的不同之处包括使用任意数量句子的文本流(截断为256个标记)而不是句子对。为了应对稀有和频繁标记(例如标点符号或停用词)之间的不平衡,我们还使用类似于Mikolov等人(2013b)的方法对频繁输出进行二次采样:文本流中的标记根据多项分布进行采样,其权重与其倒数频率的平方根成正比。我们的MLM目标如图1所示。
计算基础设施
硬件和软件
开发者表示:
我们在PyTorch(Paszke等人,2017)中实现了所有模型,并在64个Volta GPU上进行语言建模任务的训练,在8个GPU上进行机器翻译任务的训练。我们使用float16操作来加速训练并减少模型的内存使用。
📝 引用
BibTeX:
@article{lample2019cross,
title={Cross-lingual language model pretraining},
author={Lample, Guillaume and Conneau, Alexis},
journal={arXiv preprint arXiv:1901.07291},
year={2019}
}
APA:
- Lample, G., & Conneau, A. (2019). Cross - lingual language model pretraining. arXiv preprint arXiv:1901.07291.
📝 模型卡片作者
本模型卡片由Hugging Face团队编写。