模型:

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

英文

WMT 21 En-X

WMT 21 En-X 是一个4.7B的多语言编码器-解码器(序列到序列)模型,用于一对多的多语言翻译。它是在这个 paper 中介绍的,并首次在这个 this 仓库中发布。

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

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

注意: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-en-x")
tokenizer = AutoTokenizer.from_pretrained("facebook/wmt21-dense-24-wide-en-x")

inputs = tokenizer("wmtdata newsdomain One model for many languages.", return_tensors="pt")

# translate English to German
generated_tokens = model.generate(**inputs, forced_bos_token_id=tokenizer.get_lang_id("de"))
tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
# => "Ein Modell für viele Sprachen."

# translate English to Icelandic
generated_tokens = model.generate(**inputs, forced_bos_token_id=tokenizer.get_lang_id("is"))
tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
# => "Ein fyrirmynd fyrir mörg tungumál."

请参考 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},
}