🚀 MiniLM-L6-mnli-fever-docnli-ling-2c
本項目的模型可用於文本分類和零樣本分類任務,通過在多個自然語言推理(NLI)數據集上訓練,能夠學習長距離推理,實現對“蘊含”或“非蘊含”的預測。
🚀 快速開始
使用示例
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model_name = "MoritzLaurer/MiniLM-L6-mnli-fever-docnli-ling-2c"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
premise = "I first thought that I liked the movie, but upon second thought it was actually disappointing."
hypothesis = "The movie was good."
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", "not_entailment"]
prediction = {name: round(float(pred) * 100, 1) for pred, name in zip(prediction, label_names)}
print(prediction)
✨ 主要特性
- 該模型在來自8個NLI數據集的1279665個假設 - 前提對上進行訓練,這些數據集包括MultiNLI、Fever-NLI、LingNLI和DocNLI(其中包括ANLI、QNLI、DUC、CNN/DailyMail、Curation)。
- 它是模型中心唯一在8個NLI數據集上訓練的模型,其中DocNLI包含非常長的文本,有助於學習長距離推理。
- 模型基於二元NLI進行訓練,用於預測“蘊含”或“非蘊含”。DocNLI將“中立”和“矛盾”類別合併為“非蘊含”,以創建更多訓練數據。
- 基礎模型是微軟的MiniLM-L6,速度非常快,但比其他模型的準確性稍低。
📚 詳細文檔
預期用途和限制
模型使用方法
使用該模型時,可參考上述代碼示例。
訓練數據
該模型在來自8個NLI數據集的1279665個假設 - 前提對上進行訓練,具體數據集如下:
訓練過程
使用Hugging Face訓練器進行訓練,超參數設置如下:
training_args = TrainingArguments(
num_train_epochs=3,
learning_rate=2e-05,
per_device_train_batch_size=32,
per_device_eval_batch_size=32,
warmup_ratio=0.1,
weight_decay=0.06,
fp16=True
)
評估結果
使用MultiNLI和ANLI的二元測試集以及Fever-NLI的二元開發集(兩類而非三類)對模型進行評估,評估指標為準確率。
mnli-m-2c |
mnli-mm-2c |
fever-nli-2c |
anli-all-2c |
anli-r3-2c |
(to upload) |
|
|
|
|
侷限性和偏差
如需瞭解潛在偏差,請參考原始MiniLM論文和不同NLI數據集的相關文獻。
BibTeX引用和引用信息
如果您想引用此模型,請引用原始MiniLM論文、相應的NLI數據集,幷包含此模型在Hugging Face中心的鏈接。
合作想法或問題諮詢
如果您有問題或合作想法,請通過m.laurer{at}vu.nl聯繫我,或訪問LinkedIn。