HelgeKn commited on
Commit
4466622
1 Parent(s): f0c0093

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,217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: setfit
3
+ tags:
4
+ - setfit
5
+ - sentence-transformers
6
+ - text-classification
7
+ - generated_from_setfit_trainer
8
+ metrics:
9
+ - accuracy
10
+ widget:
11
+ - text: Buses are more simple - you just buy a ticket .
12
+ - text: As citizens of village , we totally care about environment of our village
13
+ .
14
+ - text: So , finally I suggest that it would be a great idea to combine the different
15
+ types of activities , both popular and the newest .
16
+ - text: Had 12 years old .
17
+ - text: On the other hand , I have the theoretical knowledge to use new the technologies
18
+ this great project requires .
19
+ pipeline_tag: text-classification
20
+ inference: true
21
+ base_model: sentence-transformers/paraphrase-mpnet-base-v2
22
+ model-index:
23
+ - name: SetFit with sentence-transformers/paraphrase-mpnet-base-v2
24
+ results:
25
+ - task:
26
+ type: text-classification
27
+ name: Text Classification
28
+ dataset:
29
+ name: Unknown
30
+ type: unknown
31
+ split: test
32
+ metrics:
33
+ - type: accuracy
34
+ value: 0.14782608695652175
35
+ name: Accuracy
36
+ ---
37
+
38
+ # SetFit with sentence-transformers/paraphrase-mpnet-base-v2
39
+
40
+ 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 [SetFitHead](huggingface.co/docs/setfit/reference/main#setfit.SetFitHead) instance is used for classification.
41
+
42
+ The model has been trained using an efficient few-shot learning technique that involves:
43
+
44
+ 1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
45
+ 2. Training a classification head with features from the fine-tuned Sentence Transformer.
46
+
47
+ ## Model Details
48
+
49
+ ### Model Description
50
+ - **Model Type:** SetFit
51
+ - **Sentence Transformer body:** [sentence-transformers/paraphrase-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-mpnet-base-v2)
52
+ - **Classification head:** a [SetFitHead](huggingface.co/docs/setfit/reference/main#setfit.SetFitHead) instance
53
+ - **Maximum Sequence Length:** 512 tokens
54
+ - **Number of Classes:** 8 classes
55
+ <!-- - **Training Dataset:** [Unknown](https://huggingface.co/datasets/unknown) -->
56
+ <!-- - **Language:** Unknown -->
57
+ <!-- - **License:** Unknown -->
58
+
59
+ ### Model Sources
60
+
61
+ - **Repository:** [SetFit on GitHub](https://github.com/huggingface/setfit)
62
+ - **Paper:** [Efficient Few-Shot Learning Without Prompts](https://arxiv.org/abs/2209.11055)
63
+ - **Blogpost:** [SetFit: Efficient Few-Shot Learning Without Prompts](https://huggingface.co/blog/setfit)
64
+
65
+ ### Model Labels
66
+ | Label | Examples |
67
+ |:------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
68
+ | 3 | <ul><li>'As a result , governments will invest more in researching the usage of these new types of energy , travelling using public transport will become much cheaper than personal car .'</li><li>'the two boys heard that he was planing to steal some money and kill people so the boys start their adventure on stoping Injuin Joe ...'</li><li>"Usually there are generation problems , sons do n't understand parents and vicecersa , but dialoging and listening emotions and facts , everyone can have another point of view ."</li></ul> |
69
+ | 5 | <ul><li>'You can also bought a lot of gifts like key chains , statue , or what else memories to be made before returning to Malaysia .'</li><li>'I asked myself many times what is the aim of our life ?'</li><li>'My name is Eider and I am 21 years old . I had read your advertisement in the newspaper !'</li></ul> |
70
+ | 2 | <ul><li>'They were not only really clever people but also excellent co - workers .'</li><li>'On balance , learning foreign languages is very positive on different aspect , so if you have the positivity of learning a new language do it , because it will bring you many benefits .'</li><li>'It is a job with a lot of interesting aspects ,'</li></ul> |
71
+ | 0 | <ul><li>'The third section is to print the prepared bank notes .'</li><li>"That 's why I order all of you to go there and feel the pleasure and have a try their own food ."</li><li>'No one can deny that the pollution issue is one of the utmost important thing which should be prevented .'</li></ul> |
72
+ | 6 | <ul><li>"The water was very cold and I could n't swim , then I played football in the sand of the beach ."</li><li>'We have solar panels and a place to make compost at the last garden , with worms who eat and degrade all the organic waste of the school .'</li><li>'In modern societies , there are lots of friends around our daily lives .'</li></ul> |
73
+ | 7 | <ul><li>'However , people who use Facebook , Twitter or SMS in general , are not likely to have their own personal privacy that there is a possibility of cycle of bullying .'</li><li>'I been twelve years practice volleyball and because of it I knew lot of people who help me to grow up in the sport and life .'</li><li>"What about you?What 's new in Brazil?As you know , my friend John asked me to help him with the organization at the concert , which was performed last month ."</li></ul> |
74
+ | 4 | <ul><li>'Something that they don know was that the whole thing was a movie !'</li><li>"If we think about it the car is better because we do n't need to wait for them has we are waiting for the bus or underground but in another way car cust more money than the public transport ."</li><li>'Recently I saw the thriller of mokingjay part 2 .'</li></ul> |
75
+ | 1 | <ul><li>'If you want to see that movie , you need to watch the first 3 movies before to understand it .'</li><li>'People collects trash of their house and await the trash truck that carried the trash to a landfill located outside the village .'</li><li>"Travelling by car is n't so much more convenient unless it is so much more comfortable , but actually we do n't think about the contamination in our planet ."</li></ul> |
76
+
77
+ ## Evaluation
78
+
79
+ ### Metrics
80
+ | Label | Accuracy |
81
+ |:--------|:---------|
82
+ | **all** | 0.1478 |
83
+
84
+ ## Uses
85
+
86
+ ### Direct Use for Inference
87
+
88
+ First install the SetFit library:
89
+
90
+ ```bash
91
+ pip install setfit
92
+ ```
93
+
94
+ Then you can load this model and run inference.
95
+
96
+ ```python
97
+ from setfit import SetFitModel
98
+
99
+ # Download from the 🤗 Hub
100
+ model = SetFitModel.from_pretrained("HelgeKn/BEA2019-multi-class-8")
101
+ # Run inference
102
+ preds = model("Had 12 years old .")
103
+ ```
104
+
105
+ <!--
106
+ ### Downstream Use
107
+
108
+ *List how someone could finetune this model on their own dataset.*
109
+ -->
110
+
111
+ <!--
112
+ ### Out-of-Scope Use
113
+
114
+ *List how the model may foreseeably be misused and address what users ought not to do with the model.*
115
+ -->
116
+
117
+ <!--
118
+ ## Bias, Risks and Limitations
119
+
120
+ *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
121
+ -->
122
+
123
+ <!--
124
+ ### Recommendations
125
+
126
+ *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
127
+ -->
128
+
129
+ ## Training Details
130
+
131
+ ### Training Set Metrics
132
+ | Training set | Min | Median | Max |
133
+ |:-------------|:----|:--------|:----|
134
+ | Word count | 3 | 20.7031 | 56 |
135
+
136
+ | Label | Training Sample Count |
137
+ |:------|:----------------------|
138
+ | 0 | 8 |
139
+ | 1 | 8 |
140
+ | 2 | 8 |
141
+ | 3 | 8 |
142
+ | 4 | 8 |
143
+ | 5 | 8 |
144
+ | 6 | 8 |
145
+ | 7 | 8 |
146
+
147
+ ### Training Hyperparameters
148
+ - batch_size: (16, 16)
149
+ - num_epochs: (2, 2)
150
+ - max_steps: -1
151
+ - sampling_strategy: oversampling
152
+ - num_iterations: 20
153
+ - body_learning_rate: (2e-05, 2e-05)
154
+ - head_learning_rate: 2e-05
155
+ - loss: CosineSimilarityLoss
156
+ - distance_metric: cosine_distance
157
+ - margin: 0.25
158
+ - end_to_end: False
159
+ - use_amp: False
160
+ - warmup_proportion: 0.1
161
+ - seed: 42
162
+ - eval_max_steps: -1
163
+ - load_best_model_at_end: False
164
+
165
+ ### Training Results
166
+ | Epoch | Step | Training Loss | Validation Loss |
167
+ |:------:|:----:|:-------------:|:---------------:|
168
+ | 0.0063 | 1 | 0.2999 | - |
169
+ | 0.3125 | 50 | 0.2097 | - |
170
+ | 0.625 | 100 | 0.0868 | - |
171
+ | 0.9375 | 150 | 0.0369 | - |
172
+ | 1.25 | 200 | 0.0208 | - |
173
+ | 1.5625 | 250 | 0.0049 | - |
174
+ | 1.875 | 300 | 0.0038 | - |
175
+
176
+ ### Framework Versions
177
+ - Python: 3.9.13
178
+ - SetFit: 1.0.1
179
+ - Sentence Transformers: 2.2.2
180
+ - Transformers: 4.36.0
181
+ - PyTorch: 2.1.1+cpu
182
+ - Datasets: 2.15.0
183
+ - Tokenizers: 0.15.0
184
+
185
+ ## Citation
186
+
187
+ ### BibTeX
188
+ ```bibtex
189
+ @article{https://doi.org/10.48550/arxiv.2209.11055,
190
+ doi = {10.48550/ARXIV.2209.11055},
191
+ url = {https://arxiv.org/abs/2209.11055},
192
+ author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
193
+ keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
194
+ title = {Efficient Few-Shot Learning Without Prompts},
195
+ publisher = {arXiv},
196
+ year = {2022},
197
+ copyright = {Creative Commons Attribution 4.0 International}
198
+ }
199
+ ```
200
+
201
+ <!--
202
+ ## Glossary
203
+
204
+ *Clearly define terms in order to be accessible across audiences.*
205
+ -->
206
+
207
+ <!--
208
+ ## Model Card Authors
209
+
210
+ *Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
211
+ -->
212
+
213
+ <!--
214
+ ## Model Card Contact
215
+
216
+ *Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
217
+ -->
config.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "C:\\Users\\Man_f/.cache\\torch\\sentence_transformers\\sentence-transformers_paraphrase-mpnet-base-v2\\",
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.36.0",
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,4 @@
 
 
 
 
 
1
+ {
2
+ "normalize_embeddings": false,
3
+ "labels": null
4
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:69ee9a944e18c80a0e322b67c1d5b8d2d9561711051d9cc38be311b3d095d96d
3
+ size 437967672
model_head.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:79536196cae1f377c1b611742dd8c79dfbda6b54676bfa8df5a3645331c4a25b
3
+ size 26128
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": true,
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": true,
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,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ "model_max_length": 512,
52
+ "never_split": null,
53
+ "pad_token": "<pad>",
54
+ "sep_token": "</s>",
55
+ "strip_accents": null,
56
+ "tokenize_chinese_chars": true,
57
+ "tokenizer_class": "MPNetTokenizer",
58
+ "unk_token": "[UNK]"
59
+ }
vocab.txt ADDED
The diff for this file is too large to render. See raw diff