语言:
- 英语
许可证: mit
标签:
- 文本分类
- 零样本分类
评估指标:
- 准确率
小部件示例:
- 文本: "我起初以为自己喜欢这部电影,但转念一想其实很失望。[SEP] 这部电影不错。"
DeBERTa-v3-base-mnli-fever-docnli-ling-2c
模型描述
该模型基于8个自然语言推理(NLI)数据集的1,279,665个假设-前提对训练而成,包括MultiNLI、Fever-NLI、LingNLI和DocNLI(涵盖ANLI、QNLI、DUC、CNN/DailyMail、Curation等数据集)。
这是模型中心唯一一个在8个NLI数据集上训练的模型,其中包含处理长文本的DocNLI以学习长距离推理。需注意,该模型针对二分类NLI任务训练,仅预测"蕴含"或"非蕴含"。DocNLI将"中立"和"矛盾"类合并为"非蕴含"以便纳入数据集。
基础模型采用微软的DeBERTa-v3-base。DeBERTa的v3版本通过改进预训练目标显著超越前代,详见原版DeBERTa论文的附录11及DeBERTa-V3论文。
如需更高性能(但速度稍慢),推荐使用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-docnli-ling-2c")
待分类文本 = "安格拉·默克尔是德国政治家,基民盟领袖"
候选标签 = ["政治", "经济", "娱乐", "环境"]
输出结果 = classifier(待分类文本, 候选标签, multi_label=False)
print(输出结果)
NLI应用场景
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
设备 = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
模型名称 = "MoritzLaurer/DeBERTa-v3-base-mnli-fever-docnli-ling-2c"
分词器 = AutoTokenizer.from_pretrained(模型名称)
模型 = AutoModelForSequenceClassification.from_pretrained(模型名称)
前提 = "我起初以为自己喜欢这部电影,但转念一想其实很失望。"
假设 = "这部电影不错。"
输入 = 分词器(前提, 假设, truncation=True, return_tensors="pt")
输出 = 模型(输入["input_ids"].to(设备))
预测概率 = torch.softmax(输出["logits"][0], -1).tolist()
标签名称 = ["蕴含", "非蕴含"]
预测结果 = {名称: round(概率*100, 1) for 概率, 名称 in zip(预测概率, 标签名称)}
print(预测结果)
训练数据
模型训练使用了来自8个NLI数据集的1,279,665个假设-前提对,包括MultiNLI、Fever-NLI、LingNLI和DocNLI(涵盖ANLI、QNLI、DUC、CNN/DailyMail、Curation等子集)。
训练参数
采用Hugging Face训练器,关键超参数如下:
训练参数 = TrainingArguments(
训练轮数=3, # 总训练周期
学习率=2e-05,
每设备训练批次=32, # 训练时每设备批次大小
每设备评估批次=32, # 评估批次大小
预热比例=0.1, # 学习率调度器的预热步数比例
权重衰减=0.06, # 权重衰减强度
混合精度训练=True # 启用混合精度
)
评估结果
模型在MultiNLI和ANLI的二分类测试集、Fever-NLI的二分类开发集上评估,指标为准确率。
mnli-m-2c |
mnli-mm-2c |
fever-nli-2c |
anli-all-2c |
anli-r3-2c |
lingnli-2c |
0.935 |
0.933 |
0.897 |
0.710 |
0.678 |
0.895 |
局限与偏差
请参考原始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版本。