#
Using SetFit with Hugging Face

SetFit is an efficient and prompt-free framework for few-shot fine-tuning of Sentence Transformers. It achieves high accuracy with little labeled data - for instance, with only 8 labeled examples per class on the Customer Reviews sentiment dataset, SetFit is competitive with fine-tuning RoBERTa Large on the full training set of 3k examples 🤯!

Compared to other few-shot learning methods, SetFit has several unique features:

- 🗣 No prompts or verbalizers: Current techniques for few-shot fine-tuning require handcrafted prompts or verbalizers to convert examples into a format suitable for the underlying language model. SetFit dispenses with prompts altogether by generating rich embeddings directly from text examples.
- 🏎 Fast to train: SetFit doesn’t require large-scale models like T0 or GPT-3 to achieve high accuracy. As a result, it is typically an order of magnitude (or more) faster to train and run inference with.
- 🌎 Multilingual support: SetFit can be used with any Sentence Transformer on the Hub, which means you can classify text in multiple languages by simply fine-tuning a multilingual checkpoint.

##
Exploring SetFit on the Hub

You can find SetFit models by filtering at the left of the models page.

All models on the Hub come with these useful features:

1. An automatically generated model card with a brief description.
2. An interactive widget you can use to play with the model directly in the browser.
3. An Inference API that allows you to make inference requests.

##
Installation

To get started, you can follow the SetFit installation guide. You can also use the following one-line install through pip:

    pip install -U setfit

##
Using existing models

All `setfit` models can easily be loaded from the Hub.

    from setfit import SetFitModel

    model = SetFitModel.from_pretrained("tomaarsen/setfit-paraphrase-mpnet-base-v2-sst2-8-shot")

Once loaded, you can use `SetFitModel.predict` to perform inference.

    model.predict("Amelia Earhart flew her single engine Lockheed Vega 5B across the Atlantic to Paris.")

    ['positive', 'negative']

If you want to load a specific SetFit model, you can click `Use in SetFit` and you will be given a working snippet!

##
Additional resources

- All SetFit models available on the Hub
- SetFit repository
- SetFit docs
- SetFit paper