anismahmahi commited on
Commit
90fbb1e
·
1 Parent(s): 16f8bfa

Add SetFit model

Browse files
1_Pooling/config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "word_embedding_dimension": 768,
3
+ "pooling_mode_cls_token": false,
4
+ "pooling_mode_mean_tokens": true,
5
+ "pooling_mode_max_tokens": false,
6
+ "pooling_mode_mean_sqrt_len_tokens": false
7
+ }
README.md ADDED
@@ -0,0 +1,272 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: setfit
3
+ tags:
4
+ - setfit
5
+ - sentence-transformers
6
+ - text-classification
7
+ - generated_from_setfit_trainer
8
+ metrics:
9
+ - f1
10
+ widget:
11
+ - text: 'Pointing out the glaring nature of the smear campaign was the fact that there
12
+ has been absolutely zero information released about the warrants conducted on
13
+ officer Amber Guyger, the killer cop who lived just below Jean.
14
+
15
+ '
16
+ - text: 'Ganesh makes wild leaps and inferences.
17
+
18
+ '
19
+ - text: 'But during his 2004 campaign for the Senate, Obama and his corrupt party
20
+ in Chicago somehow managed to unseal the divorce records of his opponent Jack
21
+ Ryan, who was leading by a large margin.
22
+
23
+ '
24
+ - text: 'Trump has only the “deplorables,” and they are unorganized and will experience
25
+ retribution once Trump is removed.
26
+
27
+ '
28
+ - text: '“Al Franken must be held accountable if our party wants to live up to our
29
+ commitment to women & girls.”
30
+
31
+ '
32
+ pipeline_tag: text-classification
33
+ inference: true
34
+ base_model: sentence-transformers/paraphrase-mpnet-base-v2
35
+ model-index:
36
+ - name: SetFit with sentence-transformers/paraphrase-mpnet-base-v2
37
+ results:
38
+ - task:
39
+ type: text-classification
40
+ name: Text Classification
41
+ dataset:
42
+ name: Unknown
43
+ type: unknown
44
+ split: test
45
+ metrics:
46
+ - type: f1
47
+ value: 0.2236842105263158
48
+ name: F1
49
+ ---
50
+
51
+ # SetFit with sentence-transformers/paraphrase-mpnet-base-v2
52
+
53
+ This is a [SetFit](https://github.com/huggingface/setfit) model that can be used for Text Classification. This SetFit model uses [sentence-transformers/paraphrase-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-mpnet-base-v2) as the Sentence Transformer embedding model. A [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance is used for classification.
54
+
55
+ The model has been trained using an efficient few-shot learning technique that involves:
56
+
57
+ 1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
58
+ 2. Training a classification head with features from the fine-tuned Sentence Transformer.
59
+
60
+ ## Model Details
61
+
62
+ ### Model Description
63
+ - **Model Type:** SetFit
64
+ - **Sentence Transformer body:** [sentence-transformers/paraphrase-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-mpnet-base-v2)
65
+ - **Classification head:** a [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance
66
+ - **Maximum Sequence Length:** 512 tokens
67
+ - **Number of Classes:** 2 classes
68
+ <!-- - **Training Dataset:** [Unknown](https://huggingface.co/datasets/unknown) -->
69
+ <!-- - **Language:** Unknown -->
70
+ <!-- - **License:** Unknown -->
71
+
72
+ ### Model Sources
73
+
74
+ - **Repository:** [SetFit on GitHub](https://github.com/huggingface/setfit)
75
+ - **Paper:** [Efficient Few-Shot Learning Without Prompts](https://arxiv.org/abs/2209.11055)
76
+ - **Blogpost:** [SetFit: Efficient Few-Shot Learning Without Prompts](https://huggingface.co/blog/setfit)
77
+
78
+ ### Model Labels
79
+ | Label | Examples |
80
+ |:------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
81
+ | 0 | <ul><li>'“They know this is one of the great scandals in the history of our country because basically what they did is, they used [former Trump campaign aide] Carter Page, who nobody even knew, who I feel very badly for, I think he’s been treated very badly.\n'</li><li>'The Guardian did not make a mistake in vilifying Assange without a shred of evidence.\n'</li><li>'He himself said: “No one defends Islam like Arab Christians.” It is to defend Islam that Western clerics do not raise their voice against such acts of brutality.\n'</li></ul> |
82
+ | 1 | <ul><li>'As the political scientist Richard Neustadt said, political elites are constantly evaluating and re-evaluating the president.\n'</li><li>'“I can tell you 100% this is not that kind of guy,” said Rick, adding that he would see Paddock every other day and that the two would go to a local bar and play slot machines.\n'</li><li>'Now, new information released by investigative reporter Laura Loomer proves that authorities have directly lied to the American people about the case at least once by claiming that supposed shooter Stephen Paddock checked into the Mandalay Bay Hotel on September 28th when valet records (with photos) prove he actually arrived three days earlier.\n'</li></ul> |
83
+
84
+ ## Evaluation
85
+
86
+ ### Metrics
87
+ | Label | F1 |
88
+ |:--------|:-------|
89
+ | **all** | 0.2237 |
90
+
91
+ ## Uses
92
+
93
+ ### Direct Use for Inference
94
+
95
+ First install the SetFit library:
96
+
97
+ ```bash
98
+ pip install setfit
99
+ ```
100
+
101
+ Then you can load this model and run inference.
102
+
103
+ ```python
104
+ from setfit import SetFitModel
105
+
106
+ # Download from the 🤗 Hub
107
+ model = SetFitModel.from_pretrained("anismahmahi/appeal-to-authority-setfit-model")
108
+ # Run inference
109
+ preds = model("Ganesh makes wild leaps and inferences.
110
+ ")
111
+ ```
112
+
113
+ <!--
114
+ ### Downstream Use
115
+
116
+ *List how someone could finetune this model on their own dataset.*
117
+ -->
118
+
119
+ <!--
120
+ ### Out-of-Scope Use
121
+
122
+ *List how the model may foreseeably be misused and address what users ought not to do with the model.*
123
+ -->
124
+
125
+ <!--
126
+ ## Bias, Risks and Limitations
127
+
128
+ *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
129
+ -->
130
+
131
+ <!--
132
+ ### Recommendations
133
+
134
+ *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
135
+ -->
136
+
137
+ ## Training Details
138
+
139
+ ### Training Set Metrics
140
+ | Training set | Min | Median | Max |
141
+ |:-------------|:----|:--------|:----|
142
+ | Word count | 2 | 28.8867 | 111 |
143
+
144
+ | Label | Training Sample Count |
145
+ |:------|:----------------------|
146
+ | 0 | 452 |
147
+ | 1 | 113 |
148
+
149
+ ### Training Hyperparameters
150
+ - batch_size: (16, 16)
151
+ - num_epochs: (2, 2)
152
+ - max_steps: -1
153
+ - sampling_strategy: oversampling
154
+ - num_iterations: 20
155
+ - body_learning_rate: (2e-05, 1e-05)
156
+ - head_learning_rate: 0.01
157
+ - loss: CosineSimilarityLoss
158
+ - distance_metric: cosine_distance
159
+ - margin: 0.25
160
+ - end_to_end: False
161
+ - use_amp: False
162
+ - warmup_proportion: 0.1
163
+ - seed: 42
164
+ - eval_max_steps: -1
165
+ - load_best_model_at_end: True
166
+
167
+ ### Training Results
168
+ | Epoch | Step | Training Loss | Validation Loss |
169
+ |:-------:|:--------:|:-------------:|:---------------:|
170
+ | 0.0007 | 1 | 0.3148 | - |
171
+ | 0.0354 | 50 | 0.2792 | - |
172
+ | 0.0708 | 100 | 0.1707 | - |
173
+ | 0.1062 | 150 | 0.1197 | - |
174
+ | 0.1415 | 200 | 0.0768 | - |
175
+ | 0.1769 | 250 | 0.0406 | - |
176
+ | 0.2123 | 300 | 0.0053 | - |
177
+ | 0.2477 | 350 | 0.0571 | - |
178
+ | 0.2831 | 400 | 0.0324 | - |
179
+ | 0.3185 | 450 | 0.001 | - |
180
+ | 0.3539 | 500 | 0.077 | - |
181
+ | 0.3892 | 550 | 0.0002 | - |
182
+ | 0.4246 | 600 | 0.0011 | - |
183
+ | 0.4600 | 650 | 0.003 | - |
184
+ | 0.4954 | 700 | 0.0004 | - |
185
+ | 0.5308 | 750 | 0.0004 | - |
186
+ | 0.5662 | 800 | 0.0006 | - |
187
+ | 0.6016 | 850 | 0.0002 | - |
188
+ | 0.6369 | 900 | 0.0002 | - |
189
+ | 0.6723 | 950 | 0.0003 | - |
190
+ | 0.7077 | 1000 | 0.0116 | - |
191
+ | 0.7431 | 1050 | 0.0059 | - |
192
+ | 0.7785 | 1100 | 0.0002 | - |
193
+ | 0.8139 | 1150 | 0.0001 | - |
194
+ | 0.8493 | 1200 | 0.0001 | - |
195
+ | 0.8846 | 1250 | 0.0003 | - |
196
+ | 0.9200 | 1300 | 0.0001 | - |
197
+ | 0.9554 | 1350 | 0.0 | - |
198
+ | 0.9908 | 1400 | 0.0125 | - |
199
+ | **1.0** | **1413** | **-** | **0.2868** |
200
+ | 1.0262 | 1450 | 0.0003 | - |
201
+ | 1.0616 | 1500 | 0.0002 | - |
202
+ | 1.0970 | 1550 | 0.0001 | - |
203
+ | 1.1323 | 1600 | 0.0002 | - |
204
+ | 1.1677 | 1650 | 0.0001 | - |
205
+ | 1.2031 | 1700 | 0.0001 | - |
206
+ | 1.2385 | 1750 | 0.0038 | - |
207
+ | 1.2739 | 1800 | 0.0001 | - |
208
+ | 1.3093 | 1850 | 0.0065 | - |
209
+ | 1.3447 | 1900 | 0.0002 | - |
210
+ | 1.3800 | 1950 | 0.0002 | - |
211
+ | 1.4154 | 2000 | 0.0197 | - |
212
+ | 1.4508 | 2050 | 0.0061 | - |
213
+ | 1.4862 | 2100 | 0.0001 | - |
214
+ | 1.5216 | 2150 | 0.0 | - |
215
+ | 1.5570 | 2200 | 0.0321 | - |
216
+ | 1.5924 | 2250 | 0.0002 | - |
217
+ | 1.6277 | 2300 | 0.0331 | - |
218
+ | 1.6631 | 2350 | 0.0069 | - |
219
+ | 1.6985 | 2400 | 0.0001 | - |
220
+ | 1.7339 | 2450 | 0.0 | - |
221
+ | 1.7693 | 2500 | 0.0 | - |
222
+ | 1.8047 | 2550 | 0.0337 | - |
223
+ | 1.8401 | 2600 | 0.0347 | - |
224
+ | 1.8754 | 2650 | 0.0612 | - |
225
+ | 1.9108 | 2700 | 0.0398 | - |
226
+ | 1.9462 | 2750 | 0.0001 | - |
227
+ | 1.9816 | 2800 | 0.0001 | - |
228
+ | 2.0 | 2826 | - | 0.2926 |
229
+
230
+ * The bold row denotes the saved checkpoint.
231
+ ### Framework Versions
232
+ - Python: 3.10.12
233
+ - SetFit: 1.0.1
234
+ - Sentence Transformers: 2.2.2
235
+ - Transformers: 4.35.2
236
+ - PyTorch: 2.1.0+cu121
237
+ - Datasets: 2.16.1
238
+ - Tokenizers: 0.15.0
239
+
240
+ ## Citation
241
+
242
+ ### BibTeX
243
+ ```bibtex
244
+ @article{https://doi.org/10.48550/arxiv.2209.11055,
245
+ doi = {10.48550/ARXIV.2209.11055},
246
+ url = {https://arxiv.org/abs/2209.11055},
247
+ author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
248
+ keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
249
+ title = {Efficient Few-Shot Learning Without Prompts},
250
+ publisher = {arXiv},
251
+ year = {2022},
252
+ copyright = {Creative Commons Attribution 4.0 International}
253
+ }
254
+ ```
255
+
256
+ <!--
257
+ ## Glossary
258
+
259
+ *Clearly define terms in order to be accessible across audiences.*
260
+ -->
261
+
262
+ <!--
263
+ ## Model Card Authors
264
+
265
+ *Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
266
+ -->
267
+
268
+ <!--
269
+ ## Model Card Contact
270
+
271
+ *Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
272
+ -->
config.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "checkpoints/step_1413/",
3
+ "architectures": [
4
+ "MPNetModel"
5
+ ],
6
+ "attention_probs_dropout_prob": 0.1,
7
+ "bos_token_id": 0,
8
+ "eos_token_id": 2,
9
+ "hidden_act": "gelu",
10
+ "hidden_dropout_prob": 0.1,
11
+ "hidden_size": 768,
12
+ "initializer_range": 0.02,
13
+ "intermediate_size": 3072,
14
+ "layer_norm_eps": 1e-05,
15
+ "max_position_embeddings": 514,
16
+ "model_type": "mpnet",
17
+ "num_attention_heads": 12,
18
+ "num_hidden_layers": 12,
19
+ "pad_token_id": 1,
20
+ "relative_attention_num_buckets": 32,
21
+ "torch_dtype": "float32",
22
+ "transformers_version": "4.35.2",
23
+ "vocab_size": 30527
24
+ }
config_sentence_transformers.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "__version__": {
3
+ "sentence_transformers": "2.0.0",
4
+ "transformers": "4.7.0",
5
+ "pytorch": "1.9.0+cu102"
6
+ }
7
+ }
config_setfit.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "labels": [
3
+ 0,
4
+ 1
5
+ ],
6
+ "normalize_embeddings": false
7
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6f8d45068e7c85129bd35d239a2bcc869eeba5d933d5a4b26fff58ac90ed7112
3
+ size 437967672
model_head.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab7e70ec12d200be156127a04e1cbfbe98ad254ddf9a63b8f76e185ddef41d9e
3
+ size 6991
modules.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "idx": 0,
4
+ "name": "0",
5
+ "path": "",
6
+ "type": "sentence_transformers.models.Transformer"
7
+ },
8
+ {
9
+ "idx": 1,
10
+ "name": "1",
11
+ "path": "1_Pooling",
12
+ "type": "sentence_transformers.models.Pooling"
13
+ }
14
+ ]
sentence_bert_config.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "max_seq_length": 512,
3
+ "do_lower_case": false
4
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "cls_token": {
10
+ "content": "<s>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "eos_token": {
17
+ "content": "</s>",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "mask_token": {
24
+ "content": "<mask>",
25
+ "lstrip": true,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ },
30
+ "pad_token": {
31
+ "content": "<pad>",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false
36
+ },
37
+ "sep_token": {
38
+ "content": "</s>",
39
+ "lstrip": false,
40
+ "normalized": false,
41
+ "rstrip": false,
42
+ "single_word": false
43
+ },
44
+ "unk_token": {
45
+ "content": "[UNK]",
46
+ "lstrip": false,
47
+ "normalized": false,
48
+ "rstrip": false,
49
+ "single_word": false
50
+ }
51
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "<s>",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false,
9
+ "special": true
10
+ },
11
+ "1": {
12
+ "content": "<pad>",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "2": {
20
+ "content": "</s>",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": true
26
+ },
27
+ "104": {
28
+ "content": "[UNK]",
29
+ "lstrip": false,
30
+ "normalized": false,
31
+ "rstrip": false,
32
+ "single_word": false,
33
+ "special": true
34
+ },
35
+ "30526": {
36
+ "content": "<mask>",
37
+ "lstrip": true,
38
+ "normalized": false,
39
+ "rstrip": false,
40
+ "single_word": false,
41
+ "special": true
42
+ }
43
+ },
44
+ "bos_token": "<s>",
45
+ "clean_up_tokenization_spaces": true,
46
+ "cls_token": "<s>",
47
+ "do_basic_tokenize": true,
48
+ "do_lower_case": true,
49
+ "eos_token": "</s>",
50
+ "mask_token": "<mask>",
51
+ "max_length": 512,
52
+ "model_max_length": 512,
53
+ "never_split": null,
54
+ "pad_to_multiple_of": null,
55
+ "pad_token": "<pad>",
56
+ "pad_token_type_id": 0,
57
+ "padding_side": "right",
58
+ "sep_token": "</s>",
59
+ "stride": 0,
60
+ "strip_accents": null,
61
+ "tokenize_chinese_chars": true,
62
+ "tokenizer_class": "MPNetTokenizer",
63
+ "truncation_side": "right",
64
+ "truncation_strategy": "longest_first",
65
+ "unk_token": "[UNK]"
66
+ }
vocab.txt ADDED
The diff for this file is too large to render. See raw diff