🚀 MITRE 913M
MITRE (Multilingual Translation with Registers) は、多言語間の翻訳タスクに特化した多言語対応のデコーダー専用モデルです。この技術(登録技術)については、こちらの論文で詳しく解説されています。このリポジトリでは、事前学習済みモデルを使った推論を行うことができます。データマイニングと学習を再現したい場合は、こちらのリポジトリを参照してください。
このモデルは、5つの語族にまたがる24言語間で552方向の直接翻訳をサポートしています。transformers
ライブラリを使って、直接モデルを利用することができます。また、466MパラメータのMITREの代替バージョンも、こちらのリポジトリで利用可能です。
🚀 クイックスタート
トークナイザーの取得
トークナイザーを取得する前に、まず pip install sentencepiece
を実行してください。以下のコードでトークナイザーとモデルを簡単に呼び出すことができます。
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("naist-nlp/mitre_913m", trust_remote_code=True, use_fast=False)
model = AutoModel.from_pretrained("naist-nlp/mitre_913m", trust_remote_code=True)
ローカルでの使用
このモデルをローカルで使用し、コードを確認するには、このハブをクローンしてから以下のコードを実行します。
from mitre_913m.tokenization_mitre import MitreTokenizer
from mitre_913m.modeling_mitre import MitreForConditionalGeneration
tokenizer = MitreTokenizer.from_pretrained("mitre_913m")
model = MitreForConditionalGeneration.from_pretrained("mitre_913m")
翻訳の実行
モデルとトークナイザーのオブジェクトを取得した後、以下のコードで翻訳を行うことができます。
english_text = "I have a red apple."
chinese_text = "我有一个红苹果。"
model.half()
model.eval()
src_tokens = tokenizer.encode_source_tokens_to_input_ids([english_text, ], target_language="zh")
generated_tokens = model.generate(src_tokens.cuda())
results = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
print(results)
✨ 主な機能
- 多言語対応:24言語間で552方向の直接翻訳をサポート。
- 事前学習済みモデル:
transformers
ライブラリを使って簡単に利用可能。
- 代替バージョン:466Mパラメータの代替バージョンも利用可能。
🔧 技術詳細
基本的には M2M のスタイルに沿っていますが、生成コストを削減するために必要な改良を加えています。詳細については、modeling_mitre.py の generate()
のコードを参照してください。また、FlashAttention V2 を実装してモデルをさらに高速化する予定です。
📚 ドキュメント
対応言語
- ゲルマン語族:英語 (en)、ドイツ語 (de)、オランダ語; フラマン語 (nl)、スウェーデン語 (sv)、デンマーク語 (da)、アフリカーンス語 (af)
- ロマンス語族:フランス語 (fr)、スペイン語 (es)、イタリア語 (it)、ポルトガル語 (pt)、ルーマニア語; モルダヴァ語; モルドバ語 (ro)
- スラブ語族:ロシア語 (ru)、チェコ語 (cs)、ポーランド語 (pl)、ブルガリア語 (bg)、ウクライナ語 (uk)
- マレー・ポリネシア語族:インドネシア語 (id)、マレー語 (ms)、ジャワ語 (jv)、タガログ語; フィリピン語 (tl)
- アジア語族:中国語 (zh)、日本語 (ja)、韓国語 (ko)、ベトナム語 (vi)
BibTeXエントリと引用情報
@misc{qu2025registeringsourcetokenstarget,
title={Registering Source Tokens to Target Language Spaces in Multilingual Neural Machine Translation},
author={Zhi Qu and Yiran Wang and Jiannan Mao and Chenchen Ding and Hideki Tanaka and Masao Utiyama and Taro Watanabe},
year={2025},
eprint={2501.02979},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2501.02979},
}
📄 ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。