🚀 マルチリンガルmDeBERTa - v3 - base - mnli - xnli
このマルチリンガルモデルは、100言語で自然言語推論(NLI)を実行でき、マルチリンガルのゼロショット分類にも適しています。モデルは、Microsoftによって事前学習され、XNLIとMNLIデータセットでファインチューニングされました。
🚀 クイックスタート
このモデルは、100言語で自然言語推論(NLI)を行うことができ、マルチリンガルのゼロショット分類にも適しています。ベースとなるモデルは、MicrosoftによってCC100マルチリンガルデータセットで事前学習され、その後、15言語の仮説 - 前提ペアを含むXNLIデータセットと英語のMNLIデータセットでファインチューニングされました。
2021年12月時点で、mDeBERTa - baseは、Microsoftによってthis paperで導入された、最も性能の高いマルチリンガルベースサイズのトランスフォーマーモデルです。
もし、より小さく、高速(ただし性能は低い)なモデルを探している場合は、[multilingual - MiniLMv2 - L6 - mnli - xnli](https://huggingface.co/MoritzLaurer/multilingual - MiniLMv2 - L6 - mnli - xnli)を試してみてください。
✨ 主な機能
- 100言語での自然言語推論(NLI)が可能。
- マルチリンガルのゼロショット分類に適している。
📦 インストール
このREADMEには具体的なインストール手順が記載されていないため、このセクションをスキップします。
💻 使用例
基本的な使用法
シンプルなゼロショット分類パイプライン
from transformers import pipeline
classifier = pipeline("zero-shot-classification", model="MoritzLaurer/mDeBERTa-v3-base-mnli-xnli")
sequence_to_classify = "Angela Merkel ist eine Politikerin in Deutschland und Vorsitzende der CDU"
candidate_labels = ["politics", "economy", "entertainment", "environment"]
output = classifier(sequence_to_classify, candidate_labels, multi_label=False)
print(output)
NLIの使用例
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
model_name = "MoritzLaurer/mDeBERTa-v3-base-mnli-xnli"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
premise = "Angela Merkel ist eine Politikerin in Deutschland und Vorsitzende der CDU"
hypothesis = "Emmanuel Macron is the President of France"
input = tokenizer(premise, hypothesis, truncation=True, return_tensors="pt")
output = model(input["input_ids"].to(device))
prediction = torch.softmax(output["logits"][0], -1).tolist()
label_names = ["entailment", "neutral", "contradiction"]
prediction = {name: round(float(pred) * 100, 1) for pred, name in zip(prediction, label_names)}
print(prediction)
📚 ドキュメント
モデルの説明
このマルチリンガルモデルは、100言語で自然言語推論(NLI)を実行でき、マルチリンガルのゼロショット分類にも適しています。ベースとなるモデルは、MicrosoftによってCC100マルチリンガルデータセットで事前学習されました。その後、15言語の仮説 - 前提ペアを含むXNLIデータセットと、英語のMNLIデータセットでファインチューニングされました。
2021年12月時点で、mDeBERTa - baseは、Microsoftによってthis paperで導入された、最も性能の高いマルチリンガルベースサイズのトランスフォーマーモデルです。
学習データ
このモデルは、XNLI開発データセットとMNLI学習データセットで学習されました。XNLI開発セットは、英語から14の他の言語に専門家によって翻訳された2490のテキストで構成されています(合計37350のテキスト)(this paperを参照)。XNLIには、15言語のMNLIデータセットの15の機械翻訳バージョンの学習セットが含まれていますが、これらの機械翻訳の品質問題のため、このモデルはXNLI開発セットの専門家による翻訳と元の英語のMNLI学習セット(392702のテキスト)のみで学習されました。機械翻訳されたテキストを使用しないことで、モデルが15の言語に過学習するのを防ぎ、mDeBERTaが事前学習された他の85の言語の大規模な忘却を避け、学習コストを大幅に削減できます。
学習手順
mDeBERTa - v3 - base - mnli - xnliは、以下のハイパーパラメータを使用してHugging Faceトレーナーで学習されました。
training_args = TrainingArguments(
num_train_epochs=2, # total number of training epochs
learning_rate=2e-05,
per_device_train_batch_size=16, # batch size per device during training
per_device_eval_batch_size=16, # batch size for evaluation
warmup_ratio=0.1, # number of warmup steps for learning rate scheduler
weight_decay=0.06, # strength of weight decay
)
評価結果
このモデルは、15の言語のXNLIテストセットで評価されました(言語ごとに5010のテキスト、合計75150)。マルチリンガルNLIモデルは、特定の言語のNLI学習データを受け取らずにNLIテキストを分類することができます(クロスリンガル転移)。これは、モデルがmDeBERTaが学習された他の85の言語でもNLIを行うことができることを意味しますが、XNLIで利用可能な言語よりも性能は低い可能性が高いです。
また、モデルハブ上の他のマルチリンガルモデルが英語以外の言語で約90%の性能を主張している場合、最新の論文のどれもXNLIで80%を数ポイント上回るマルチリンガル平均性能を示していないため、著者はおそらくテスト中に間違いを犯しています(こちらまたはこちらを参照)。
平均 |
アラビア語 |
ブルガリア語 |
ドイツ語 |
ギリシャ語 |
英語 |
スペイン語 |
フランス語 |
ヒンディー語 |
ロシア語 |
スワヒリ語 |
タイ語 |
トルコ語 |
ウルドゥー語 |
ベトナム語 |
中国語 |
0.808 |
0.802 |
0.829 |
0.825 |
0.826 |
0.883 |
0.845 |
0.834 |
0.771 |
0.813 |
0.748 |
0.793 |
0.807 |
0.740 |
0.795 |
0.8116 |
🔧 技術詳細
このセクションには、具体的な技術詳細が記載されています。モデルの事前学習、ファインチューニング、評価などの手順が説明されています。
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
Limitations and bias
潜在的なバイアスについては、元のDeBERTa - V3論文とさまざまなNLIデータセットに関する文献を参照してください。
引用
このモデルを使用する場合は、次の文献を引用してください:Laurer, Moritz, Wouter van Atteveldt, Andreu Salleras Casas, and Kasper Welbers. 2022. ‘Less Annotating, More Classifying – Addressing the Data Scarcity Issue of Supervised Machine Learning with Deep Transfer Learning and BERT - NLI’. Preprint, June. Open Science Framework. https://osf.io/74b8k.
協力のアイデアや質問は?
質問や協力のアイデアがある場合は、m{dot}laurer{at}vu{dot}nlまたは[LinkedIn](https://www.linkedin.com/in/moritz - laurer/)で私に連絡してください。
デバッグと問題点
DeBERTa - v3は2021年末にリリースされ、HF Transformersの古いバージョンではモデルを実行する際に問題が発生するようです(例えば、トークナイザーに問題が生じる)。Transformers >= 4.13以上を使用すると、いくつかの問題が解決する可能性があります。mDeBERTaは現在、FP16をサポートしていません。詳細はこちらを参照:https://github.com/microsoft/DeBERTa/issues/77