lucienbaumgartner's picture
Add SetFit model
1c4b123 verified
metadata
library_name: setfit
tags:
  - setfit
  - sentence-transformers
  - text-classification
  - generated_from_setfit_trainer
base_model: sentence-transformers/paraphrase-mpnet-base-v2
metrics:
  - accuracy
  - precision
  - recall
  - f1
widget:
  - text: >-
      Ms. Russell's decision to not install flood protection was likely made
      after careful consideration and evaluation of the situation.
  - text: >-
      I cannot determine an appropriate level of punishment as I lack context
      about the situation and Ms. Russel's responsibilities.
  - text: >-
      The lack of installation is a serious oversight, but Ms. Russell may have
      had valid reasons or unforeseen circumstances that contributed to the
      delay.
  - text: >-
      As an AI, I cannot form opinions or emotions, but considering the
      statement's context, it implies Ms. Russel should have had knowledge of
      potential flood risks for this year.
  - text: >-
      I lack information about Ms. Russell and the potential for a flood to
      determine the extent of my agreement with the statement.
pipeline_tag: text-classification
inference: true
model-index:
  - name: SetFit with sentence-transformers/paraphrase-mpnet-base-v2
    results:
      - task:
          type: text-classification
          name: Text Classification
        dataset:
          name: Unknown
          type: unknown
          split: test
        metrics:
          - type: accuracy
            value: 0.95
            name: Accuracy
          - type: precision
            value: 0.95
            name: Precision
          - type: recall
            value: 0.95
            name: Recall
          - type: f1
            value: 0.95
            name: F1

SetFit with sentence-transformers/paraphrase-mpnet-base-v2

This is a SetFit model that can be used for Text Classification. This SetFit model uses sentence-transformers/paraphrase-mpnet-base-v2 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:

  1. Fine-tuning a Sentence Transformer with contrastive learning.
  2. Training a classification head with features from the fine-tuned Sentence Transformer.

Model Details

Model Description

Model Sources

Model Labels

Label Examples
no_info
  • "This statement requires context about John's situation and the road conditions. Without it, assuming good reasons to believe there would be no other car is speculative."
  • 'I have no knowledge of Ms. Russell or any potential floods she may have been concerned about. '
  • "I don't have access to real-time weather patterns or geographical data to assess flood probability."
info
  • 'She was responsible for ensuring the safety of her community and failed to do so.'
  • 'The previous two years showed no flooding.'
  • 'John could have been more cautious, but it might not warrant very severe punishment.'

Evaluation

Metrics

Label Accuracy Precision Recall F1
all 0.95 0.95 0.95 0.95

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

# Download from the 🤗 Hub
model = SetFitModel.from_pretrained("setfit_model_id")
# Run inference
preds = model("I cannot determine an appropriate level of punishment as I lack context about the situation and Ms. Russel's responsibilities.")

Training Details

Training Set Metrics

Training set Min Median Max
Word count 2 20.0312 36
Label Training Sample Count
info 16
no_info 16

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.0125 1 0.2422 -
0.625 50 0.0018 -

Framework Versions

  • Python: 3.11.7
  • SetFit: 1.0.3
  • Sentence Transformers: 2.7.0
  • Transformers: 4.40.1
  • PyTorch: 2.3.0
  • 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}
}