Edit model card

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
ls
  • 'List all files and directories'
  • 'Show files in the current directory'
  • 'Display contents of the current directory'
cd
  • 'Change to the specified directory'
  • 'Move to the home directory'
  • 'Navigate to the specified directory path'
mkdir docs
  • "Create a new directory named 'docs'"
mkdir projects
  • "Make a directory named 'projects'"
mkdir data
  • "Create a folder called 'data'"
mkdir images
  • "Make a directory named 'images'"
mkdir scripts
  • "Create a new folder named 'scripts'"
rm example.txt
  • "Remove the file named 'example.txt'"
rm temp.txt
  • "Delete the file called 'temp.txt'"
rm file1
  • "Remove the file named 'file1'"
rm file2
  • "Delete the file named 'file2'"
rm backup.txt
  • "Remove the file named 'backup.txt'"
cp file1 /destination
  • 'Copy file1 to directory /destination'
cp file2 /backup
  • 'Duplicate file2 to directory /backup'
cp file3 /archive
  • 'Copy file3 to folder /archive'
cp file4 /temp
  • 'Duplicate file4 to folder /temp'
cp file5 /images
  • 'Copy file5 to directory /images'
mv file2 /new_location
  • 'Move file2 to directory /new_location'
mv file3 /backup
  • 'Transfer file3 to directory /backup'
mv file4 /archive
  • 'Move file4 to folder /archive'
mv file5 /temp
  • 'Transfer file5 to folder /temp'
mv file6 /images
  • 'Move file6 to directory /images'
cat README.md
  • "Display the contents of file 'README.md'"
cat notes.txt
  • "Show the content of file 'notes.txt'"
cat data.csv
  • "Print the contents of file 'data.csv'"
cat script.sh
  • "Display the content of file 'script.sh'"
cat config.ini
  • "Show the contents of file 'config.ini'"
grep 'pattern' data.txt
  • "Search for 'pattern' in file 'data.txt'"
grep 'word' text.txt
  • "Find occurrences of 'word' in file 'text.txt'"
grep 'keyword' document.txt
  • "Search for 'keyword' in file 'document.txt'"

Evaluation

Metrics

Label Accuracy
all 0.0

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("souvenger/NLP2Linux")
# Run inference
preds = model("Install package 'vim' as superuser")

Training Details

Training Set Metrics

Training set Min Median Max
Word count 5 5.6667 9
Label Training Sample Count
cat README.md 1
cat config.ini 1
cat data.csv 1
cat notes.txt 1
cat script.sh 1
cd 10
cp file1 /destination 1
cp file2 /backup 1
cp file3 /archive 1
cp file4 /temp 1
cp file5 /images 1
grep 'keyword' document.txt 1
grep 'pattern' data.txt 1
grep 'word' text.txt 1
ls 10
mkdir data 1
mkdir docs 1
mkdir images 1
mkdir projects 1
mkdir scripts 1
mv file2 /new_location 1
mv file3 /backup 1
mv file4 /archive 1
mv file5 /temp 1
mv file6 /images 1
rm backup.txt 1
rm example.txt 1
rm file1 1
rm file2 1
rm temp.txt 1

Training Hyperparameters

  • batch_size: (8, 8)
  • 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.0042 1 0.1215 -
0.2083 50 0.0232 -
0.4167 100 0.01 -
0.625 150 0.0044 -
0.8333 200 0.0025 -

Framework Versions

  • Python: 3.10.13
  • SetFit: 1.0.3
  • Sentence Transformers: 2.3.1
  • Transformers: 4.37.0
  • PyTorch: 2.1.2
  • Datasets: 2.1.0
  • Tokenizers: 0.15.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}
}
Downloads last month
5
Safetensors
Model size
109M params
Tensor type
F32
·
Inference API
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for souvenger/NLP2Linux

Finetuned
this model

Evaluation results