🚀 M2M100 418M
M2M100は、多言語間翻訳のために学習された多言語エンコーダ・デコーダ(seq-to-seq)モデルです。
このモデルは、この論文で紹介され、最初はこのリポジトリで公開されました。
このモデルは、100言語の9,900方向の言語間を直接翻訳することができます。
目的言語に翻訳するには、目的言語IDを最初に生成されるトークンとして強制的に指定します。
目的言語IDを最初に生成されるトークンとして強制的に指定するには、generate
メソッドにforced_bos_token_id
パラメータを渡します。
注意: M2M100Tokenizer
はsentencepiece
に依存しているため、サンプルを実行する前にインストールしてください。
sentencepiece
をインストールするには、pip install sentencepiece
を実行します。
🚀 クイックスタート
インストール
sentencepiece
をインストールするには、以下のコマンドを実行します。
pip install sentencepiece
使用例
from transformers import M2M100ForConditionalGeneration, M2M100Tokenizer
hi_text = "जीवन एक चॉकलेट बॉक्स की तरह है।"
chinese_text = "生活就像一盒巧克力。"
model = M2M100ForConditionalGeneration.from_pretrained("facebook/m2m100_418M")
tokenizer = M2M100Tokenizer.from_pretrained("facebook/m2m100_418M")
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)
注意事項
⚠️ 重要提示
M2M100Tokenizer
はsentencepiece
に依存しているため、サンプルを実行する前にインストールしてください。
📚 ドキュメント
カバーされる言語
アフリカーンス語 (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}
}
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。