🚀 XLM-RoBERTa-XL(超大型模型)
XLM-RoBERTa-XL 模型在包含 100 种语言的 2.5TB 过滤后的 CommonCrawl 数据上进行了预训练。该模型由 Naman Goyal、Jingfei Du、Myle Ott、Giri Anantharaman、Alexis Conneau 等人在论文 Larger-Scale Transformers for Multilingual Masked Language Modeling 中提出,并首次在 此仓库 发布。
声明:发布 XLM-RoBERTa-XL 的团队并未为此模型撰写模型卡片,本模型卡片由 Hugging Face 团队编写。
✨ 主要特性
- 多语言支持:支持多达 100 种语言,包括英语、中文、法语、德语等。
- 大规模预训练:在 2.5TB 的过滤后 CommonCrawl 数据上进行预训练,学习到丰富的语言知识。
- 双向表示学习:采用掩码语言模型(MLM)目标进行预训练,能够学习句子的双向表示。
📚 详细文档
模型描述
XLM-RoBERTa-XL 是 RoBERTa 的超大型多语言版本,在包含 100 种语言的 2.5TB 过滤后的 CommonCrawl 数据上进行预训练。
RoBERTa 是一种以自监督方式在大型语料库上进行预训练的 Transformer 模型。这意味着它仅在原始文本上进行预训练,无需人工进行任何标注(因此可以使用大量公开可用的数据),并通过自动过程从这些文本中生成输入和标签。
更准确地说,它以掩码语言模型(MLM)为目标进行预训练。对于一个句子,模型会随机掩码输入中 15% 的单词,然后将整个掩码后的句子输入模型,并预测被掩码的单词。这与传统的循环神经网络(RNN)不同,RNN 通常逐个处理单词;也与像 GPT 这样的自回归模型不同,GPT 会在内部掩码未来的标记。这种方式使模型能够学习句子的双向表示。
通过这种方式,模型学习到 100 种语言的内部表示,这些表示可用于提取对下游任务有用的特征:例如,如果您有一个标注好的句子数据集,您可以使用 XLM-RoBERTa-XL 模型生成的特征作为输入,训练一个标准的分类器。
预期用途和限制
您可以使用原始模型进行掩码语言建模,但它主要用于在下游任务上进行微调。请查看 模型中心,查找针对您感兴趣的任务进行微调后的版本。
请注意,此模型主要旨在针对使用整个句子(可能是掩码后的句子)进行决策的任务进行微调,例如序列分类、标记分类或问答任务。对于文本生成等任务,您应该考虑使用像 GPT2 这样的模型。
💻 使用示例
基础用法
您可以直接使用此模型进行掩码语言建模:
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='facebook/xlm-roberta-xxl')
>>> unmasker("Europe is a <mask> continent.")
[{'score': 0.22996895015239716,
'token': 28811,
'token_str': 'European',
'sequence': 'Europe is a European continent.'},
{'score': 0.14307449758052826,
'token': 21334,
'token_str': 'large',
'sequence': 'Europe is a large continent.'},
{'score': 0.12239163368940353,
'token': 19336,
'token_str': 'small',
'sequence': 'Europe is a small continent.'},
{'score': 0.07025063782930374,
'token': 18410,
'token_str': 'vast',
'sequence': 'Europe is a vast continent.'},
{'score': 0.032869212329387665,
'token': 6957,
'token_str': 'big',
'sequence': 'Europe is a big continent.'}]
高级用法
以下是如何在 PyTorch 中使用此模型获取给定文本的特征:
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained('facebook/xlm-roberta-xxl')
model = AutoModelForMaskedLM.from_pretrained("facebook/xlm-roberta-xxl")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
BibTeX 引用和引用信息
@article{DBLP:journals/corr/abs-2105-00572,
author = {Naman Goyal and
Jingfei Du and
Myle Ott and
Giri Anantharaman and
Alexis Conneau},
title = {Larger-Scale Transformers for Multilingual Masked Language Modeling},
journal = {CoRR},
volume = {abs/2105.00572},
year = {2021},
url = {https://arxiv.org/abs/2105.00572},
eprinttype = {arXiv},
eprint = {2105.00572},
timestamp = {Wed, 12 May 2021 15:54:31 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2105-00572.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
📄 许可证
本模型采用 MIT 许可证。
属性 |
详情 |
支持语言 |
多语言,包括 af、am、ar 等 100 种语言 |
许可证 |
MIT |