项目介绍:pebblo-classifier
项目概述
Pebblo Classifier是一款专注于文本分类的机器学习系统,由DAXA.AI开发。这款模型以BERT为基础,通过对distilbert-base-uncased模型进行微调,主要用于RAG(Retrieve-And-Generate)应用场景。Pebblo Classifier的最大亮点在于其能够对组织结构中的多种协议文档进行分类,该模型共识别21种不同的标签,从而简化了文档分类过程。
- 开发方: DAXA.AI
- 资金来源: 开源项目
- 模型类型: 分类模型
- 使用语言: 英语
- 许可证: MIT
- 微调基础模型: distilbert-base-uncased
模型资源
使用说明
Pebblo Classifier设计用于直接应用于文档分类,无需进行额外的微调便可立即部署应用。不过,使用者需要注意模型可能存在的偏见和局限性,了解这些方面能更好地应用模型。
如何开始使用模型
以下是使用Pebblo Classifier的Python代码示例:
# 导入必要的库
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
import joblib
from huggingface_hub import hf_hub_url, cached_download
# 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained("daxa-ai/pebblo-classifier")
model = AutoModelForSequenceClassification.from_pretrained("daxa-ai/pebblo-classifier")
# 示例文本
text = "Please enter your text here."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
# 对logits应用softmax
probabilities = torch.nn.functional.softmax(output.logits, dim=-1)
# 获取预测标签
predicted_label = torch.argmax(probabilities, dim=-1)
# Hugging Face模型库的URL
REPO_NAME = "daxa-ai/pebblo-classifier"
# 模型库中标签编码器文件的路径
LABEL_ENCODER_FILE = "label_encoder.joblib"
# 构建标签编码器文件的URL
url = hf_hub_url(REPO_NAME, filename=LABEL_ENCODER_FILE)
# 下载并缓存标签编码器文件
filename = cached_download(url)
# 加载标签编码器
label_encoder = joblib.load(filename)
# 解码预测标签
decoded_label = label_encoder.inverse_transform(predicted_label.numpy())
print(decoded_label)
训练详情
训练数据
Pebblo Classifier的训练数据集包含141,055条数据,覆盖了21种不同的标签。这些标签涵盖了各种文档类型,数据样本分布于三种文本长度规格(128 ± x、256 ± x、512 ± x 单词;其中x在20以内变化)。
测试数据与评估指标
在测试数据上共有86,281条样本,温度范围为1-1.25用于评估模型的有效性。下表列出了一些主要的评估指标,以宏平均和加权平均方式汇总的精度、召回率和F1得分揭示出模型的整体表现。
- 精度(accuracy): 84%
- 精确率(precision): 87.94%
- 召回率(recall): 84.24%
- F1分数: 85.05%
结果总结
通过以上测试数据的验证,Pebblo Classifier表现出优异的分类能力。模型在多种协议类型上达到了较高的精度和召回率,总体F1分数达到了85.05%。 이러한 평가 지표는 모델의 예측과 실제 값 사이의 차이를 측정하는 평가 손실 (eval loss)이 0.6815 인 것과 일치한다.