🚀 mBART-50
mBART-50は、「多言語ノイズ除去事前学習」の目的で事前学習された多言語シーケンス-to-シーケンスモデルです。このモデルは、Multilingual Translation with Extensible Multilingual Pretraining and Finetuningという論文で紹介されました。
🚀 クイックスタート
mbart-large-50
は事前学習済みモデルで、主に翻訳タスクでのファインチューニングを目的としています。また、他の多言語シーケンス-to-シーケンスタスクでもファインチューニングすることができます。ファインチューニングされたバージョンを探すには、モデルハブを参照してください。
✨ 主な機能
mBART-50は多言語シーケンス-to-シーケンスモデルです。多言語のファインチューニングによって多言語翻訳モデルを作成できることを示すために導入されました。一方向でのファインチューニングではなく、事前学習されたモデルが多方向で同時にファインチューニングされます。mBART-50は、元のmBARTモデルを使用して作成され、さらに25の言語が追加され、50言語の多言語機械翻訳モデルをサポートするように拡張されています。事前学習の目的については以下で説明します。
🔧 技術詳細
多言語ノイズ除去事前学習
モデルは、データを連結することでN言語を組み込みます。D = {D1, ..., DN }
ここで、各Diは言語 i
の単言語文書のコレクションです。ソース文書は、2つのスキームを使用してノイズが加えられます。1つ目は、元の文の順序をランダムにシャッフルすること、2つ目は、新しいインフィリングスキームで、テキストのスパンが単一のマスクトークンに置き換えられます。その後、モデルは元のテキストを再構築するタスクを行います。各インスタンスの単語の35%は、ポアソン分布 (λ = 3.5)
に従ってスパンの長さをランダムにサンプリングすることでマスクされます。デコーダの入力は、1つの位置オフセットを持つ元のテキストです。言語IDシンボル LID
は、文を予測するための最初のトークンとして使用されます。
学習
モデルは多言語であるため、シーケンスを異なる形式で期待します。特殊な言語IDトークンが、ソーステキストとターゲットテキストの両方の接頭辞として使用されます。テキスト形式は [lang_code] X [eos]
で、X
はそれぞれソースまたはターゲットテキストで、lang_code
はソーステキストの場合は source_lang_code
、ターゲットテキストの場合は tgt_lang_code
です。bos
は使用されません。この形式でサンプルが準備されると、他のシーケンス-to-シーケンスモデルと同じように学習することができます。
💻 使用例
基本的な使用法
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)
📦 サポート言語
アラビア語 (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)
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
📚 引用情報
@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}
}