|
--- |
|
license: apache-2.0 |
|
datasets: |
|
- MoritzLaurer/synthetic_zeroshot_mixtral_v0.1 |
|
language: |
|
- en |
|
metrics: |
|
- f1 |
|
pipeline_tag: zero-shot-classification |
|
tags: |
|
- text classification |
|
- zero-shot |
|
- small language models |
|
- RAG |
|
- sentiment analysis |
|
--- |
|
|
|
# ⭐ GLiClass: Generalist and Lightweight Model for Sequence Classification |
|
|
|
This is an efficient zero-shot classifier inspired by [GLiNER](https://github.com/urchade/GLiNER/tree/main) work. It demonstrates the same performance as a cross-encoder while being more compute-efficient because classification is done at a single forward path. |
|
|
|
It can be used for `topic classification`, `sentiment analysis` and as a reranker in `RAG` pipelines. |
|
|
|
The model was trained on synthetic data and can be used in commercial applications. |
|
|
|
This version of the model utilize the [LLM2Vec](https://github.com/McGill-NLP/llm2vec/tree/main/llm2vec) approach for converting modern decoders to bi-directional encoder. It brings the following benefits: |
|
* Enhanced performance and generalization capabilities; |
|
* Support for Flash Attention; |
|
* Extended context window. |
|
|
|
|
|
### How to use: |
|
First of all, you need to install GLiClass library: |
|
```bash |
|
pip install gliclass |
|
``` |
|
|
|
Than you need to initialize a model and a pipeline: |
|
```python |
|
from gliclass import GLiClassModel, ZeroShotClassificationPipeline |
|
from transformers import AutoTokenizer |
|
|
|
model = GLiClassModel.from_pretrained("knowledgator/gliclass-llama-1.3B-v1.0") |
|
tokenizer = AutoTokenizer.from_pretrained("knowledgator/gliclass-llama-1.3B-v1.0") |
|
|
|
pipeline = ZeroShotClassificationPipeline(model, tokenizer, classification_type='multi-label', device='cuda:0') |
|
|
|
text = "One day I will see the world!" |
|
labels = ["travel", "dreams", "sport", "science", "politics"] |
|
results = pipeline(text, labels, threshold=0.5)[0] #because we have one text |
|
|
|
for result in results: |
|
print(result["label"], "=>", result["score"]) |
|
``` |
|
|
|
### Benchmarks: |
|
While the model is some how comparable to DeBERTa version in zero-shot setting, it demonstrates state-of-the-art performance in few-shot setting. |
|
![Few-shot performance](few_shot.png) |
|
|
|
### Join Our Discord |
|
|
|
Connect with our community on Discord for news, support, and discussion about our models. Join [Discord](https://discord.gg/dkyeAgs9DG). |
|
|