🚀 XLM-RoBERTa (基础规模模型)
XLM-RoBERTa模型在包含100种语言的2.5TB过滤后的CommonCrawl数据上进行了预训练。它由Conneau等人在论文大规模无监督跨语言表征学习中提出,并首次在此仓库中发布。
声明:发布XLM-RoBERTa的团队并未为此模型撰写模型卡片,此模型卡片由Hugging Face团队撰写。
🚀 快速开始
XLM-RoBERTa是RoBERTa的多语言版本,在包含100种语言的2.5TB过滤后的CommonCrawl数据上进行了预训练。你可以直接使用此模型进行掩码语言建模,也可以在下游任务中对其进行微调。
✨ 主要特性
- 多语言支持:支持100种语言,包括多种常见和小众语言,如英语、中文、阿拉伯语等。
- 自监督学习:以自监督的方式在大型语料库上进行预训练,通过掩码语言建模(MLM)目标学习句子的双向表示。
- 特征提取:学习到的100种语言的内部表示可用于提取对下游任务有用的特征。
📦 安装指南
文档未提及具体安装步骤,可参考Hugging Face的transformers库安装说明。
💻 使用示例
基础用法
你可以使用此模型直接通过管道进行掩码语言建模:
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='xlm-roberta-base')
>>> unmasker("Hello I'm a <mask> model.")
[{'score': 0.10563907772302628,
'sequence': "Hello I'm a fashion model.",
'token': 54543,
'token_str': 'fashion'},
{'score': 0.08015287667512894,
'sequence': "Hello I'm a new model.",
'token': 3525,
'token_str': 'new'},
{'score': 0.033413201570510864,
'sequence': "Hello I'm a model model.",
'token': 3299,
'token_str': 'model'},
{'score': 0.030217764899134636,
'sequence': "Hello I'm a French model.",
'token': 92265,
'token_str': 'French'},
{'score': 0.026436051353812218,
'sequence': "Hello I'm a sexy model.",
'token': 17473,
'token_str': 'sexy'}]
高级用法
以下是如何在PyTorch中使用此模型获取给定文本的特征:
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained('xlm-roberta-base')
model = AutoModelForMaskedLM.from_pretrained("xlm-roberta-base")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
📚 详细文档
模型描述
XLM-RoBERTa是RoBERTa的多语言版本,在包含100种语言的2.5TB过滤后的CommonCrawl数据上进行了预训练。RoBERTa是一个以自监督方式在大型语料库上进行预训练的transformers模型,即仅在原始文本上进行预训练,没有人工对其进行任何标注(因此可以使用大量公开可用的数据),并通过自动过程从这些文本中生成输入和标签。
更准确地说,它是通过掩码语言建模(MLM)目标进行预训练的。对于一个句子,模型会随机掩码输入中15%的单词,然后将整个掩码后的句子输入模型,并预测被掩码的单词。这与传统的循环神经网络(RNNs)通常逐个处理单词不同,也与像GPT这样的自回归模型在内部掩码未来标记不同。这使得模型能够学习句子的双向表示。
通过这种方式,模型学习到100种语言的内部表示,这些表示可用于提取对下游任务有用的特征。例如,如果你有一个标注好的句子数据集,你可以使用XLM-RoBERTa模型生成的特征作为输入,训练一个标准的分类器。
预期用途和限制
你可以使用原始模型进行掩码语言建模,但它主要用于在下游任务中进行微调。请参阅模型中心,查找针对你感兴趣的任务进行微调的版本。
请注意,此模型主要旨在针对使用整个句子(可能是掩码后的句子)进行决策的任务进行微调,如序列分类、标记分类或问答。对于文本生成等任务,你应该考虑像GPT2这样的模型。
🔧 技术细节
预训练目标
XLM-RoBERTa通过掩码语言建模(MLM)目标进行预训练,随机掩码输入中15%的单词,然后预测这些被掩码的单词,从而学习句子的双向表示。
训练数据
在包含100种语言的2.5TB过滤后的CommonCrawl数据上进行预训练。
引用信息
@article{DBLP:journals/corr/abs-1911-02116,
author = {Alexis Conneau and
Kartikay Khandelwal and
Naman Goyal and
Vishrav Chaudhary and
Guillaume Wenzek and
Francisco Guzm{\'{a}}n and
Edouard Grave and
Myle Ott and
Luke Zettlemoyer and
Veselin Stoyanov},
title = {Unsupervised Cross-lingual Representation Learning at Scale},
journal = {CoRR},
volume = {abs/1911.02116},
year = {2019},
url = {http://arxiv.org/abs/1911.02116},
eprinttype = {arXiv},
eprint = {1911.02116},
timestamp = {Mon, 11 Nov 2019 18:38:09 +0100},
biburl = {https://dblp.org/rec/journals/corr/abs-1911-02116.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
📄 许可证
此模型遵循MIT许可证。