🚀 SetFit结合sentence-transformers/all-MiniLM-L6-v2在sst2数据集上的应用
这是一个基于 SetFit 训练的模型,在 sst2 数据集上进行训练,可用于文本分类任务。该SetFit模型使用 sentence-transformers/all-MiniLM-L6-v2 作为句子嵌入模型,并使用 LogisticRegression 进行分类。
该模型采用了高效的少样本学习技术进行训练,具体步骤如下:
- 使用对比学习对 Sentence Transformer 进行微调。
- 使用微调后的句子嵌入模型的特征训练分类头。
✨ 主要特性
- 高效少样本学习:无需提示即可实现高效的少样本学习。
- 文本分类能力:可对文本进行分类,适用于sst2数据集相关的文本分类任务。
📦 安装指南
首先安装SetFit库:
pip install setfit
💻 使用示例
基础用法
from setfit import SetFitModel
model = SetFitModel.from_pretrained("tomaarsen/setfit-all-MiniLM-L6-v2-sst2-8-shot")
preds = model("a fast , funny , highly enjoyable movie . ")
📚 详细文档
模型详情
模型描述
模型来源
模型标签
标签 |
示例 |
负面 |
- 'a tough pill to swallow and '
- 'indignation '
- 'that the typical hollywood disregard for historical truth and realism is at work here '
|
正面 |
- "a moving experience for people who have n't read the book "
- 'in the best possible senses of both those words '
- 'to serve the work especially well '
|
评估
指标
训练详情
训练集指标
训练集 |
最小值 |
中位数 |
最大值 |
单词计数 |
2 |
10.2812 |
36 |
训练超参数
- 批量大小:(16, 16)
- 训练轮数:(3, 3)
- 最大步数:-1
- 采样策略:过采样
- 嵌入模型学习率:(2e-05, 1e-05)
- 分类头学习率:0.01
- 损失函数:CosineSimilarityLoss
- 距离度量:余弦距离
- 边界值:0.25
- 端到端训练:否
- 使用混合精度训练:否
- 热身比例:0.1
- 随机种子:42
- 训练结束时加载最佳模型:是
训练结果
轮数 |
步数 |
训练损失 |
验证损失 |
0.0076 |
1 |
0.3787 |
- |
0.0758 |
10 |
0.2855 |
- |
0.1515 |
20 |
0.3458 |
0.29 |
0.2273 |
30 |
0.2496 |
- |
0.3030 |
40 |
0.2398 |
0.2482 |
0.3788 |
50 |
0.2068 |
- |
0.4545 |
60 |
0.2471 |
0.244 |
0.5303 |
70 |
0.2053 |
- |
0.6061 |
80 |
0.1802 |
0.2361 |
0.6818 |
90 |
0.0767 |
- |
0.7576 |
100 |
0.0279 |
0.2365 |
0.8333 |
110 |
0.0192 |
- |
0.9091 |
120 |
0.0095 |
0.2527 |
0.9848 |
130 |
0.0076 |
- |
1.0606 |
140 |
0.0082 |
0.2651 |
1.1364 |
150 |
0.0068 |
- |
1.2121 |
160 |
0.0052 |
0.2722 |
1.2879 |
170 |
0.0029 |
- |
1.3636 |
180 |
0.0042 |
0.273 |
1.4394 |
190 |
0.0026 |
- |
1.5152 |
200 |
0.0036 |
0.2761 |
1.5909 |
210 |
0.0044 |
- |
1.6667 |
220 |
0.0027 |
0.2796 |
1.7424 |
230 |
0.0025 |
- |
1.8182 |
240 |
0.0025 |
0.2817 |
1.8939 |
250 |
0.003 |
- |
1.9697 |
260 |
0.0026 |
0.2817 |
2.0455 |
270 |
0.0035 |
- |
2.1212 |
280 |
0.002 |
0.2816 |
2.1970 |
290 |
0.0023 |
- |
2.2727 |
300 |
0.0016 |
0.2821 |
2.3485 |
310 |
0.0023 |
- |
2.4242 |
320 |
0.0015 |
0.2838 |
2.5 |
330 |
0.0014 |
- |
2.5758 |
340 |
0.002 |
0.2842 |
2.6515 |
350 |
0.002 |
- |
2.7273 |
360 |
0.0013 |
0.2847 |
2.8030 |
370 |
0.0009 |
- |
2.8788 |
380 |
0.0018 |
0.2857 |
2.9545 |
390 |
0.0016 |
- |
注:加粗行表示保存的检查点。
环境影响
使用 CodeCarbon 测量碳排放:
- 碳排放:0.003千克二氧化碳
- 使用时长:0.072小时
训练硬件
- 是否使用云服务:否
- GPU型号:1 x NVIDIA GeForce RTX 3090
- CPU型号:13th Gen Intel(R) Core(TM) i7-13700K
- 内存大小:31.78 GB
框架版本
- Python:3.9.16
- SetFit:1.0.0.dev0
- Sentence Transformers:2.2.2
- Transformers:4.29.0
- PyTorch:1.13.1+cu117
- Datasets:2.15.0
- Tokenizers:0.13.3
📄 许可证
本项目采用apache-2.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}
}