Text Classification
ONNX
glitext
text classification
nli
sentiment analysis
rpeel commited on
Commit
c031e83
·
verified ·
1 Parent(s): e38c2bd

Update model card and security scan results

Browse files
Files changed (1) hide show
  1. README.md +176 -15
README.md CHANGED
@@ -1,8 +1,18 @@
1
  ---
2
- library_name: glitext
3
  license: apache-2.0
 
 
 
 
 
 
4
  tags:
 
 
 
5
  - glitext
 
 
6
  glitext:
7
  name: class-large
8
  label: GliText Classification (Accurate)
@@ -12,17 +22,177 @@ glitext:
12
  association: false
13
  span_mode: false
14
  size_gb: 2.41
15
- hf_repo: rpeel/glitext-class-large
16
  source_url: knowledgator/gliclass-large-v3.0
17
  ---
18
 
19
- # glitext-class-large
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
- An efficient zero-shot text classification model tuned for high accuracy.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
- ## Requirements
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
- To download this model to the SAS GLiText server:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  ```
28
  POST /v1/models/download?name=class-large
@@ -34,11 +204,6 @@ To download and load into memory in one step:
34
  PUT /v1/models?name=class-large
35
  ```
36
 
37
- ## Source Model
38
-
39
- Exported from [knowledgator/gliclass-large-v3.0](https://huggingface.co/knowledgator/gliclass-large-v3.0).
40
- See the [original model card](https://huggingface.co/knowledgator/gliclass-large-v3.0) for full architecture and training details.
41
-
42
  ## Security Scan
43
 
44
  Scanned with [modelaudit](https://github.com/promptfoo/modelaudit) v0.2.40 on 2026-04-26. 16/16 checks passed. [Full results](modelaudit.json).
@@ -47,7 +212,3 @@ Scanned with [modelaudit](https://github.com/promptfoo/modelaudit) v0.2.40 on 20
47
  | File | Size | SHA-256 |
48
  |------|------|---------|
49
  | `model.onnx` | 1756.9 MB | `741d548cc1e6480c…` |
50
-
51
- ## License
52
-
53
- [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0). Derived from [knowledgator/gliclass-large-v3.0](https://huggingface.co/knowledgator/gliclass-large-v3.0) by [knowledgator](https://huggingface.co/knowledgator).
 
1
  ---
 
2
  license: apache-2.0
3
+ datasets:
4
+ - BioMike/formal-logic-reasoning-gliclass-2k
5
+ - knowledgator/gliclass-v3-logic-dataset
6
+ - tau/commonsense_qa
7
+ metrics:
8
+ - f1
9
  tags:
10
+ - text classification
11
+ - nli
12
+ - sentiment analysis
13
  - glitext
14
+ pipeline_tag: text-classification
15
+ library_name: glitext
16
  glitext:
17
  name: class-large
18
  label: GliText Classification (Accurate)
 
22
  association: false
23
  span_mode: false
24
  size_gb: 2.41
25
+ hf_repo: sassoftware/glitext-class-large
26
  source_url: knowledgator/gliclass-large-v3.0
27
  ---
28
 
29
+ ![image/png](https://cdn-uploads.huggingface.co/production/uploads/6405f62ba577649430be5124/I9RAQol7giilBHbbf2T7M.png)
30
+
31
+ # GLiClass: Generalist and Lightweight Model for Sequence Classification
32
+
33
+ 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.
34
+
35
+ It can be used for `topic classification`, `sentiment analysis`, and as a reranker in `RAG` pipelines.
36
+
37
+ The model was trained on logical tasks to induce reasoning. LoRa adapters were used to fine-tune the model without destroying the previous knowledge.
38
+
39
+ LoRA parameters:
40
+ | | [gliclass‑modern‑base‑v3.0](https://huggingface.co/knowledgator/gliclass-modern-base-v3.0) | [gliclass‑modern‑large‑v3.0](https://huggingface.co/knowledgator/gliclass-modern-large-v3.0) | [gliclass‑base‑v3.0](https://huggingface.co/knowledgator/gliclass-base-v3.0) | [gliclass‑large‑v3.0](https://huggingface.co/knowledgator/gliclass-large-v3.0) |
41
+ |----------------------|---------------------------------|----------------------------------|--------------------------------|---------------------------------|
42
+ | LoRa r | 512 | 768 | 384 | 384 |
43
+ | LoRa α | 1024 | 1536 | 768 | 768 |
44
+ | focal loss α | 0.7 | 0.7 | 0.7 | 0.7 |
45
+ | Target modules | "Wqkv", "Wo", "Wi", "linear_1", "linear_2" | "Wqkv", "Wo", "Wi", "linear_1", "linear_2" | "query_proj", "key_proj", "value_proj", "dense", "linear_1", "linear_2", mlp.0", "mlp.2", "mlp.4" | "query_proj", "key_proj", "value_proj", "dense", "linear_1", "linear_2", mlp.0", "mlp.2", "mlp.4" |
46
+
47
+ GLiClass-V3 Models:
48
+ Model name | Size | Params | Average Banchmark | Average Inference Speed (batch size = 1, a6000, examples/s)
49
+ |----------|------|--------|-------------------|---------------------------------------------------------|
50
+ [gliclass‑edge‑v3.0](https://huggingface.co/knowledgator/gliclass‑edge‑v3.0)| 131 MB | 32.7M | 0.4873 | 97.29 |
51
+ [gliclass‑modern‑base‑v3.0](https://huggingface.co/knowledgator/gliclass-modern-base-v3.0)| 606 MB | 151M | 0.5571 | 54.46 |
52
+ [gliclass‑modern‑large‑v3.0](https://huggingface.co/knowledgator/gliclass-modern-large-v3.0)| 1.6 GB | 399M | 0.6082 | 43.80 |
53
+ [gliclass‑base‑v3.0](https://huggingface.co/knowledgator/gliclass-base-v3.0)| 746 MB | 187M | 0.6556 | 51.61 |
54
+ [gliclass‑large‑v3.0](https://huggingface.co/knowledgator/gliclass-large-v3.0)| 1.75 GB | 439M | 0.7001 | 25.22 |
55
+
56
+
57
+ ![image/png](https://cdn-uploads.huggingface.co/production/uploads/6405f62ba577649430be5124/MvfWyOdG824KWWB4Hy-dG.png)
58
+
59
+ ### How to use:
60
+ First of all, you need to install GLiClass library:
61
+ ```bash
62
+ pip install gliclass
63
+ pip install -U transformers>=4.48.0
64
+ ```
65
+
66
+ Then you need to initialize a model and a pipeline:
67
+ ```python
68
+ from gliclass import GLiClassModel, ZeroShotClassificationPipeline
69
+ from transformers import AutoTokenizer
70
+
71
+ model = GLiClassModel.from_pretrained("knowledgator/gliclass-large-v3.0")
72
+ tokenizer = AutoTokenizer.from_pretrained("knowledgator/gliclass-large-v3.0")
73
+ pipeline = ZeroShotClassificationPipeline(model, tokenizer, classification_type='multi-label', device='cuda:0')
74
+
75
+ text = "One day I will see the world!"
76
+ labels = ["travel", "dreams", "sport", "science", "politics"]
77
+ results = pipeline(text, labels, threshold=0.5)[0] #because we have one text
78
+ for result in results:
79
+ print(result["label"], "=>", result["score"])
80
+ ```
81
+
82
+ If you want to use it for NLI type of tasks, we recommend representing your premise as a text and hypothesis as a label, you can put several hypotheses, but the model works best with a single input hypothesis.
83
+ ```python
84
+ # Initialize model and multi-label pipeline
85
+ text = "The cat slept on the windowsill all afternoon"
86
+ labels = ["The cat was awake and playing outside."]
87
+ results = pipeline(text, labels, threshold=0.0)[0]
88
+ print(results)
89
+ ```
90
+
91
+ ### Benchmarks:
92
+ Below, you can see the F1 score on several text classification datasets. All tested models were not fine-tuned on those datasets and were tested in a zero-shot setting.
93
 
94
+ GLiClass-V3:
95
+ | Dataset | [gliclass‑large‑v3.0](https://huggingface.co/knowledgator/gliclass-large-v3.0) | [gliclass‑base��v3.0](https://huggingface.co/knowledgator/gliclass-base-v3.0) | [gliclass‑modern‑large‑v3.0](https://huggingface.co/knowledgator/gliclass-modern-large-v3.0) | [gliclass‑modern‑base‑v3.0](https://huggingface.co/knowledgator/gliclass-modern-base-v3.0) | [gliclass‑edge‑v3.0](https://huggingface.co/knowledgator/gliclass-edge-v3.0) |
96
+ |----------------------------|---------|---------|---------|---------|---------|
97
+ | CR | 0.9398 | 0.9127 | 0.8952 | 0.8902 | 0.8215 |
98
+ | sst2 | 0.9192 | 0.8959 | 0.9330 | 0.8959 | 0.8199 |
99
+ | sst5 | 0.4606 | 0.3376 | 0.4619 | 0.2756 | 0.2823 |
100
+ | 20_news_<br>groups | 0.5958 | 0.4759 | 0.3905 | 0.3433 | 0.2217 |
101
+ | spam | 0.7584 | 0.6760 | 0.5813 | 0.6398 | 0.5623 |
102
+ | financial_<br>phrasebank | 0.9000 | 0.8971 | 0.5929 | 0.4200 | 0.5004 |
103
+ | imdb | 0.9366 | 0.9251 | 0.9402 | 0.9158 | 0.8485 |
104
+ | ag_news | 0.7181 | 0.7279 | 0.7269 | 0.6663 | 0.6645 |
105
+ | emotion | 0.4506 | 0.4447 | 0.4517 | 0.4254 | 0.3851 |
106
+ | cap_sotu | 0.4589 | 0.4614 | 0.4072 | 0.3625 | 0.2583 |
107
+ | rotten_<br>tomatoes | 0.8411 | 0.7943 | 0.7664 | 0.7070 | 0.7024 |
108
+ | massive | 0.5649 | 0.5040 | 0.3905 | 0.3442 | 0.2414 |
109
+ | banking | 0.5574 | 0.4698 | 0.3683 | 0.3561 | 0.0272 |
110
+ | snips | 0.9692 | 0.9474 | 0.7707 | 0.5663 | 0.5257 |
111
+ | **AVERAGE** | **0.7193** | **0.6764** | **0.6197** | **0.5577** | **0.4900** |
112
 
113
+ Previous GLiClass models:
114
+ | Dataset | [gliclass‑large‑v1.0‑lw](https://huggingface.co/knowledgator/gliclass-large-v1.0-lw) | [gliclass‑base‑v1.0‑lw](https://huggingface.co/knowledgator/gliclass-base-v1.0-lw) | [gliclass‑modern‑large‑v2.0](https://huggingface.co/knowledgator/gliclass-modern-large-v2.0) | [gliclass‑modern‑base‑v2.0](https://huggingface.co/knowledgator/gliclass-modern-base-v2.0) |
115
+ |----------------------------|---------------------------------|--------------------------------|----------------------------------|---------------------------------|
116
+ | CR | 0.9226 | 0.9097 | 0.9154 | 0.8977 |
117
+ | sst2 | 0.9247 | 0.8987 | 0.9308 | 0.8524 |
118
+ | sst5 | 0.2891 | 0.3779 | 0.2152 | 0.2346 |
119
+ | 20_news_<br>groups | 0.4083 | 0.3953 | 0.3813 | 0.3857 |
120
+ | spam | 0.3642 | 0.5126 | 0.6603 | 0.4608 |
121
+ | financial_<br>phrasebank | 0.9044 | 0.8880 | 0.3152 | 0.3465 |
122
+ | imdb | 0.9429 | 0.9351 | 0.9449 | 0.9188 |
123
+ | ag_news | 0.7559 | 0.6985 | 0.6999 | 0.6836 |
124
+ | emotion | 0.3951 | 0.3516 | 0.4341 | 0.3926 |
125
+ | cap_sotu | 0.4749 | 0.4643 | 0.4095 | 0.3588 |
126
+ | rotten_<br>tomatoes | 0.8807 | 0.8429 | 0.7386 | 0.6066 |
127
+ | massive | 0.5606 | 0.4635 | 0.2394 | 0.3458 |
128
+ | banking | 0.3317 | 0.4396 | 0.1355 | 0.2907 |
129
+ | snips | 0.9707 | 0.9572 | 0.8468 | 0.7378 |
130
+ | **AVERAGE** | **0.6518** | **0.6525** | **0.5619** | **0.5366** |
131
 
132
+
133
+ Cross-Encoders:
134
+ | Dataset | [deberta‑v3‑large‑zeroshot‑v2.0](https://huggingface.co/MoritzLaurer/deberta-v3-large-zeroshot-v2.0) | [deberta‑v3‑base‑zeroshot‑v2.0](https://huggingface.co/MoritzLaurer/deberta-v3-base-zeroshot-v2.0) | [roberta‑large‑zeroshot‑v2.0‑c](https://huggingface.co/MoritzLaurer/roberta-large-zeroshot-v2.0-c) | [comprehend_it‑base](https://huggingface.co/knowledgator/comprehend_it-base) |
135
+ |------------------------------------|--------|--------|--------|--------|
136
+ | CR | 0.9134 | 0.9051 | 0.9141 | 0.8936 |
137
+ | sst2 | 0.9272 | 0.9176 | 0.8573 | 0.9006 |
138
+ | sst5 | 0.3861 | 0.3848 | 0.4159 | 0.4140 |
139
+ | enron_<br>spam | 0.5970 | 0.4640 | 0.5040 | 0.3637 |
140
+ | financial_<br>phrasebank | 0.5820 | 0.6690 | 0.4550 | 0.4695 |
141
+ | imdb | 0.9180 | 0.8990 | 0.9040 | 0.4644 |
142
+ | ag_news | 0.7710 | 0.7420 | 0.7450 | 0.6016 |
143
+ | emotion | 0.4840 | 0.4950 | 0.4860 | 0.4165 |
144
+ | cap_sotu | 0.5020 | 0.4770 | 0.5230 | 0.3823 |
145
+ | rotten_<br>tomatoes | 0.8680 | 0.8600 | 0.8410 | 0.4728 |
146
+ | massive | 0.5180 | 0.5200 | 0.5200 | 0.3314 |
147
+ | banking77 | 0.5670 | 0.4460 | 0.2900 | 0.4972 |
148
+ | snips | 0.8340 | 0.7477 | 0.5430 | 0.7227 |
149
+ | **AVERAGE** | **0.6821** | **0.6559** | **0.6152** | **0.5331** |
150
+
151
+
152
+ Inference Speed:
153
+
154
+ Each model was tested on examples with 64, 256, and 512 tokens in text and 1, 2, 4, 8, 16, 32, 64, and 128 labels on an a6000 GPU. Then, scores were averaged across text lengths.
155
+
156
+ ![image/png](https://cdn-uploads.huggingface.co/production/uploads/6405f62ba577649430be5124/YipDUMZuIqL4f8mWl7IHt.png)
157
+
158
+ Model  Name / n samples per second per m labels | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | **Average** |
159
+ |---------------------|---|---|---|---|----|----|----|-----|---------|
160
+ | [gliclass‑edge‑v3.0](https://huggingface.co/knowledgator/gliclass-edge-v3.0) | 103.81 | 101.01 | 103.50 | 103.50 | 98.36 | 96.77 | 88.76 | 82.64 | **97.29** |
161
+ | [gliclass‑modern‑base‑v3.0](https://huggingface.co/knowledgator/gliclass-modern-base-v3.0) | 56.00 | 55.46 | 54.95 | 55.66 | 54.73 | 54.95 | 53.48 | 50.34 | **54.46** |
162
+ | [gliclass‑modern‑large‑v3.0](https://huggingface.co/knowledgator/gliclass-modern-large-v3.0) | 46.30 | 46.82 | 46.66 | 46.30 | 43.93 | 44.73 | 42.77 | 32.89 | **43.80** |
163
+ | [gliclass‑base‑v3.0](https://huggingface.co/knowledgator/gliclass-base-v3.0) | 49.42 | 50.25 | 40.05 | 57.69 | 57.14 | 56.39 | 55.97 | 45.94 | **51.61** |
164
+ | [gliclass‑large‑v3.0](https://huggingface.co/knowledgator/gliclass-large-v3.0) | 19.05 | 26.86 | 23.64 | 29.27 | 29.04 | 28.79 | 27.55 | 17.60 | **25.22** |
165
+ | [deberta‑v3‑base‑zeroshot‑v2.0](https://huggingface.co/MoritzLaurer/deberta-v3-base-zeroshot-v2.0) | 24.55 | 30.40 | 15.38 | 7.62 | 3.77 | 1.87 | 0.94 | 0.47 | **10.63** |
166
+ | [deberta‑v3‑large‑zeroshot‑v2.0](https://huggingface.co/MoritzLaurer/deberta-v3-large-zeroshot-v2.0) | 16.82 | 15.82 | 7.93 | 3.98 | 1.99 | 0.99 | 0.49 | 0.25 | **6.03** |
167
+ | [roberta‑large‑zeroshot‑v2.0‑c](https://huggingface.co/MoritzLaurer/roberta-large-zeroshot-v2.0-c) | 50.42 | 39.27 | 19.95 | 9.95 | 5.01 | 2.48 | 1.25 | 0.64 | **16.12** |
168
+ | [comprehend_it‑base](https://huggingface.co/knowledgator/comprehend_it-base) | 21.79 | 27.32 | 13.60 | 7.58 | 3.80 | 1.90 | 0.97 | 0.49 | **9.72** |
169
+
170
+ ## Citation
171
+ ```bibtex
172
+ @misc{stepanov2025gliclassgeneralistlightweightmodel,
173
+ title={GLiClass: Generalist Lightweight Model for Sequence Classification Tasks},
174
+ author={Ihor Stepanov and Mykhailo Shtopko and Dmytro Vodianytskyi and Oleksandr Lukashov and Alexander Yavorskyi and Mykyta Yaroshenko},
175
+ year={2025},
176
+ eprint={2508.07662},
177
+ archivePrefix={arXiv},
178
+ primaryClass={cs.LG},
179
+ url={https://arxiv.org/abs/2508.07662},
180
+ }
181
+ ```
182
+
183
+ ## Source Model Repo
184
+
185
+ This model is derived from [`knowledgator/gliclass-large-v3.0`](https://huggingface.co/knowledgator/gliclass-large-v3.0). See the upstream repository for the original safetensors weights, training data, and the full upstream model card.
186
+
187
+ ## ONNX Weights
188
+
189
+ ONNX weights added by SAS — converted from the upstream safetensors checkpoint.
190
+
191
+ File in this repo: `model.onnx`.
192
+
193
+ ## Using this Model with the SAS GLiText API
194
+
195
+ This repo is consumed by the SAS GLiText product. To download it onto a SAS GLiText server:
196
 
197
  ```
198
  POST /v1/models/download?name=class-large
 
204
  PUT /v1/models?name=class-large
205
  ```
206
 
 
 
 
 
 
207
  ## Security Scan
208
 
209
  Scanned with [modelaudit](https://github.com/promptfoo/modelaudit) v0.2.40 on 2026-04-26. 16/16 checks passed. [Full results](modelaudit.json).
 
212
  | File | Size | SHA-256 |
213
  |------|------|---------|
214
  | `model.onnx` | 1756.9 MB | `741d548cc1e6480c…` |