🚀 ⭐ GLiClass:用于序列分类的通用轻量级模型
GLiClass 是一个高效的零样本分类器,其灵感源自 GLiNER 的研究工作。它在性能上与交叉编码器相当,但计算效率更高,因为分类仅需一次前向传播即可完成。该模型可用于 主题分类
、情感分析
,还能在 RAG
管道中作为重排器使用。模型基于合成数据进行训练,可用于商业应用,且除了初始数据集(MoritzLaurer/synthetic_zeroshot_mixtral_v0.1)外,未在其他任何数据集上进行额外的微调。
🚀 快速开始
安装
首先,你需要安装 GLiClass 库:
pip install gliclass
初始化模型和管道
from gliclass import GLiClassModel, ZeroShotClassificationPipeline
from transformers import AutoTokenizer
model = GLiClassModel.from_pretrained("knowledgator/gliclass-large-v1.0-init")
tokenizer = AutoTokenizer.from_pretrained("knowledgator/gliclass-large-v1.0-init")
pipeline = ZeroShotClassificationPipeline(model, tokenizer, classification_type='multi-label', device='cuda:0')
text = "One day I will see the world!"
labels = ["travel", "dreams", "sport", "science", "politics"]
results = pipeline(text, labels, threshold=0.5)[0]
for result in results:
print(result["label"], "=>", result["score"])
✨ 主要特性
- 高效零样本分类:受 GLiNER 启发,在性能与交叉编码器相当的情况下,计算效率更高。
- 多任务应用:可用于主题分类、情感分析以及 RAG 管道中的重排。
- 合成数据训练:基于合成数据训练,可用于商业应用。
📦 安装指南
若要使用 GLiClass,可通过以下命令安装:
pip install gliclass
💻 使用示例
基础用法
from gliclass import GLiClassModel, ZeroShotClassificationPipeline
from transformers import AutoTokenizer
model = GLiClassModel.from_pretrained("knowledgator/gliclass-large-v1.0-init")
tokenizer = AutoTokenizer.from_pretrained("knowledgator/gliclass-large-v1.0-init")
pipeline = ZeroShotClassificationPipeline(model, tokenizer, classification_type='multi-label', device='cuda:0')
text = "One day I will see the world!"
labels = ["travel", "dreams", "sport", "science", "politics"]
results = pipeline(text, labels, threshold=0.5)[0]
for result in results:
print(result["label"], "=>", result["score"])
📚 详细文档
基准测试
以下是该模型在几个文本分类数据集上的 F1 分数。所有测试模型均未在这些数据集上进行微调,且在零样本设置下进行测试。
📄 许可证
本项目采用 Apache-2.0 许可证。