模型:
optimum/m2m100_418M
M2M100 是一个为多对多多语言翻译训练的编码器-解码器(序列到序列)模型。它在这个 paper 中被提出,并首次在这个 this 中发布。
这个模型可以直接在 100 种语言之间进行翻译的 9,900 种方向。要翻译成目标语言,需要将目标语言的id作为第一个生成的标记。要将目标语言的id作为第一个生成的标记,请将 forced_bos_token_id 参数传递给 generate 方法。
注意:M2M100Tokenizer 依赖于 sentencepiece,因此在运行示例之前请确保先安装它。
要安装 sentencepiece,请运行 pip install sentencepiece
from transformers import AutoConfig, AutoTokenizer from optimum.onnxruntime import ORTModelForSeq2SeqLM from optimum.pipelines import pipeline hi_text = "जीवन एक चॉकलेट बॉक्स की तरह है।" chinese_text = "生活就像一盒巧克力。" model = ORTModelForSeq2SeqLM.from_pretrained("optimum/m2m100_418M") tokenizer = AutoTokenizer.from_pretrained("optimum/m2m100_418M") # translate Hindi to French tokenizer.src_lang = "hi" encoded_hi = tokenizer(hi_text, return_tensors="pt") generated_tokens = model.generate(**encoded_hi, forced_bos_token_id=tokenizer.get_lang_id("fr")) tokenizer.batch_decode(generated_tokens, skip_special_tokens=True) # => "La vie est comme une boîte de chocolat." # translate Chinese to English tokenizer.src_lang = "zh" encoded_zh = tokenizer(chinese_text, return_tensors="pt") generated_tokens = model.generate(**encoded_zh, forced_bos_token_id=tokenizer.get_lang_id("en")) tokenizer.batch_decode(generated_tokens, skip_special_tokens=True) # => "Life is like a box of chocolate."
查看 model hub 以查找更多经过优化的版本。
南非荷兰语 (af)、阿姆哈拉语 (am)、阿拉伯语 (ar)、阿斯图里亚斯语 (ast)、阿塞拜疆语 (az)、巴什基尔语 (ba)、白俄罗斯语 (be)、保加利亚语 (bg)、孟加拉语 (bn)、布列塔尼语 (br)、波斯尼亚语 (bs)、加泰罗尼亚语;瓦伦西亚语 (ca)、宿务语 (ceb)、捷克语 (cs)、威尔士语 (cy)、丹麦语 (da)、德语 (de)、希腊语 (el)、英语 (en)、西班牙语 (es)、爱沙尼亚语 (et)、波斯语 (fa)、富拉语 (ff)、芬兰语 (fi)、法语 (fr)、西弗里斯语 (fy)、爱尔兰语 (ga)、苏格兰盖尔语 (gd)、加利西亚语 (gl)、古吉拉特语 (gu)、豪萨语 (ha)、希伯来语 (he)、印地语 (hi)、克罗地亚语 (hr)、海地克里奥尔语 (ht)、匈牙利语 (hu)、亚美尼亚语 (hy)、印度尼西亚语 (id)、伊博语 (ig)、伊洛科语 (ilo)、冰岛语 (is)、意大利语 (it)、日语 (ja)、爪哇语 (jv)、格鲁吉亚语 (ka)、哈萨克语 (kk)、中央高棉语 (km)、卡纳达语 (kn)、韩语 (ko)、卢森堡语;卢森堡语 (lb)、干达语 (lg)、林加拉语 (ln)、老挝语 (lo)、立陶宛语 (lt)、拉脱维亚语 (lv)、马达加斯加语 (mg)、马其顿语 (mk)、马拉雅拉姆语 (ml)、蒙古语 (mn)、马拉地语 (mr)、马来语 (ms)、缅甸语 (my)、尼泊尔语 (ne)、荷兰语;弗拉芒语 (nl)、挪威语 (no)、北索托语 (ns)、奥克西唐语 (oc)、奥里亚语 (or)、旁遮普语;旁遮普语 (pa)、波兰语 (pl)、普什图语;普什图语 (ps)、葡萄牙语 (pt)、罗马尼亚语;摩尔达维亚语;摩尔多瓦语 (ro)、俄语 (ru)、信德语 (sd)、僧伽罗语;僧加罗语 (si)、斯洛伐克语 (sk)、斯洛文尼亚语 (sl)、索马里语 (so)、阿尔巴尼亚语 (sq)、塞尔维亚语 (sr)、斯瓦特语 (ss)、巽他语 (su)、瑞典语 (sv)、斯瓦希里语 (sw)、泰米尔语 (ta)、泰语 (th)、塔加洛语 (tl)、茨瓦纳语 (tn)、土耳其语 (tr)、乌克兰语 (uk)、乌尔都语 (ur)、乌兹别克语 (uz)、越南语 (vi)、沃洛夫语 (wo)、科萨语 (xh)、意第绪语 (yi)、约鲁巴语 (yo)、中文 (zh)、祖鲁语 (zu)
@misc{fan2020englishcentric, title={Beyond English-Centric Multilingual Machine Translation}, author={Angela Fan and Shruti Bhosale and Holger Schwenk and Zhiyi Ma and Ahmed El-Kishky and Siddharth Goyal and Mandeep Baines and Onur Celebi and Guillaume Wenzek and Vishrav Chaudhary and Naman Goyal and Tom Birch and Vitaliy Liptchinsky and Sergey Edunov and Edouard Grave and Michael Auli and Armand Joulin}, year={2020}, eprint={2010.11125}, archivePrefix={arXiv}, primaryClass={cs.CL} }