setfit-newsapi / README.md
Kevinger's picture
Add SetFit model
ec805d2 verified
metadata
library_name: setfit
tags:
  - setfit
  - sentence-transformers
  - text-classification
  - generated_from_setfit_trainer
metrics:
  - accuracy
widget:
  - text: >-
      Sonos speakers are up to 25 percent off, plus the rest of this week's best
      tech deals | Engadget - Engadget
  - text: >-
      Judy Blume says her quote about being 'behind' J.K. Rowling was 'taken out
      of context' as she clarifies support for the trans community - Yahoo
      Entertainment
  - text: >-
      Mock Draft Monday | Here's who CBS Sports has the Commanders taking in the
      first round - Washington Commanders
  - text: >-
      GIANT 130-foot asteroid rushing towards Earth TODAY at 42404 kmph, NASA
      warns - HT Tech
  - text: >-
      Jonathan Majors & Manager Entertainment 360 Part Ways; Actor Facing
      Domestic Violence Allegations In NYC - Deadline
pipeline_tag: text-classification
inference: true
base_model: sentence-transformers/paraphrase-mpnet-base-v2
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.8577235772357723
            name: Accuracy

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
4
  • 'The Super Mario Bros. Movie Expected To Pass $1 Billion, Biggest Movie Release This Year - Kotaku'
  • 'Richard Lewis Has Parkinson’s Disease, Finished With Stand-Up Comedy Career - Deadline'
  • "EXCLUSIVE Dame Mary Quant's plans for 'small funeral' near her home - Daily Mail"
3
  • 'GPT-5 not in the works currently: OpenAI CEO Sam Altman - The Economic Times'
  • 'The 2023 Am Law 100: Ranked by Gross Revenue
5
  • "I used all 2023 flagships — here's why the Galaxy S23 Ultra is my favorite phone - Android Central"
  • "Google's AI experts on the future of artificial intelligence
0
  • 'Fernando Tatis Jr. to make Padres return - MLB.com'
  • 'Knicks-Cavaliers Game 3 live updates: Score, news, more from NBA Playoffs - New York Post '
  • 'Josh Donaldson Likely To Miss Multiple Weeks With Hamstring Strain - MLB Trade Rumors'
2
  • 'Are Fermented Foods Actually Good for You? - Lifehacker'
  • 'ADHD medication
1
  • 'Creating Artificial Avians: A Novel Neural Network Generates Realistic Bird Pictures from Text using Common Sense - Neuroscience News'
  • 'Consciousness begins with feeling, not thinking

Evaluation

Metrics

Label Accuracy
all 0.8577

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("Kevinger/setfit-newsapi")
# Run inference
preds = model("GIANT 130-foot asteroid rushing towards Earth TODAY at 42404 kmph, NASA warns - HT Tech")

Training Details

Training Set Metrics

Training set Min Median Max
Word count 4 9.1771 22
Label Training Sample Count
0 16
1 16
2 16
3 16
4 16
5 16

Training Hyperparameters

  • batch_size: (16, 2)
  • num_epochs: (1, 16)
  • 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.0021 1 0.2926 -
0.1042 50 0.0446 -
0.2083 100 0.0023 -
0.3125 150 0.0011 -
0.4167 200 0.001 -
0.5208 250 0.0007 -
0.625 300 0.0007 -
0.7292 350 0.0009 -
0.8333 400 0.0075 -
0.9375 450 0.0006 -

Framework Versions

  • Python: 3.10.12
  • SetFit: 1.0.3
  • Sentence Transformers: 2.2.2
  • Transformers: 4.35.2
  • PyTorch: 2.1.0+cu121
  • Datasets: 2.16.1
  • Tokenizers: 0.15.0

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