🚀 M2M100 1.2B
M2M100は、多言語間翻訳のために訓練された多言語エンコーダ・デコーダ(seq-to-seq)モデルです。
このモデルは、この論文で紹介され、このリポジトリで最初に公開されました。
このモデルは、100言語間の9,900方向の翻訳を直接行うことができます。
🚀 クイックスタート
M2M100は、多言語翻訳を目的として訓練された多言語エンコーダ・デコーダ(seq-to-seq)モデルです。このモデルは、100言語間の9,900方向の翻訳を直接行うことができます。目的言語に翻訳するには、目的言語のIDを最初に生成されるトークンとして強制する必要があります。そのためには、generate
メソッドにforced_bos_token_id
パラメータを渡します。
✨ 主な機能
- 100言語間の9,900方向の翻訳を直接行うことができます。
- 目的言語のIDを最初に生成されるトークンとして強制することで、目的言語への翻訳が可能です。
📦 インストール
M2M100Tokenizer
はsentencepiece
に依存しているため、サンプルを実行する前にインストールする必要があります。
sentencepiece
をインストールするには、以下のコマンドを実行します。
pip install sentencepiece
💻 使用例
基本的な使用法
from transformers import M2M100ForConditionalGeneration, M2M100Tokenizer
hi_text = "जीवन एक चॉकलेट बॉक्स की तरह है।"
chinese_text = "生活就像一盒巧克力。"
model = M2M100ForConditionalGeneration.from_pretrained("facebook/m2m100_1.2B")
tokenizer = M2M100Tokenizer.from_pretrained("facebook/m2m100_1.2B")
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)
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)
高度な使用法
目的言語のIDを最初に生成されるトークンとして強制するには、generate
メソッドにforced_bos_token_id
パラメータを渡します。
📚 ドキュメント
詳細なモデル情報や微調整されたバージョンについては、モデルハブを参照してください。
📄 ライセンス
このプロジェクトはMITライセンスの下で提供されています。
サポートされる言語
アフリカーンス語 (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)、オック語 (1500年以降) (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)
BibTeXエントリと引用情報
@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}
}
⚠️ 重要提示
M2M100Tokenizer
はsentencepiece
に依存しているため、サンプルを実行する前にインストールする必要があります。
💡 使用建议
目的言語に翻訳するには、目的言語のIDを最初に生成されるトークンとして強制する必要があります。そのためには、generate
メソッドにforced_bos_token_id
パラメータを渡します。