🚀 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}
}