语言:
- 英语
许可证:MIT
标签:
- 文本分类
- 零样本分类
数据集:
- multi_nli
- facebook/anli
- fever
评估指标:
- 准确率
流水线标签:零样本分类
模型索引:
- 名称:MoritzLaurer/DeBERTa-v3-base-mnli-fever-anli
结果:
- 任务:
类型:自然语言推理
名称:自然语言推理
数据集:
名称:anli
类型:anli
配置:纯文本
拆分:test_r3
指标:
- 类型:准确率
值:0.495
名称:准确率
已验证:是
(后续指标数据格式类似,此处省略部分重复内容以保持简洁)
DeBERTa-v3-base-mnli-fever-anli
模型描述
该模型基于MultiNLI、Fever-NLI和对抗性NLI(ANLI)数据集训练,包含763,913个NLI假设-前提对。在ANLI基准测试中,该基础模型性能超越几乎所有大型模型。其基础架构为微软的DeBERTa-v3-base。DeBERTa的v3版本通过改进预训练目标显著优于前代模型,详见原论文附录11。
如需更高性能(但速度稍慢),推荐使用MoritzLaurer/DeBERTa-v3-large-mnli-fever-anli-ling-wanli。
使用方法
简易零样本分类流水线
from transformers import pipeline
classifier = pipeline("zero-shot-classification", model="MoritzLaurer/DeBERTa-v3-base-mnli-fever-anli")
sequence_to_classify = "安格拉·默克尔是德国政治家,基民盟领袖"
candidate_labels = ["政治", "经济", "娱乐", "环境"]
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/DeBERTa-v3-base-mnli-fever-anli"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
premise = "我起初以为喜欢这部电影,但细想后其实令人失望。"
hypothesis = "这部电影很好。"
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 = ["蕴含", "中立", "矛盾"]
prediction = {name: round(float(pred) * 100, 1) for pred, name in zip(prediction, label_names)}
print(prediction)
训练数据
本模型基于MultiNLI、Fever-NLI和ANLI数据集训练,共763,913个NLI样本对。
训练参数
采用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 |
mnli-mm |
fever-nli |
anli-all |
anli-r3 |
0.903 |
0.903 |
0.777 |
0.579 |
0.495 |
局限性及偏差
请参考原始DeBERTa论文及不同NLI数据集相关文献以了解潜在偏差。
引用
若使用本模型,请引用:
Laurer, Moritz等.《通过深度迁移学习和BERT-NLI解决监督机器学习数据稀缺问题》。2022年6月预印本。Open Science Framework. https://osf.io/74b8k
合作或问题咨询
请联系:m.laurer@vu.nl 或 LinkedIn
调试说明
DeBERTa-v3发布于2021年12月6日,旧版HF Transformers可能存在运行问题(如分词器错误)。建议使用Transformers>=4.13版本,并安装sentencepiece:
pip install transformers[sentencepiece]
或 pip install sentencepiece
模型循环利用
在36个数据集上的评估显示,以本模型作为基础时平均得分为79.69,优于原基础模型microsoft/deberta-v3-base的79.04。截至2023年1月9日,该模型在DeBERTa-v3-base架构中排名第二。
完整结果参见:模型循环利用