模型:
facebook/wmt21-dense-24-wide-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
由于模型是使用领域标签进行训练的,因此您还应将它们添加到输入之前。
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)
@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}, }