amd-partial-v1 项目介绍
项目背景
amd-partial-v1 是一个基于 SetFit 框架的文本分类项目。SetFit 是一种高效的少样本学习技术,专注于通过对句子变换模型的对比学习进行微调,然后使用一个逻辑回归分类头进行分类。该项目的主要目标是对文本进行分类。
模型详细信息
模型描述
- 模型类型: SetFit
- 句子变换器主体: 使用的是
sentence-transformers/paraphrase-mpnet-base-v2
- 分类头: 采用逻辑回归实例
- 最大序列长度: 512 个标记
- 类别数: 2 个类别(人类与机器)
模型来源
- 代码库: GitHub 上的 SetFit
- 相关论文: 《无需提示的高效少样本学习》
- 博客文章: SetFit: 高效的少样本学习
模型标签示例
- machine: “您的电话已转接至语音信箱”,“Neil Capel。Raju 暂时无法接听。”
- human: “这是 Tom。你好?”,“这是 Sarah。”
评价指标
amd-partial-v1 模型的整体准确率达到了 96.76%。
使用方法
直接用于推理
要使用此模型进行推理,首先需要安装 SetFit 库:
pip install setfit
然后加载模型并进行推理:
from setfit import SetFitModel
# 从 HuggingFace 中心下载模型
model = SetFitModel.from_pretrained("nikcheerla/amd-partial-v1")
# 运行推理
preds = model("Hello?")
训练细节
训练集指标
- 训练集样本数: 人为输入 1489 条,机器输入 6405 条
- 训练集中单词计数范围: 最小 1,最大 18,平均值约为 7.68
训练超参数
- 批量大小: (64, 64)
- 训练轮次: 3
- 采样策略: 过采样
- 迭代次数: 20
- 学习率: 主体 (2e-05, 1e-05),头部 0.01
- 损失函数: CosineSimilarityLoss
- 距离度量: 余弦距离
训练结果
训练过程中的损失和验证损失变化如下:
轮次 | 步骤 | 训练损失 | 验证损失 |
---|---|---|---|
0.0002 | 1 | 0.274 | - |
1.0 | 4934 | 0.0021 | 0.0615 |
2.0 | 9868 | 0.0126 | 0.065 |
3.0 | 14802 | 0.0206 | 0.065 |
技术栈与工具版本
- Python: 3.10.12
- SetFit: 1.0.1
- Sentence Transformers: 2.2.2
- Transformers: 4.35.2
- PyTorch: 2.0.1+cu118
- Datasets: 2.16.1
- Tokenizers: 0.15.0
引用
如果需要引用这项研究,可以使用以下 BibTeX 格式:
@article{https://doi.org/10.48550/arxiv.2209.11055,
doi = {10.48550/ARXIV.2209.11055},
url = {https://arxiv.org/abs/2209.11055},
author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {Efficient Few-Shot Learning Without Prompts},
publisher = {arXiv},
year = {2022},
copyright = {Creative Commons Attribution 4.0 International}
}
通过这种技术,项目在文本分类上取得了卓越的结果,为文本数据处理提供了一种高效而简单的方法。