roberta-base-zeroshot-v2.0-c 项目介绍
项目背景
roberta-base-zeroshot-v2.0-c 是一款无训练数据需求的零样本文本分类模型,属于zeroshot-v2.0系列。该模型设计用于在Hugging Face平台上通过管道进行高效的零样本分类,支持在CPU和GPU上运行。这一系列模型的主要更新是为那些对许可证要求严格的用户提供使用完全商业友好型数据训练的模型。
核心功能
roberta-base-zeroshot-v2.0-c 模型的核心功能是进行普遍的分类任务,即在给定文本的情况下,判断假设是否为“真”或“不真”(即是否符合“蕴涵”或“不蕴涵”的关系)。这一任务形式基于自然语言推理(NLI)任务,并且可以通过Hugging Face的管道将任何分类任务转化为这种任务格式。
训练数据
带有“-c”的模型名称代表其训练数据包括:
- 使用Mixtral-8x7B-Instruct-v0.1生成的合成数据。这些数据的产生基于一个包含500多个多样化文本分类任务的列表,并经过精心整理。
- 商业友好的NLI数据集(如MNLI和FEVER-NLI)。这类数据集的加入提升了模型的泛化能力。
模型名称中不含“-c”的则使用了更广泛的训练数据集,包含多种许可证的数据。
如何使用
模型可以通过以下Python代码进行使用:
from transformers import pipeline
text = "Angela Merkel is a politician in Germany and leader of the CDU"
hypothesis_template = "This text is about {}"
classes_verbalized = ["politics", "economy", "entertainment", "environment"]
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指标进行测试。与其他模型相比,roberta-base-zeroshot-v2.0-c在许多任务中都有更好的表现。具体评估结果详见相关的研究和图表。
适用场景
- deberta-v3-zeroshot vs. roberta-zeroshot: deberta-v3虽然效果更佳,但速度稍慢。若对生产推理速度有要求,可以选择roberta。
- 商业应用: 带“-c”的模型仅使用商业友好的数据训练,适合有严格法律要求的用户。
- 多语言或非英语场景: 可以使用bge-m3-zeroshot-v2.0或同系列带“-c”的模型。
- 文本长度: bge-m3模型可处理长达8192个token,而其他模型最大只能处理512个token。
最新的模型更新可以在Zeroshot Classifier Collection中找到。
限制与偏见
该模型仅限于文本分类任务,可能存在底层模型、训练数据中的人类NLI数据和Mixtral生成数据带来的偏见。
许可证信息
基础模型采用MIT许可证发布,不同模型的训练数据许可证会有所不同。
引用与合作
若在学术研究中使用,请参考相关文献并合适引用。对此模型有任何疑问或合作意向,可通过联系信息进行咨询。
灵活使用和“提示工程”
用户可通过更改zeroshot管道中的hypothesis_template
来制定个性化假设,从而提升模型的表现。这种方法类似于对生成语言模型的“提示工程”。
希望这篇介绍能够帮助您更好地了解roberta-base-zeroshot-v2.0-c项目的功能和应用场景!