xlm-roberta-base
简介
XLM-RoBERTa模型在包含100种语言的2.5TB过滤CommonCrawl数据上进行了预训练。该模型由Conneau等人在论文《大规模无监督跨语言表示学习》中提出,并首次在此仓库中发布。
模型卡片
模型配置
模型详情
已翻译XLM-RoBERTa (base-sized model)
XLM-RoBERTa 模型在包含 100 种语言的 2.5TB 过滤 CommonCrawl 数据上进行了预训练。该模型由 Conneau 等人在论文 Unsupervised Cross-lingual Representation Learning at Scale 中提出,并首次发布于 此仓库。
免责声明:发布 XLM-RoBERTa 的团队并未为该模型编写 model card,因此本 model card 由 Hugging Face 团队编写。
模型描述
XLM-RoBERTa 是 RoBERTa 的多语言版本。它在包含 100 种语言的 2.5TB 过滤 CommonCrawl 数据上进行了预训练。
RoBERTa 是一个 transformer 模型,以自监督方式在大规模语料库上进行了预训练。这意味着它仅基于原始文本进行预训练,没有任何人工标注(因此可以使用大量公开数据),并通过自动过程从这些文本生成输入和标签。
更准确地说,它是以掩码语言建模(MLM)为目标进行预训练的。给定一个句子,模型会随机遮蔽输入中 15% 的单词,然后将整个被遮蔽的句子输入模型,并预测被遮蔽的单词。这与传统的循环神经网络(RNN)不同,后者通常逐个处理单词;也与 GPT 等自回归模型不同,后者会在内部遮蔽未来的 token。这种方式使模型能够学习句子的双向表示。
通过这种方式,模型学习了 100 种语言的内部表示,可用于提取对下游任务有用的特征:例如,如果你有一个带标签的句子数据集,你可以使用 XLM-RoBERTa 模型产生的特征作为输入来训练一个标准分类器。
预期用途与限制
你可以使用原始模型进行掩码语言建模,但其主要目的是在下游任务上进行微调。请查看 model hub 寻找你感兴趣任务的微调版本。
请注意,该模型主要面向需要利用整个句子(可能被遮蔽)进行决策的任务进行微调,例如序列分类、token 分类或问答。对于文本生成等任务,你应该考虑使用 GPT2 等模型。
使用方法
你可以直接使用此模型通过 pipeline 进行掩码语言建模:
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='xlm-roberta-base')
>>> unmasker("Hello I'm a 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")
# prepare input
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
# forward pass
output = model(**encoded_input)
BibTeX 条目与引用信息
@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}
}
正在翻译中,请稍候...
标签
操作
详细信息
- 厂商
- FacebookAI
- 任务
- fill-mask
- 框架
- transformers
- 模型类型
- xlm-roberta
- 许可(HF)
- mit
- 语言
- multilingual, af, am, ar, as, az, be, bg, bn, br, bs, ca, cs, cy, da, de, el, en, eo, es, et, eu, fa, fi, fr, fy, ga, gd, gl, gu, ha, he, hi, hr, hu, hy, id, is, it, ja, jv, ka, kk, km, kn, ko, ku, ky, la, lo, lt, lv, mg, mk, ml, mn, mr, ms, my, ne, nl, no, om, or, pa, pl, ps, pt, ro, ru, sa, sd, si, sk, sl, so, sq, sr, su, sv, sw, ta, te, th, tl, tr, ug, uk, ur, uz, vi, xh, yi, zh