Mohamed11 commited on
Commit
33a11ec
1 Parent(s): eea1453

Add SetFit model

Browse files
1_Pooling/config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "word_embedding_dimension": 384,
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
+ "pooling_mode_weightedmean_tokens": false,
8
+ "pooling_mode_lasttoken": false,
9
+ "include_prompt": true
10
+ }
README.md CHANGED
@@ -1,3 +1,218 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: setfit
3
+ tags:
4
+ - setfit
5
+ - sentence-transformers
6
+ - text-classification
7
+ - generated_from_setfit_trainer
8
+ base_model: sentence-transformers/paraphrase-MiniLM-L3-v2
9
+ datasets:
10
+ - ag_news
11
+ metrics:
12
+ - accuracy
13
+ widget:
14
+ - text: Pakistani, US national arrested in New York bomb plot (AFP) AFP - A Pakistani
15
+ national and a US citizen were arrested over an alleged plot to blow up a subway
16
+ station in New York, city police commissioner Raymond Kelly said.
17
+ - text: 'Aon #39;comfortable #39; with past behaviour Aon, the world #39;s second
18
+ largest insurance broker, yesterday denied its brokers had ever steered business
19
+ to favoured insurance companies as a way of generating bigger commissions.'
20
+ - text: President Blasts Firing Notre Dame's outgoing president criticized the decision
21
+ to fire Tyrone Willingham after just three seasons, saying he was surprised the
22
+ coach was not given more time to try to succeed.
23
+ - text: 'Gold Fields investors snub bid Harmony #39;s bid to create the world #39;s
24
+ biggest gold miner suffered a blow yesterday when the first part of its offer
25
+ for South African rival Gold Fields received a lukewarm reception from shareholders.'
26
+ - text: Blood, knives, cage hint at atrocities (Chicago Tribune) Chicago Tribune -
27
+ Acting on information from a man who claimed to have escaped from militant Abu
28
+ Musab al-Zarqawi's network, the U.S. military over the weekend inspected a house
29
+ where intelligence officers believe hostages were detained, tortured and possibly
30
+ killed.
31
+ pipeline_tag: text-classification
32
+ inference: true
33
+ ---
34
+
35
+ # SetFit with sentence-transformers/paraphrase-MiniLM-L3-v2
36
+
37
+ This is a [SetFit](https://github.com/huggingface/setfit) model trained on the [ag_news](https://huggingface.co/datasets/ag_news) dataset that can be used for Text Classification. This SetFit model uses [sentence-transformers/paraphrase-MiniLM-L3-v2](https://huggingface.co/sentence-transformers/paraphrase-MiniLM-L3-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.
38
+
39
+ The model has been trained using an efficient few-shot learning technique that involves:
40
+
41
+ 1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
42
+ 2. Training a classification head with features from the fine-tuned Sentence Transformer.
43
+
44
+ ## Model Details
45
+
46
+ ### Model Description
47
+ - **Model Type:** SetFit
48
+ - **Sentence Transformer body:** [sentence-transformers/paraphrase-MiniLM-L3-v2](https://huggingface.co/sentence-transformers/paraphrase-MiniLM-L3-v2)
49
+ - **Classification head:** a [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance
50
+ - **Maximum Sequence Length:** 128 tokens
51
+ - **Number of Classes:** 4 classes
52
+ - **Training Dataset:** [ag_news](https://huggingface.co/datasets/ag_news)
53
+ <!-- - **Language:** Unknown -->
54
+ <!-- - **License:** Unknown -->
55
+
56
+ ### Model Sources
57
+
58
+ - **Repository:** [SetFit on GitHub](https://github.com/huggingface/setfit)
59
+ - **Paper:** [Efficient Few-Shot Learning Without Prompts](https://arxiv.org/abs/2209.11055)
60
+ - **Blogpost:** [SetFit: Efficient Few-Shot Learning Without Prompts](https://huggingface.co/blog/setfit)
61
+
62
+ ### Model Labels
63
+ | Label | Examples |
64
+ |:------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
65
+ | 0 | <ul><li>'Bangladesh paralysed by strikes Opposition activists have brought many towns and cities in Bangladesh to a halt, the day after 18 people died in explosions at a political rally.'</li><li>'Will Putin #39;s Power Play Make Russia Safer? Outwardly, Russia has not changed since the barrage of terrorist attacks that culminated in the school massacre in Beslan on Sept.'</li><li>'S African TV in beheading blunder Public broadcaster SABC apologises after news bulletin shows footage of American beheaded in Iraq.'</li></ul> |
66
+ | 1 | <ul><li>'Desiring Stability Redskins coach Joe Gibbs expects few major personnel changes in the offseason and wants to instill a culture of stability in Washington.'</li><li>'Mutombo says he #39;s being traded to Rockets; will back up, mentor &lt;b&gt;...&lt;/b&gt; Dikembe Mutombo, 38, has agreed to a sign-and-trade deal that will send him from the Chicago Bulls to Houston in exchange for Eric Piatkowski, Adrian Griffin and Mike Wilks, the Houston Chronicle reports.'</li><li>'They #146;re in the wrong ATHENS -- Matt Emmons was focusing on staying calm. He should have been focusing on the right target.'</li></ul> |
67
+ | 3 | <ul><li>'U2 pitches for Apple New iTunes ads airing during baseball games Tuesday will feature the advertising-shy Irish rockers.'</li><li>'A Cosmic Storm: When Galaxy Clusters Collide Astronomers have found what they are calling the perfect cosmic storm, a galaxy cluster pile-up so powerful its energy output is second only to the Big Bang.'</li><li>'Computer Assoc. Cuts 800 Jobs Worldwide (AP) AP - Computer Associates International Inc. announced a restructuring plan Wednesday that would reduce its work force by 800 people worldwide, saving the business software maker #36;70 million annually once the plan is fully implemented.'</li></ul> |
68
+ | 2 | <ul><li>'Economy builds steam in KC Fed district The economy continued to strengthen in September and early October in the Great Plains and Rocky Mountain regions covered by the Tenth Federal Reserve District, the Federal Reserve Bank of Kansas City said Wednesday.'</li><li>'RBC Centura CEO steps down RALEIGH, NC - The head of RBC Centura Bank has stepped down, and his successor will run the bank out of Raleigh rather than Rocky Mount, where the bank is based.'</li><li>'Oracle acquisition of PeopleSoft leads flurry of deals NEW YORK (CBS.MW) -- US stocks closed higher Monday, with the Dow Jones Industrial Average ending at its best level in more than nine months amid better-than-expected economic data and merger-related optimism.'</li></ul> |
69
+
70
+ ## Uses
71
+
72
+ ### Direct Use for Inference
73
+
74
+ First install the SetFit library:
75
+
76
+ ```bash
77
+ pip install setfit
78
+ ```
79
+
80
+ Then you can load this model and run inference.
81
+
82
+ ```python
83
+ from setfit import SetFitModel
84
+
85
+ # Download from the 🤗 Hub
86
+ model = SetFitModel.from_pretrained("ashry/decimal-setfit-minilm-distilled")
87
+ # Run inference
88
+ preds = model("President Blasts Firing Notre Dame's outgoing president criticized the decision to fire Tyrone Willingham after just three seasons, saying he was surprised the coach was not given more time to try to succeed.")
89
+ ```
90
+
91
+ <!--
92
+ ### Downstream Use
93
+
94
+ *List how someone could finetune this model on their own dataset.*
95
+ -->
96
+
97
+ <!--
98
+ ### Out-of-Scope Use
99
+
100
+ *List how the model may foreseeably be misused and address what users ought not to do with the model.*
101
+ -->
102
+
103
+ <!--
104
+ ## Bias, Risks and Limitations
105
+
106
+ *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
107
+ -->
108
+
109
+ <!--
110
+ ### Recommendations
111
+
112
+ *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
113
+ -->
114
+
115
+ ## Training Details
116
+
117
+ ### Training Set Metrics
118
+ | Training set | Min | Median | Max |
119
+ |:-------------|:----|:-------|:----|
120
+ | Word count | 14 | 38.204 | 143 |
121
+
122
+ | Label | Training Sample Count |
123
+ |:------|:----------------------|
124
+ | 0 | 244 |
125
+ | 1 | 243 |
126
+ | 2 | 242 |
127
+ | 3 | 271 |
128
+
129
+ ### Training Hyperparameters
130
+ - batch_size: (16, 16)
131
+ - num_epochs: (1, 1)
132
+ - max_steps: -1
133
+ - sampling_strategy: oversampling
134
+ - num_iterations: 20
135
+ - body_learning_rate: (2e-05, 2e-05)
136
+ - head_learning_rate: 2e-05
137
+ - loss: CosineSimilarityLoss
138
+ - distance_metric: cosine_distance
139
+ - margin: 0.25
140
+ - end_to_end: False
141
+ - use_amp: False
142
+ - warmup_proportion: 0.1
143
+ - seed: 42
144
+ - eval_max_steps: -1
145
+ - load_best_model_at_end: False
146
+
147
+ ### Training Results
148
+ | Epoch | Step | Training Loss | Validation Loss |
149
+ |:------:|:----:|:-------------:|:---------------:|
150
+ | 0.0008 | 1 | 0.9192 | - |
151
+ | 0.04 | 50 | 0.6426 | - |
152
+ | 0.08 | 100 | 0.0159 | - |
153
+ | 0.12 | 150 | 0.0024 | - |
154
+ | 0.16 | 200 | 0.0013 | - |
155
+ | 0.2 | 250 | 0.0011 | - |
156
+ | 0.24 | 300 | 0.0009 | - |
157
+ | 0.28 | 350 | 0.0006 | - |
158
+ | 0.32 | 400 | 0.0005 | - |
159
+ | 0.36 | 450 | 0.0005 | - |
160
+ | 0.4 | 500 | 0.0003 | - |
161
+ | 0.44 | 550 | 0.0003 | - |
162
+ | 0.48 | 600 | 0.0003 | - |
163
+ | 0.52 | 650 | 0.0004 | - |
164
+ | 0.56 | 700 | 0.0002 | - |
165
+ | 0.6 | 750 | 0.0002 | - |
166
+ | 0.64 | 800 | 0.0002 | - |
167
+ | 0.68 | 850 | 0.0002 | - |
168
+ | 0.72 | 900 | 0.0002 | - |
169
+ | 0.76 | 950 | 0.0002 | - |
170
+ | 0.8 | 1000 | 0.0002 | - |
171
+ | 0.84 | 1050 | 0.0002 | - |
172
+ | 0.88 | 1100 | 0.0001 | - |
173
+ | 0.92 | 1150 | 0.0002 | - |
174
+ | 0.96 | 1200 | 0.0002 | - |
175
+ | 1.0 | 1250 | 0.0002 | - |
176
+
177
+ ### Framework Versions
178
+ - Python: 3.10.13
179
+ - SetFit: 1.0.3
180
+ - Sentence Transformers: 2.7.0
181
+ - Transformers: 4.39.3
182
+ - PyTorch: 2.1.2
183
+ - Datasets: 2.18.0
184
+ - Tokenizers: 0.15.2
185
+
186
+ ## Citation
187
+
188
+ ### BibTeX
189
+ ```bibtex
190
+ @article{https://doi.org/10.48550/arxiv.2209.11055,
191
+ doi = {10.48550/ARXIV.2209.11055},
192
+ url = {https://arxiv.org/abs/2209.11055},
193
+ author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
194
+ keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
195
+ title = {Efficient Few-Shot Learning Without Prompts},
196
+ publisher = {arXiv},
197
+ year = {2022},
198
+ copyright = {Creative Commons Attribution 4.0 International}
199
+ }
200
+ ```
201
+
202
+ <!--
203
+ ## Glossary
204
+
205
+ *Clearly define terms in order to be accessible across audiences.*
206
+ -->
207
+
208
+ <!--
209
+ ## Model Card Authors
210
+
211
+ *Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
212
+ -->
213
+
214
+ <!--
215
+ ## Model Card Contact
216
+
217
+ *Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
218
+ -->
config.json ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "sentence-transformers/paraphrase-MiniLM-L3-v2",
3
+ "architectures": [
4
+ "BertModel"
5
+ ],
6
+ "attention_probs_dropout_prob": 0.1,
7
+ "classifier_dropout": null,
8
+ "gradient_checkpointing": false,
9
+ "hidden_act": "gelu",
10
+ "hidden_dropout_prob": 0.1,
11
+ "hidden_size": 384,
12
+ "initializer_range": 0.02,
13
+ "intermediate_size": 1536,
14
+ "layer_norm_eps": 1e-12,
15
+ "max_position_embeddings": 512,
16
+ "model_type": "bert",
17
+ "num_attention_heads": 12,
18
+ "num_hidden_layers": 3,
19
+ "pad_token_id": 0,
20
+ "position_embedding_type": "absolute",
21
+ "torch_dtype": "float32",
22
+ "transformers_version": "4.39.3",
23
+ "type_vocab_size": 2,
24
+ "use_cache": true,
25
+ "vocab_size": 30522
26
+ }
config_sentence_transformers.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "__version__": {
3
+ "sentence_transformers": "2.0.0",
4
+ "transformers": "4.7.0",
5
+ "pytorch": "1.9.0+cu102"
6
+ },
7
+ "prompts": {},
8
+ "default_prompt_name": null
9
+ }
config_setfit.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "labels": null,
3
+ "normalize_embeddings": false
4
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c1ce2b0eb216b29bd51346671e75af1e134dd1602d7d30c4e954ee82b927e16f
3
+ size 69565312
model_head.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c2faf741199c95bbb8ac74ad5bcb6cf7fc3335875708ed17bdac05cf69274096
3
+ size 13191
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": 128,
3
+ "do_lower_case": false
4
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": {
3
+ "content": "[CLS]",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "mask_token": {
10
+ "content": "[MASK]",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "[PAD]",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "sep_token": {
24
+ "content": "[SEP]",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ },
30
+ "unk_token": {
31
+ "content": "[UNK]",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false
36
+ }
37
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "[PAD]",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false,
9
+ "special": true
10
+ },
11
+ "100": {
12
+ "content": "[UNK]",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "101": {
20
+ "content": "[CLS]",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": true
26
+ },
27
+ "102": {
28
+ "content": "[SEP]",
29
+ "lstrip": false,
30
+ "normalized": false,
31
+ "rstrip": false,
32
+ "single_word": false,
33
+ "special": true
34
+ },
35
+ "103": {
36
+ "content": "[MASK]",
37
+ "lstrip": false,
38
+ "normalized": false,
39
+ "rstrip": false,
40
+ "single_word": false,
41
+ "special": true
42
+ }
43
+ },
44
+ "clean_up_tokenization_spaces": true,
45
+ "cls_token": "[CLS]",
46
+ "do_basic_tokenize": true,
47
+ "do_lower_case": true,
48
+ "mask_token": "[MASK]",
49
+ "max_length": 128,
50
+ "model_max_length": 512,
51
+ "never_split": null,
52
+ "pad_to_multiple_of": null,
53
+ "pad_token": "[PAD]",
54
+ "pad_token_type_id": 0,
55
+ "padding_side": "right",
56
+ "sep_token": "[SEP]",
57
+ "stride": 0,
58
+ "strip_accents": null,
59
+ "tokenize_chinese_chars": true,
60
+ "tokenizer_class": "BertTokenizer",
61
+ "truncation_side": "right",
62
+ "truncation_strategy": "longest_first",
63
+ "unk_token": "[UNK]"
64
+ }
vocab.txt ADDED
The diff for this file is too large to render. See raw diff