| --- |
| library_name: setfit |
| tags: |
| - setfit |
| - sentence-transformers |
| - text-classification |
| - generated_from_setfit_trainer |
| base_model: distilbert/distilbert-base-uncased-finetuned-sst-2-english |
| datasets: |
| - wikd/customer_data |
| metrics: |
| - accuracy |
| widget: |
| - text: I'm very satisfied with my purchase |
| - text: The delivery was very quick! |
| - text: The product is out of stock |
| - text: The return process was easy |
| - text: I changed my mind and want to cancel my order |
| pipeline_tag: text-classification |
| inference: true |
| model-index: |
| - name: SetFit with distilbert/distilbert-base-uncased-finetuned-sst-2-english |
| results: |
| - task: |
| type: text-classification |
| name: Text Classification |
| dataset: |
| name: wikd/customer_data |
| type: wikd/customer_data |
| split: test |
| metrics: |
| - type: accuracy |
| value: 1.0 |
| name: Accuracy |
| --- |
| |
| # SetFit with distilbert/distilbert-base-uncased-finetuned-sst-2-english |
|
|
| This is a [SetFit](https://github.com/huggingface/setfit) model trained on the [wikd/customer_data](https://huggingface.co/datasets/wikd/customer_data) dataset that can be used for Text Classification. This SetFit model uses [distilbert/distilbert-base-uncased-finetuned-sst-2-english](https://huggingface.co/distilbert/distilbert-base-uncased-finetuned-sst-2-english) 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:** [distilbert/distilbert-base-uncased-finetuned-sst-2-english](https://huggingface.co/distilbert/distilbert-base-uncased-finetuned-sst-2-english) |
| - **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:** [wikd/customer_data](https://huggingface.co/datasets/wikd/customer_data) |
| <!-- - **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 | |
| |:------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
| | 0 | <ul><li>'I need to speak to a real person, not a dumb machine.'</li><li>'Stop with the automated nonsense and connect me to a human!'</li><li>'Your automated system is beyond frustrating, let me talk to someone!'</li></ul> | |
| | 1 | <ul><li>'I love your new product!'</li><li>'The delivery was very quick!'</li><li>'I would recommend this company to a friend'</li></ul> | |
|
|
| ## Evaluation |
|
|
| ### Metrics |
| | Label | Accuracy | |
| |:--------|:---------| |
| | **all** | 1.0 | |
|
|
| ## 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("setfit_model_id") |
| # Run inference |
| preds = model("The product is out of stock") |
| ``` |
|
|
| <!-- |
| ### 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 | 10.0 | 14 | |
|
|
| | Label | Training Sample Count | |
| |:------|:----------------------| |
| | 0 | 46 | |
| | 1 | 6 | |
|
|
| ### Training Hyperparameters |
| - batch_size: (16, 16) |
| - num_epochs: (1, 1) |
| - max_steps: -1 |
| - sampling_strategy: oversampling |
| - num_iterations: 20 |
| - body_learning_rate: (2e-05, 2e-05) |
| - head_learning_rate: 2e-05 |
| - 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.0077 | 1 | 0.1479 | - | |
| | 0.3846 | 50 | 0.0008 | - | |
| | 0.7692 | 100 | 0.0005 | - | |
| |
| ### Framework Versions |
| - Python: 3.11.8 |
| - SetFit: 1.0.3 |
| - Sentence Transformers: 2.5.1 |
| - Transformers: 4.38.2 |
| - PyTorch: 2.2.1 |
| - Datasets: 2.18.0 |
| - Tokenizers: 0.15.2 |
| |
| ## 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.* |
| --> |