🚀 ヒンディー語用RoBERTaベースモデル
マスク言語モデリング(MLM)の目的でヒンディー語に対して事前学習されたモデルです。よりインタラクティブな比較デモはこちらで利用可能です。
これは、Hugging Faceが主催し、GoogleがTPUの使用を支援する
Flax/Jaxコミュニティウィークの一部です。
📚 モデルの説明
RoBERTa Hindiは、大量のヒンディー語データ(mc4、oscar、indic - nlpデータセットの組み合わせ)で事前学習されたトランスフォーマーモデルです。
💻 使用例
基本的な使用法
このモデルは、マスク言語モデリングのパイプラインで直接使用できます。
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='flax-community/roberta-hindi')
>>> unmasker("हम आपके सुखद <mask> की कामना करते हैं")
[{'score': 0.3310680091381073,
'sequence': 'हम आपके सुखद सफर की कामना करते हैं',
'token': 1349,
'token_str': ' सफर'},
{'score': 0.15317578613758087,
'sequence': 'हम आपके सुखद पल की कामना करते हैं',
'token': 848,
'token_str': ' पल'},
{'score': 0.07826550304889679,
'sequence': 'हम आपके सुखद समय की कामना करते हैं',
'token': 453,
'token_str': ' समय'},
{'score': 0.06304813921451569,
'sequence': 'हम आपके सुखद पहल की कामना करते हैं',
'token': 404,
'token_str': ' पहल'},
{'score': 0.058322224766016006,
'sequence': 'हम आपके सुखद अवसर की कामना करते हैं',
'token': 857,
'token_str': ' अवसर'}]
📦 訓練データ
RoBERTa Hindiモデルは、以下のデータセットの統合データで事前学習されました。
🔧 訓練手順
前処理
テキストは、Byte - Pair Encoding (BPE) のバイトバージョンを使用してトークン化され、語彙サイズは50265です。モデルの入力は、ドキュメントをまたがる可能性のある512個の連続したトークンの断片を取ります。新しいドキュメントの始まりは <s>
で、終わりは </s>
でマークされます。
- mC4 と oscar データセットからすべての非ヒンディー語(非デーヴァナーガリ文字)を削除することで、データセットのクリーンアップを行いました。
- IndicGlue ベンチマークのWikiNERの評価セットについて、手動ラベリング により実際のラベルが正しくないものをフィルタリングし、下流の評価データセット を修正しました。
各文のマスキング手順の詳細は以下の通りです。
- トークンの15%がマスクされます。
- 80%のケースで、マスクされたトークンは
<mask>
で置き換えられます。
- 10%のケースで、マスクされたトークンは置き換えるトークンとは異なるランダムなトークンで置き換えられます。
- 残りの10%のケースでは、マスクされたトークンはそのまま残されます。
BERTとは異なり、マスキングは事前学習中に動的に行われます(例えば、各エポックで変化し、固定されていません)。
事前学習
モデルは、Google Cloud Engine TPUv3 - 8マシン(335GBのRAM、1000GBのハードドライブ、96個のCPUコア)で訓練されました。mC4、oscar および上記の他のデータセットの統合データセットをランダムにシャッフルしてモデルを訓練しました。訓練ログは wandb にあります。
📊 評価結果
RoBERTa Hindiは、様々な下流タスクで評価されています。結果を以下にまとめます。
タスク |
タスクタイプ |
IndicBERT |
HindiBERTa |
Indic Transformers Hindi BERT |
RoBERTa Hindi Guj San |
RoBERTa Hindi |
BBCニュース分類 |
ジャンル分類 |
76.44 |
66.86 |
77.6 |
64.9 |
73.67 |
WikiNER |
トークン分類 |
- |
90.68 |
95.09 |
89.61 |
92.76 |
IITP製品レビュー |
センチメント分析 |
78.01 |
73.23 |
78.39 |
66.16 |
75.53 |
IITP映画レビュー |
センチメント分析 |
60.97 |
52.26 |
70.65 |
49.35 |
61.29 |
👥 チームメンバー
🙏 謝辞
素晴らしいコミュニティウィークを企画し、大量の計算リソースを提供してくれたHugging Face 🤗 とGoogle Jax/Flaxチームに大きな感謝を送ります。また、一週間を通して指導してくれた Suraj Patil と Patrick von Platen にも大きな感謝を申し上げます。
