SetFit Future Skills Classifier
This is a SetFit model that can be used for Text Classification. This SetFit model uses sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 as the Sentence Transformer embedding model. A OneVsRestClassifier instance is used for classification.
The model has been trained using an efficient few-shot learning technique that involves:
- Fine-tuning a Sentence Transformer with contrastive learning.
- Training a classification head with features from the fine-tuned Sentence Transformer.
Model Details
The model was trained on the basis of a small amount of training data for the classification of technical future skills from the Future Skill Framework of the Stifterverband. Eight sentences per future skill were created for the few-shot classification, each using the sentence ‘The event deals with topic X’, where X is replaced by the name and short descriptions of the skills.
Model Description
- Model Type: SetFit
- Sentence Transformer body: sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
- Classification head: a OneVsRestClassifier instance
- Maximum Sequence Length: 128 tokens
- Number of Classes: 6 classes
Model Sources
- Repository: SetFit on GitHub
- Paper: Efficient Few-Shot Learning Without Prompts
- Blogpost: SetFit: Efficient Few-Shot Learning Without Prompts
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
import torch
# load model
model = SetFitModel.from_pretrained("Chernoffface/fs-setfit-multilable-model")
# set labels
labels = [
"Data Analytics & KI",
"Softwareentwicklung",
"Nutzerzentriertes Design",
"IT-Architektur",
"Hardware/Robotikentwicklung",
"Quantencomputing"
]
# define course description
input_text = " Blockchain Projektpraktikum: Diese Veranstaltung richtet sich an Studierende, die die Vorlesung Cryptocurrencies besucht oder sich anderweitig mit Blockchain-Technologien beschäftigt haben und einige Aspekte dieses Themenkomplexes eingehender verstehen und untersuchen wollen. Sie bietet eine Plattform, um neuartige Anwendungen basierend auf Blockchain Technologie auf ihre Umsetzbarkeit und Sinnhaftigkeit zu überprüfen. Nach einer Einführung zu den Themen Blockchain Konzepte, Projektmanagement und Blockchain Development, sollen komplexe kryptographische Systeme und Bausteine aus dem Bereich Kryptowährung und Blockchain in Teamarbeit verstanden und in einem dezentralen System implementiert werden. Dabei wird die eigenständige Konzeption eines Projektes gefordert, das im Verlauf der Veranstaltung von den Studierenden geplant und umgesetzt werden soll. Die Studierenden erhalten in diesem Praktikum erste Erfahrungen mit der Umsetzung eines komplexeren Entwicklungsprojektes. Im Rahmen des Projektpraktikums erarbeiten die Studierenden weiter fortgeschrittene Konzepte im Bereich Blockchain und Blockchain Entwicklung, wie beispielsweise Performance- und Sicherheitsaspekte, präsentieren diese in der Gruppe und integrieren sie in ihre Anwendung."
# predict technical future skill
preds = model([input_text])
# convert tensor to label
predicted_labels = [labels[i] for i, pred in enumerate(preds[0]) if pred == 1]
# print resolution
print(predicted_labels)
Training Details
Framework Versions
- Python: 3.12.7
- SetFit: 1.1.0
- Sentence Transformers: 3.2.1
- Transformers: 4.45.2
- PyTorch: 2.5.0+cu121
- Datasets: 2.19.1
- Tokenizers: 0.20.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
- 42