语言:
- 英文
标签:
- 文本分类
- 零样本分类
基础模型: microsoft/deberta-v3-base
管道标签: 零样本分类
库名称: transformers
许可证: mit
模型描述: deberta-v3-base-zeroshot-v2.0-c
zeroshot-v2.0 系列模型
该系列模型专为使用Hugging Face管道进行高效零样本分类而设计。
这些模型无需训练数据即可进行分类任务,并可在GPU和CPU上运行。
最新零样本分类器的概览可参阅我的零样本分类器集合。
zeroshot-v2.0
系列模型的主要更新是,部分模型针对具有严格许可要求的用户,完全基于商业友好数据训练。
这些模型能执行一项通用分类任务:给定文本,判断假设是"成立"还是"不成立"
(蕴含
vs. 非蕴含
)。
该任务格式基于自然语言推理任务(NLI)。
其通用性使得任何分类任务均可通过Hugging Face管道重构为此形式。
训练数据
名称含"-c
"的模型使用两类完全商业友好的数据训练:
- 通过Mixtral-8x7B-Instruct-v0.1生成的合成数据:
首先与Mistral-large对话创建了涵盖25个职业的500+多样化文本分类任务列表,经人工校验后作为种子数据,用Mixtral生成数十万条文本。
最终数据集见synthetic_zeroshot_mixtral_v0.1中的mixtral_written_text_for_tasks_v4
子集。数据经过多轮优化,未来将持续改进。
- 两个商业友好NLI数据集:(MNLI, FEVER-NLI),用于增强泛化能力。
- 名称不含"
-c
"的模型还包含更广泛许可的混合训练数据:ANLI、WANLI、LingNLI及此列表中标记used_in_v1.1==True
的所有数据集。
模型使用方法
from transformers import pipeline
text = "安格拉·默克尔是德国政治家,基民盟领袖"
hypothesis_template = "本文内容涉及{}"
classes_verbalized = ["政治", "经济", "娱乐", "环境"]
zeroshot_classifier = pipeline("zero-shot-classification", model="MoritzLaurer/deberta-v3-large-zeroshot-v2.0")
output = zeroshot_classifier(text, classes_verbalized, hypothesis_template=hypothesis_template, multi_label=False)
print(output)
multi_label=False
强制模型单选类别,multi_label=True
允许多选。
性能指标
模型在28个文本分类任务上采用f1_macro指标评估。主要参照基准为当前(2024.04.03)最常用的商业友好零样本分类器facebook/bart-large-mnli
。

(此处省略具体指标表格的翻译,保留原格式)
这些数字反映纯零样本性能,因训练数据未包含这些测试集。
注:名称不含"-c
"的模型评估两次——首次不含28个数据集数据测试零样本性能(列中首数字),最终运行包含每类最多500个训练样本(括号内数字,"小样本")。所有模型均未使用测试数据训练。
各数据集详情见:https://github.com/MoritzLaurer/zeroshot-classifier/blob/main/v1_human_data/datasets_overview.csv
模型选型指南
- deberta-v3 vs roberta:deberta-v3性能显著更优但稍慢。roberta直接兼容Hugging Face生产级TEI推理容器和Flash Attention,适合生产环境。简言之:重精度选deberta-v3,重推理速度选roberta(如搭配HF推理端点使用)。
- 商业用途:带"
-c
"的模型保证仅使用商业友好数据训练。不带该后缀的模型性能更优但含非商业许可数据,法律意见存在分歧。严格合规场景推荐带"-c
"版本。
- 多语言/非英语场景:使用bge-m3-zeroshot-v2.0或bge-m3-zeroshot-v2.0-c。注意多语言模型性能低于英语专用模型,可先用EasyNMT等库机器翻译至英语后再处理。
- 上下文窗口:
bge-m3
支持8192token,其他模型限512token。长文本会降低性能和速度,400词/1页内文本建议使用deberta模型。
- 最新模型动态请关注零样本分类器集合。
复现
复现代码见v2_synthetic_data
目录:https://github.com/MoritzLaurer/zeroshot-classifier/tree/main
局限与偏差
模型仅适用于文本分类任务。
偏差可能源于底层基础模型、人工NLI训练数据和Mixtral生成的合成数据。
许可
基础模型采用MIT许可证。
训练数据许可因模型而异,详见上文。
引用
本模型延伸自该论文的研究。学术引用请使用:
@misc{laurer_building_2023,
title = {基于自然语言推理构建高效通用分类器},
url = {http://arxiv.org/abs/2312.17543},
author = {Laurer, Moritz and van Atteveldt, Wouter and Casas, Andreu and Welbers, Kasper},
year = {2023},
month = dec,
note = {arXiv:2312.17543 [cs]},
}
合作或咨询
请联系moritz{at}huggingface{dot}co或LinkedIn
灵活使用与"提示工程"
可通过修改hypothesis_template
自定义假设。类似LLM的"提示工程",测试不同表述可提升性能:
hypothesis_template = "本文内容涉及{}"
classes_verbalized = ["政治", "经济", "娱乐", "环境"]
hypothesis_template = "本文主题是{}"
classes_verbalized = ["政治活动", "经济政策", "娱乐音乐", "环境保护"]