
# SetFit with BAAI/bge-small-en-v1.5

This is a [SetFit](https://github.com/huggingface/setfit) model that can be used for Text Classification. This SetFit model uses [BAAI/bge-small-en-v1.5](https://huggingface.co/BAAI/bge-small-en-v1.5) as the Sentence Transformer embedding model. A [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance is used for classification.

The model has been trained using an efficient few-shot learning technique that involves:

1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
2. Training a classification head with features from the fine-tuned Sentence Transformer.

## Model Details

### Model Description
- **Model Type:** SetFit
- **Sentence Transformer body:** [BAAI/bge-small-en-v1.5](https://huggingface.co/BAAI/bge-small-en-v1.5)
- **Classification head:** a [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance
- **Maximum Sequence Length:** 512 tokens
- **Number of Classes:** 2 classes
<!-- - **Training Dataset:** [Unknown](https://huggingface.co/datasets/unknown) -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->

### Model Sources

- **Repository:** [SetFit on GitHub](https://github.com/huggingface/setfit)
- **Paper:** [Efficient Few-Shot Learning Without Prompts](https://arxiv.org/abs/2209.11055)
- **Blogpost:** [SetFit: Efficient Few-Shot Learning Without Prompts](https://huggingface.co/blog/setfit)

### Model Labels
| Label     | Examples                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:----------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| sensitive | <ul><li>'Im Amie Taylaran from Pan-ay Clarin from Solo Parent Organization grateful and excited to receive the help you are giving.'</li><li>'I want to volunteer'</li><li>'There is now a growing popular street  Pennsylvania street in the annex Phase 3 of Greenland Executive Village  for bikers  walkers  joggers every morning when the weather is fair. I presume they are groups of retirees  matrons  sports enthusiasts an even dance exercisers. They all wear face masks for health protection against COVID-19 infection. My concern is this: face masks are just thrown away after use when these fitness buffs are done with their morning binges. Face masks thrown on the pavement of the street  the sidewalks and the grass field. Health fitness aficionados they all are  but careless with the proper disposal of their face masks.'</li></ul> |
| other     | <ul><li>'There is a man here forced us the girls in the house to have sex with him. He took videos of us and now he is asking for money. Can someone help us?'</li><li>'In this community alcohol abuse is rampant. The men go out drinking and come home and beat their wives. They are getting seriously injured.'</li><li>"I find myself in a very challenging situation - I've experienced sexual abuse at work. If anyone has gone through something similar, I would appreciate your guidance and support. It's tough, but we're stronger together."</li></ul>                                                                                                                                                                                                                                                                                                   |

## Evaluation

### Metrics
| Label   | Accuracy |
|:--------|:---------|
| **all** | 0.9828   |

## Uses

### Direct Use for Inference

First install the SetFit library:

```bash
pip install setfit
```

Then you can load this model and run inference.

```python
from setfit import SetFitModel

# Download from the 🤗 Hub
model = SetFitModel.from_pretrained("skylord/setfit-bge-small-v1.5-sst2-8-shot-talk2loop")
# Run inference
preds = model("Drenage problem here in lilanda")
```

<!--
### Downstream Use

*List how someone could finetune this model on their own dataset.*
-->

<!--
### Out-of-Scope Use

*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->

<!--
## Bias, Risks and Limitations

*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->

<!--
### Recommendations

*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->

## Training Details

### Training Set Metrics
| Training set | Min | Median | Max |
|:-------------|:----|:-------|:----|
| Word count   | 4   | 38.0   | 171 |

| Label     | Training Sample Count |
|:----------|:----------------------|
| sensitive | 8                     |
| other     | 8                     |

### Training Hyperparameters
- batch_size: (32, 32)
- num_epochs: (10, 10)
- 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: False

### Training Results
| Epoch | Step | Training Loss | Validation Loss |
|:-----:|:----:|:-------------:|:---------------:|
| 0.2   | 1    | 0.1988        | -               |
| 10.0  | 50   | 0.019         | -               |

### Framework Versions
- Python: 3.10.11
- SetFit: 1.0.3
- Sentence Transformers: 2.3.1
- Transformers: 4.37.2
- PyTorch: 2.2.0+cu121
- Datasets: 2.16.1
- Tokenizers: 0.15.1

## Citation

### BibTeX
```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}
}
```

<!--
## Glossary

*Clearly define terms in order to be accessible across audiences.*
-->

<!--
## Model Card Authors

*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->

<!--
## Model Card Contact

*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->
{"library_name": "setfit", "tags": ["setfit", "sentence-transformers", "text-classification", "generated_from_setfit_trainer"], "metrics": ["accuracy"], "widget": [{"text": "There is a man here forced us the girls in the house to have sex with him. He took videos of us and now he is asking for money. Can someone help us?"}, {"text": "I work in textile factory. My boss, he not nice. He do things I don't like. He make job not good, and my friends stop talk to me. I need help"}, {"text": "In Bahay Toro QC  even though they did not wear face masks  there was not much news of COVID  there were those who felt symptoms but self-quarantined and there were also those who died who were told that they were COVID even though they were not. Only a few were reported dead in the area due to COVID  less than five. During the pandemic  the Barangay had curfew  social distancing  facemasks and alcohol. We received SAP  canned rice  alcohol and facemasks and money. If the number of COVID cases increases  the barangay is not ready and when it increases  that is just the time that they will be stricter. All of us in our family were able to be vaccinated and had booster shots apart from my younger brother. When it tightens again and there is a pandemic  unemployment and source of income will be a test. Focus more on providing immediate assistance in the midst of a pandemic"}, {"text": "There is a child here who will be married soon. Please send help urgently. She is only 13. It is not the first time he has done this."}, {"text": "Drenage problem here in lilanda"}], "pipeline_tag": "text-classification", "inference": true, "base_model": "BAAI/bge-small-en-v1.5", "model-index": [{"name": "SetFit with BAAI/bge-small-en-v1.5", "results": [{"task": {"type": "text-classification", "name": "Text Classification"}, "dataset": {"name": "Unknown", "type": "unknown", "split": "test"}, "metrics": [{"type": "accuracy", "value": 0.9827586206896551, "name": "Accuracy"}]}]}]}
setfit safetensors bert sentence-transformers text-classification generated_from_setfit_trainer arxiv:2209.11055 base_model:BAAI/bge-small-en-v1.5 model-index region:us