模型:

facebook/wmt21-dense-24-wide-x-en

英文

WMT 21 X-En

WMT 21 X-En 是一个训练用于一对多多语种翻译的4.7B多语言编码器-解码器(seq-to-seq)模型。该模型是在 paper 中介绍并首次在 this 代码库中发布的。

该模型可以直接翻译7种语言的文本:豪萨语(ha)、冰岛语(is)、日语(ja)、捷克语(cs)、俄语(ru)、中文(zh)、德语(de)到英语。

要翻译成目标语言,必须将目标语言的标识强制设为生成的第一个标记。要将目标语言的标识强制设为生成的第一个标记,将 forced_bos_token_id 参数传递给 generate 方法。

注意: M2M100Tokenizer 依赖于 sentencepiece ,因此在运行示例之前,请确保先安装 sentencepiece 。要安装 sentencepiece,请运行 pip install sentencepiece

由于模型是使用领域标签进行训练的,因此您还应将它们添加到输入之前。

  • "wmtdata newsdomain":用于新闻领域的句子
  • "wmtdata otherdomain":用于其他领域的句子
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer

model = AutoModelForSeq2SeqLM.from_pretrained("facebook/wmt21-dense-24-wide-x-en")
tokenizer = AutoTokenizer.from_pretrained("facebook/wmt21-dense-24-wide-x-en")

# translate German to English
tokenizer.src_lang = "de"
inputs = tokenizer("wmtdata newsdomain Ein Modell für viele Sprachen", return_tensors="pt")
generated_tokens = model.generate(**inputs)
tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
# => "A model for many languages"

# translate Icelandic to English
tokenizer.src_lang = "is"
inputs = tokenizer("wmtdata newsdomain Ein fyrirmynd fyrir mörg tungumál", return_tensors="pt")
generated_tokens = model.generate(**inputs)
tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
# => "One model for many languages"

查看 model hub 以寻找更多微调版本。

支持的语言

英语(en)、豪萨语(ha)、冰岛语(is)、日语(ja)、捷克语(cs)、俄语(ru)、中文(zh)、德语(de)

BibTeX 条目和引用信息

@inproceedings{tran2021facebook
  title={Facebook AI’s WMT21 News Translation Task Submission},
  author={Chau Tran and Shruti Bhosale and James Cross and Philipp Koehn and Sergey Edunov and Angela Fan},
  booktitle={Proc. of WMT},
  year={2021},
}