🚀 mBART-50
mBART-50 是一个多语言序列到序列模型,通过“多语言去噪预训练”目标进行预训练。它在 Multilingual Translation with Extensible Multilingual Pretraining and Finetuning 论文中被提出,可用于创建多语言翻译模型。
🚀 快速开始
mbart-large-50
是预训练模型,主要用于在翻译任务上进行微调,也能在其他多语言序列到序列任务上进行微调。你可以在 模型中心 查找微调版本。
以下是使用示例:
from transformers import MBartForConditionalGeneration, MBart50TokenizerFast
model = MBartForConditionalGeneration.from_pretrained("facebook/mbart-large-50")
tokenizer = MBart50TokenizerFast.from_pretrained("facebook/mbart-large-50", src_lang="en_XX", tgt_lang="ro_RO")
src_text = " UN Chief Says There Is No Military Solution in Syria"
tgt_text = "Şeful ONU declară că nu există o soluţie militară în Siria"
model_inputs = tokenizer(src_text, return_tensors="pt")
with tokenizer.as_target_tokenizer():
labels = tokenizer(tgt_text, return_tensors="pt").input_ids
model(**model_inputs, labels=labels)
✨ 主要特性
- 多语言支持:mBART-50 在原始 mBART 模型基础上进行扩展,支持 50 种语言的多语言机器翻译。
- 多语言微调:通过多语言微调创建多语言翻译模型,可同时在多个方向上对预训练模型进行微调。
- 多语言去噪预训练:采用特殊的去噪预训练目标,对源文档进行噪声处理,然后让模型重构原始文本。
📚 详细文档
模型描述
mBART-50 是一个多语言序列到序列模型,旨在展示可以通过多语言微调创建多语言翻译模型。与在单一方向上进行微调不同,它会同时在多个方向上对预训练模型进行微调。mBART-50 基于原始 mBART 模型创建,并扩展支持了额外的 25 种语言,从而实现 50 种语言的多语言机器翻译。下面将解释其预训练目标。
多语言去噪预训练:该模型通过连接数据来整合 N 种语言:D = {D1, ..., DN }
,其中每个 Di 是语言 i
的单语文档集合。源文档使用两种方案进行噪声处理:一是随机打乱原始句子的顺序;二是一种新颖的填充方案,即将文本片段替换为单个掩码标记。然后,模型的任务是重构原始文本。根据泊松分布 (λ = 3.5)
随机采样片段长度,对每个实例的 35% 的单词进行掩码处理。解码器输入是偏移一个位置的原始文本。使用语言 id 符号 LID
作为初始标记来预测句子。
预期用途和限制
mbart-large-50
是预训练模型,主要用于在翻译任务上进行微调,也可在其他多语言序列到序列任务上进行微调。你可以在 模型中心 查找微调版本。
训练
由于该模型是多语言的,它期望序列采用不同的格式。在源文本和目标文本中,都使用特殊的语言 id 标记作为前缀。文本格式为 [lang_code] X [eos]
,其中 X
分别是源文本或目标文本,lang_code
对于源文本是 source_lang_code
,对于目标文本是 tgt_lang_code
。bos
从不使用。一旦示例以这种格式准备好,就可以像训练其他序列到序列模型一样对其进行训练。
支持的语言
阿拉伯语 (ar_AR)、捷克语 (cs_CZ)、德语 (de_DE)、英语 (en_XX)、西班牙语 (es_XX)、爱沙尼亚语 (et_EE)、芬兰语 (fi_FI)、法语 (fr_XX)、古吉拉特语 (gu_IN)、印地语 (hi_IN)、意大利语 (it_IT)、日语 (ja_XX)、哈萨克语 (kk_KZ)、韩语 (ko_KR)、立陶宛语 (lt_LT)、拉脱维亚语 (lv_LV)、缅甸语 (my_MM)、尼泊尔语 (ne_NP)、荷兰语 (nl_XX)、罗马尼亚语 (ro_RO)、俄语 (ru_RU)、僧伽罗语 (si_LK)、土耳其语 (tr_TR)、越南语 (vi_VN)、中文 (zh_CN)、南非荷兰语 (af_ZA)、阿塞拜疆语 (az_AZ)、孟加拉语 (bn_IN)、波斯语 (fa_IR)、希伯来语 (he_IL)、克罗地亚语 (hr_HR)、印尼语 (id_ID)、格鲁吉亚语 (ka_GE)、高棉语 (km_KH)、马其顿语 (mk_MK)、马拉雅拉姆语 (ml_IN)、蒙古语 (mn_MN)、马拉地语 (mr_IN)、波兰语 (pl_PL)、普什图语 (ps_AF)、葡萄牙语 (pt_XX)、瑞典语 (sv_SE)、斯瓦希里语 (sw_KE)、泰米尔语 (ta_IN)、泰卢固语 (te_IN)、泰语 (th_TH)、他加禄语 (tl_XX)、乌克兰语 (uk_UA)、乌尔都语 (ur_PK)、科萨语 (xh_ZA)、加利西亚语 (gl_ES)、斯洛文尼亚语 (sl_SI)
BibTeX 引用和引用信息
@article{tang2020multilingual,
title={Multilingual Translation with Extensible Multilingual Pretraining and Finetuning},
author={Yuqing Tang and Chau Tran and Xian Li and Peng-Jen Chen and Naman Goyal and Vishrav Chaudhary and Jiatao Gu and Angela Fan},
year={2020},
eprint={2008.00401},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
📄 许可证
本项目采用 MIT 许可证。