🚀 マルチリンガルmDeBERTa-v3-base-mnli-xnli
このマルチリンガルモデルは、100言語で自然言語推論(NLI)を実行でき、マルチリンガルのゼロショット分類にも適しています。ベースとなるモデルは、MicrosoftによってCC100マルチリンガルデータセットで事前学習されました。その後、15言語の仮説 - 前提ペアを含むXNLIデータセットと英語のMNLIデータセットでファインチューニングされました。2021年12月現在、mDeBERTa-baseは、Microsoftによってthis paperで導入された、最も性能の高いマルチリンガルベースサイズのトランスフォーマーモデルです。
もし、より小さく、高速(ただし性能は低い)なモデルを探している場合は、multilingual-MiniLMv2-L6-mnli-xnliを試してみることができます。
🚀 クイックスタート
✨ 主な機能
- 100言語での自然言語推論(NLI)が可能。
- マルチリンガルのゼロショット分類に適している。
- 事前学習モデルはMicrosoftによるCC100マルチリンガルデータセットで学習。
- XNLIデータセットとMNLIデータセットでファインチューニング。
📦 インストール
このドキュメントには具体的なインストール手順が記載されていないため、このセクションをスキップします。
💻 使用例
基本的な使用法
シンプルなゼロショット分類パイプライン
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で導入された、最も性能の高いマルチリンガルベースサイズのトランスフォーマーモデルです。
もし、より小さく、高速(ただし性能は低い)なモデルを探している場合は、multilingual-MiniLMv2-L6-mnli-xnliを試してみることができます。
トレーニングデータ
このモデルは、XNLI開発データセットとMNLIトレーニングデータセットでトレーニングされました。XNLI開発セットは、英語から14の他の言語に専門家によって翻訳された2490のテキストで構成されています(合計37350のテキスト)(この論文を参照)。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ライセンスの下で提供されています。
制限事項とバイアス
潜在的なバイアスについては、元の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で連絡してください。
デバッグと問題点
DeBERTa-v3は2021年末にリリースされました。古いバージョンのHF Transformersでは、このモデルを実行する際に問題が発生する可能性があります(例えば、トークナイザーに関する問題が発生することがあります)。Transformers >= 4.13以上を使用すると、一部の問題が解決する可能性があります。また、mDeBERTaは現在FP16をサポートしていません。詳細はこちらを参照してください。