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