モデル概要
モデル特徴
モデル能力
使用事例
🚀 MultiSlav BiDi モデル
BiDiは、文レベルの機械翻訳タスクで学習されたエンコーダー・デコーダー型のバニラトランスフォーマーモデルのコレクションです。各モデルは双方向翻訳をサポートしています。
✨ 主な機能
Multilingual BiDi MT モデル
BiDi は、文レベルの機械翻訳タスクで学習されたエンコーダー・デコーダー型のバニラトランスフォーマーモデルのコレクションです。各モデルは双方向翻訳をサポートしています。
BiDi モデルは MultiSlav コレクション の一部です。詳細な情報は、近日公開される MultiSlav 論文で提供されます。
実験は、Allegro.com の Machine Learning Research ラボによる研究プロジェクトの一環として行われました。研究における協力に laniqo.com に感謝します。
上のグラフは、BiDi モデルの一例である BiDi-ces-pol を用いてポーランド語からチェコ語への翻訳を行う例を示しています。BiDi-ces-pol は、チェコ語からポーランド語 および ポーランド語からチェコ語 の両方向の翻訳をサポートする双方向モデルです。
サポートされる言語
BiDi モデルを使用するには、翻訳のターゲット言語を指定する必要があります。ターゲット言語トークンは、>>xxx<< の形式で埋め込まれた3文字の ISO 639-3 言語コードで表されます。すべての受け付けられる方向とそれぞれのトークンを以下に示します。各モデルでは、2つの方向のみが利用可能です。それぞれが Sentence-Piece トークナイザーに特殊トークンとして追加されています。
ターゲット言語 | 最初のトークン |
---|---|
チェコ語 | >>ces<< |
英語 | >>eng<< |
ポーランド語 | >>pol<< |
スロバキア語 | >>slk<< |
スロベニア語 | >>slv<< |
利用可能な Bi-Di モデル
10種類の BiDi モデルを提供しており、20の言語間の翻訳が可能です。
Bi-Di モデル | サポートされる言語 | HF リポジトリ |
---|---|---|
BiDi-ces-eng | チェコ語 ↔ 英語 | allegro/BiDi-ces-eng |
BiDi-ces-pol | チェコ語 ↔ ポーランド語 | allegro/BiDi-ces-pol |
BiDi-ces-slk | チェコ語 ↔ スロバキア語 | allegro/BiDi-ces-slk |
BiDi-ces-slv | チェコ語 ↔ スロベニア語 | allegro/BiDi-ces-slv |
BiDi-eng-pol | 英語 ↔ ポーランド語 | allegro/BiDi-eng-pol |
BiDi-eng-slk | 英語 ↔ スロバキア語 | allegro/BiDi-eng-slk |
BiDi-eng-slv | 英語 ↔ スロベニア語 | allegro/BiDi-eng-slv |
BiDi-pol-slk | ポーランド語 ↔ スロバキア語 | allegro/BiDi-pol-slk |
BiDi-pol-slv | ポーランド語 ↔ スロベニア語 | allegro/BiDi-pol-slv |
BiDi-slk-slv | スロバキア語 ↔ スロベニア語 | allegro/BiDi-slk-slv |
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, MarianMTModel
source_lang = "pol"
target_lang = "ces"
first_lang, second_lang = sorted([source_lang, target_lang])
model_name = f"Allegro/BiDi-{first_lang}-{second_lang}"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = MarianMTModel.from_pretrained(model_name)
text = f">>{target_lang}<<" + " " + "Allegro to internetowa platforma e-commerce, na której swoje produkty sprzedają średnie i małe firmy, jak również duże marki."
batch_to_translate = [text]
translations = model.generate(**tokenizer.batch_encode_plus(batch_to_translate, return_tensors="pt"))
decoded_translation = tokenizer.batch_decode(translations, skip_special_tokens=True, clean_up_tokenization_spaces=True)[0]
print(decoded_translation)
生成されたチェコ語の出力:
Allegro je online e-commerce platforma, na které své výrobky prodávají střední a malé firmy, stejně jako velké značky.
🔧 技術詳細
トレーニング
SentencePiece トークナイザーの語彙サイズは合計32k(言語ごとに16k)です。トークナイザーは、トレーニングコーパスのランダムサンプリング部分で学習されました。トレーニング中は MarianNMT フレームワークを使用しました。使用された基本的な Marian 構成は transfromer-big です。すべてのトレーニングパラメータを以下の表に示します。
トレーニングハイパーパラメータ:
ハイパーパラメータ | 値 |
---|---|
総パラメータサイズ | 209M |
語彙サイズ | 32k |
基本パラメータ | Marian transfromer-big |
エンコーディングレイヤー数 | 6 |
デコーディングレイヤー数 | 6 |
モデル次元 | 1024 |
FF 次元 | 4096 |
ヘッド数 | 16 |
ドロップアウト | 0.1 |
バッチサイズ | VRAM に収まるミニバッチ |
トレーニングアクセラレータ | 4x A100 40GB |
最大長 | 100 トークン |
オプティマイザー | Adam |
ウォームアップステップ | 8000 |
コンテキスト | 文レベルの機械翻訳 |
サポートされる言語 | 利用可能な Bi-Di モデル を参照 |
精度 | float16 |
検証頻度 | 3000 ステップ |
停止指標 | ChrF |
停止基準 | 20 検証ステップ |
トレーニングコーパス
主な研究課題は、「追加の関連言語を追加することは、モデルの品質にどのような影響を与えるか?」であり、スラブ語族においてこれを調査しました。BiDi モデルは、より高レベルの多言語性を用いてデータ体制を拡張する前のベースラインとなります。
データセットは MT-Data ライブラリを介してダウンロードされました。フィルタリングと重複排除後の総サンプル数は、サポートされる言語に応じて異なります。詳細は以下の表を参照してください。
言語ペア | トレーニングサンプル数 |
---|---|
チェコ語 ↔ ポーランド語 | 63M |
チェコ語 ↔ スロバキア語 | 30M |
チェコ語 ↔ スロベニア語 | 25M |
ポーランド語 ↔ スロバキア語 | 26M |
ポーランド語 ↔ スロベニア語 | 23M |
スロバキア語 ↔ スロベニア語 | 18M |
---------------- | ------------------------------- |
チェコ語 ↔ 英語 | 151M |
英語 ↔ ポーランド語 | 150M |
英語 ↔ スロバキア語 | 52M |
英語 ↔ スロベニア語 | 40M |
使用されたデータセット(特定の方向にのみ適用):
コーパス |
---|
paracrawl |
opensubtitles |
multiparacrawl |
dgt |
elrc |
xlent |
wikititles |
wmt |
wikimatrix |
dcep |
ELRC |
tildemodel |
europarl |
eesc |
eubookshop |
emea |
jrc_acquis |
ema |
qed |
elitr_eca |
EU-dcep |
rapid |
ecb |
kde4 |
news_commentary |
kde |
bible_uedin |
europat |
elra |
wikipedia |
wikimedia |
tatoeba |
globalvoices |
euconst |
ubuntu |
php |
ecdc |
eac |
eac_reference |
gnome |
EU-eac |
books |
EU-ecdc |
newsdev |
khresmoi_summary |
czechtourism |
khresmoi_summary_dev |
worldbank |
評価
モデルの評価は Flores200 データセットを使用して行われました。以下の表は、オープンソースモデルとコレクション内のすべての該当モデルのパフォーマンスを比較しています。使用された指標は Unbabel/wmt22-comet-da です。
方向 | CES → ENG | CES → POL | CES → SLK | CES → SLV | ENG → CES | ENG → POL | ENG → SLK | ENG → SLV | POL → CES | POL → ENG | POL → SLK | POL → SLV | SLK → CES | SLK → ENG | SLK → POL | SLK → SLV | SLV → CES | SLV → ENG | SLV → POL | SLV → SLK |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
M2M-100 | 87.0 | 89.0 | 92.1 | 89.7 | 88.6 | 86.4 | 88.4 | 87.3 | 89.6 | 84.6 | 89.4 | 88.4 | 92.7 | 86.8 | 89.1 | 89.6 | 90.3 | 86.4 | 88.7 | 90.1 |
NLLB-200 | 88.1 | 88.9 | 91.2 | 88.6 | 90.4 | 88.5 | 90.1 | 88.8 | 89.4 | 85.8 | 88.9 | 87.7 | 91.8 | 88.2 | 88.9 | 88.8 | 90.0 | 87.5 | 88.6 | 89.4 |
Seamless-M4T | 87.5 | 80.9 | 90.8 | 82.0 | 90.7 | 88.5 | 90.6 | 89.6 | 79.6 | 85.4 | 80.0 | 76.4 | 91.5 | 87.2 | 81.2 | 82.9 | 80.9 | 87.3 | 76.7 | 81.0 |
OPUS-MT Sla-Sla | 88.2 | 82.8 | - | 83.4 | 89.1 | 85.6 | - | 84.5 | 82.9 | 82.2 | - | 81.2 | - | - | - | - | 83.5 | 84.1 | 80.8 | - |
OPUS-MT SK-EN | - | - | - | - | - | - | 89.5 | - | - | - | - | - | - | 88.4 | - | - | - | - | - | - |
当社の貢献: | ||||||||||||||||||||
BiDi モデル* | 87.5 | 89.4 | 92.4 | 89.8 | 87.8 | 86.2 | 87.2 | 86.6 | 90.0 | 85.0 | 89.1 | 88.4 | 92.9 | 87.3 | 88.8 | 89.4 | 90.0 | 86.9 | 88.1 | 89.1 |
P5-pol◊ | - | 89.6 | 90.8 | 88.7 | - | - | - | - | 90.2 | - | 89.8 | 88.7 | 91.0 | - | 89.3 | 88.4 | 89.3 | - | 88.7 | 88.5 |
P5-eng◊ | 88.0 | 89.0 | 90.7 | 89.0 | 88.8 | 87.3 | 88.4 | 87.5 | 89.0 | 85.7 | 88.5 | 87.8 | 91.0 | 88.2 | 88.6 | 88.5 | 89.6 | 87.2 | 88.4 | 88.9 |
P5-ces◊ | 87.9 | 89.6 | 92.5 | 89.9 | 88.4 | 85.0 | 87.9 | 85.9 | 90.3 | 84.5 | 89.5 | 88.0 | 93.0 | 87.8 | 89.4 | 89.8 | 90.3 | 85.7 | 87.9 | 89.8 |
MultiSlav-4slav | - | 89.7 | 92.5 | 90.0 | - | - | - | - | 90.2 | - | 89.6 | 88.7 | 92.9 | - | 89.4 | 90.1 | 90.6 | - | 88.9 | 90.2 |
MultiSlav-5lang | 87.8 | 89.8 | 92.5 | 90.1 | 88.9 | 86.9 | 88.0 | 87.3 | 90.4 | 85.4 | 89.8 | 88.9 | 92.9 | 87.8 | 89.6 | 90.2 | 90.6 | 87.0 | 89.2 | 90.2 |
◊ 2つのモデル Many2XXX と XXX2Many のシステム。P5-ces2many を参照
* すべての双方向モデルの結果を統合。該当するモデルの各値
制限事項とバイアス
トレーニングデータセットに含まれる固有のバイアスを評価していません。対象ドメインにおいて当社モデルのバイアスを検証することをお勧めします。これは、特に英語からスラブ語への翻訳において問題となる可能性があります。これらの言語では明示的な性別を示す必要があり、トレーニングデータに存在するバイアスに基づいて幻覚を引き起こす可能性があります。
📄 ライセンス
このモデルは CC BY 4.0 ライセンスの下で提供されており、商用利用が許可されています。
引用
近日更新予定 🤗
連絡先
著者:
- MLR @ Allegro: Artur Kot, Mikołaj Koszowski, Wojciech Chojnowski, Mieszko Rutkowski
- Laniqo.com: Artur Nowakowski, Kamil Guttmann, Mikołaj Pokrywka
質問や提案がある場合は、著者にご連絡ください。
- メール: artur.kot@allegro.com または mikolaj.koszowski@allegro.com
- LinkedIn: Artur Kot または Mikołaj Koszowski



