SetFit with sentence-transformers/sentence-t5-large
This is a SetFit model that can be used for Text Classification. This SetFit model uses sentence-transformers/sentence-t5-large as the Sentence Transformer embedding model. A LogisticRegression instance is used for classification.
The model has been trained using an efficient few-shot learning technique that involves:
- Fine-tuning a Sentence Transformer with contrastive learning.
- Training a classification head with features from the fine-tuned Sentence Transformer.
Model Details
Model Description
Model Sources
Model Labels
Label |
Examples |
True |
- 'Exploring historical landmarks in Europe'
- 'How to create an effective resume'
- 'Exercises to improve core strength'
|
False |
- 'Feeling sad or empty for long periods without any specific reason'
- 'Dealing with the emotional impact of chronic illness'
- 'Understanding and coping with panic attacks'
|
Evaluation
Metrics
Uses
Direct Use for Inference
First install the SetFit library:
pip install setfit
Then you can load this model and run inference.
from setfit import SetFitModel
model = SetFitModel.from_pretrained("richie-ghost/setfit-sentence-t5-large-MentalHealth-Topic-Check")
preds = model("Understanding stock market trends")
Training Details
Training Set Metrics
Training set |
Min |
Median |
Max |
Word count |
4 |
6.4583 |
11 |
Label |
Training Sample Count |
True |
22 |
False |
26 |
Training Hyperparameters
- batch_size: (16, 16)
- num_epochs: (8, 8)
- max_steps: -1
- sampling_strategy: oversampling
- body_learning_rate: (2e-05, 1e-05)
- head_learning_rate: 0.01
- loss: CosineSimilarityLoss
- distance_metric: cosine_distance
- margin: 0.25
- end_to_end: False
- use_amp: False
- warmup_proportion: 0.1
- seed: 42
- eval_max_steps: -1
- load_best_model_at_end: True
Training Results
Epoch |
Step |
Training Loss |
Validation Loss |
0.0132 |
1 |
0.2504 |
- |
0.6579 |
50 |
0.2115 |
- |
1.0 |
76 |
- |
0.122 |
1.3158 |
100 |
0.0335 |
- |
1.9737 |
150 |
0.007 |
- |
2.0 |
152 |
- |
0.0352 |
2.6316 |
200 |
0.0037 |
- |
3.0 |
228 |
- |
0.0229 |
3.2895 |
250 |
0.0019 |
- |
3.9474 |
300 |
0.0016 |
- |
4.0 |
304 |
- |
0.0199 |
4.6053 |
350 |
0.001 |
- |
5.0 |
380 |
- |
0.0162 |
5.2632 |
400 |
0.0009 |
- |
5.9211 |
450 |
0.0006 |
- |
6.0 |
456 |
- |
0.0141 |
6.5789 |
500 |
0.0008 |
- |
7.0 |
532 |
- |
0.0133 |
7.2368 |
550 |
0.0008 |
- |
7.8947 |
600 |
0.0006 |
- |
8.0 |
608 |
- |
0.0154 |
- The bold row denotes the saved checkpoint.
Framework Versions
- Python: 3.10.12
- SetFit: 1.0.3
- Sentence Transformers: 2.7.0
- Transformers: 4.40.0
- PyTorch: 2.2.1+cu121
- Datasets: 2.19.0
- Tokenizers: 0.19.1
Citation
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}
}