bhaskars113 commited on
Commit
ff920bc
1 Parent(s): 671174a

Add SetFit model

Browse files
1_Pooling/config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
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
+ "pooling_mode_weightedmean_tokens": false,
8
+ "pooling_mode_lasttoken": false,
9
+ "include_prompt": true
10
+ }
README.md ADDED
@@ -0,0 +1,195 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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: 'I made hubby some ginger syrup this afternoon. He loves a whiskey and ginger.
12
+ Instead of buying ginger ale in plastic bottles we use a soda stream and #homemade
13
+ ginger syrup. #ecofriendly #sustainable #plasticfree pic.twitter.com/kEHHYaSuXr'
14
+ - text: Four roses small batch select. Milk chocolate on the nose and palate for me
15
+ - text: 'strong. bit old fashioned. always satisfying.. smoking hot is good… wait
16
+ are we talking about my old fashion or how I like my men? ?????? Smoky Wakashi
17
+ old fashioned ?? #comeonbabylightmyfire #oldfashioned #classic #whiskey #strong
18
+ #stiff #neverdisappoints #happiness #smoky #hawaii #hawaiilife'
19
+ - text: Pineapple Demerara Old Fashioned by highproofpreacher made with his house
20
+ pineapple demerara syrup
21
+ - text: Ordered a pink drink & smoked old fashioned & both were delicious & had nice
22
+ presentations
23
+ pipeline_tag: text-classification
24
+ inference: true
25
+ base_model: sentence-transformers/paraphrase-mpnet-base-v2
26
+ ---
27
+
28
+ # SetFit with sentence-transformers/paraphrase-mpnet-base-v2
29
+
30
+ 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.
31
+
32
+ The model has been trained using an efficient few-shot learning technique that involves:
33
+
34
+ 1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
35
+ 2. Training a classification head with features from the fine-tuned Sentence Transformer.
36
+
37
+ ## Model Details
38
+
39
+ ### Model Description
40
+ - **Model Type:** SetFit
41
+ - **Sentence Transformer body:** [sentence-transformers/paraphrase-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-mpnet-base-v2)
42
+ - **Classification head:** a [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance
43
+ - **Maximum Sequence Length:** 512 tokens
44
+ - **Number of Classes:** 6 classes
45
+ <!-- - **Training Dataset:** [Unknown](https://huggingface.co/datasets/unknown) -->
46
+ <!-- - **Language:** Unknown -->
47
+ <!-- - **License:** Unknown -->
48
+
49
+ ### Model Sources
50
+
51
+ - **Repository:** [SetFit on GitHub](https://github.com/huggingface/setfit)
52
+ - **Paper:** [Efficient Few-Shot Learning Without Prompts](https://arxiv.org/abs/2209.11055)
53
+ - **Blogpost:** [SetFit: Efficient Few-Shot Learning Without Prompts](https://huggingface.co/blog/setfit)
54
+
55
+ ### Model Labels
56
+ | Label | Examples |
57
+ |:------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
58
+ | 4 | <ul><li>"@vurnt22 Ginger beer and bourbon is one of two times I actually drink anything ginger-y. The other is ginger ale on an airplane because it just seems like you're supposed to."</li><li>"It's not for everyone, but almost everywhere sells Moscow mules. Ginger ale is also good. If there were Ginger wines, Ginger stouts, and Ginger Whiskeys, I'd probably drink those too."</li><li>'I just like the smell of cinnamon. I like the taste too. My favorite candy is cinnamon-flavored, my favorite tea is cinnamon-flavored, my favorite whiskey is cinnamon-flavored.'</li></ul> |
59
+ | 0 | <ul><li>"Bourbon Chocolate Ice Cream. It fluffs up beautifully, doesn't melt rapidly during serving and it is one of the best chocolate flavours I have ever had. You know where the recipe is, go and get it."</li><li>'Beautiful Lady.... Now the question is, what did you put in it? I prefer Chocolate Whiskey myself....lol'</li><li>"Bourbon S'mores~Maybe it’s the promise of summer, the nostalgia of a campfire and roasting marshmallows, or the memories of childhood… but S’mores are one of my favorite treats. The way the toasty marshmallow melts the chocolate and the texture of them sandwiched between graham crackers just makes me happy. The Bourbon S’mores Bundt is a grown up version of a childhood favorite. Chocolate graham cracker cake, soaked with bourbon and topped with marshmallow sauce, a fudgy bourbon glaze and toasted marshmallows. One bite and you’ll want “some more."</li></ul> |
60
+ | 1 | <ul><li>'That could be it. Helps the smoke stick to the meat and it almost doesn’t matter what you use. I use apple cider vinegar with a little bourbon mixed in. I have zero evidence the bourbon has any effect, it just sounds cool, lol. Try that next time. Just a quick spritz to keep the edges from drying out every hour or so until you wrap it or wherever it’s about 165F.'</li><li>'My brother in law makes the absolute best smoky old fashioned. #whiskey #oldfashioned #smoky #drinks'</li><li>'Smoked to perfection ?? Bridge Street BBQ Platter | House Smoked Beef Brisket, Baked Mac n’ Cheese, Bourbon Baked Beans, Fresh Cornbread and Honey Butter, House B&B Pickles, House Pickled Onion $29 Suggested Drink Pairing: Burnt Orange And Vanilla Old Fashioned. #eatgr #grandrapidsmichigan #grandrapids #happyhour #eatlocal #bridgestreet #beercitywasmissingthebourbon #beercity #westsideisthebestside #grandrapidsmi #whiskey #grnowfood #grnow #supportlocal #grandrapidsblogger #localbusiness #iheartgr'</li></ul> |
61
+ | 3 | <ul><li>'A pastry that not only looks like the fruit it’s meant to showcase but also bursts with the fresh flavor of it. In my mind it is a fusion of two classics - a cocktail Whiskey Sour and a Lemon Meringue pie. ▫️Candied lemon and orange peel is suspended in a lemon gel made with freshly squeezed lemon juice and bourbon. ▫️the fruity core is surrounded by white chocolate ganache made with Italian meringue.'</li><li>'They also do some interesting stuff like they have a summer whiskey where it is infused tea and lemon.'</li><li>'Cheers to Peach Whiskey! This peach whiskey from olesmoky goes perfect with BBQ as a refreshing cocktail or on the rocks. I mixed mine with pineapple juice and ginger beer. The perfect refreshing smooth texture, and all the citrus notes of the peach come through. I love drinking Ole Smoky Whiskey, as it’s the best on the market. '</li></ul> |
62
+ | 2 | <ul><li>'I soaked walnuts in like 4 shots of bourbon with brown sugar and cinnamon'</li><li>'Figured pecans and bourbon both like a little smoke so decided to smoke my Bourbon Pecan pie recipe for tomorrow. Lick test on the thermometer probe says its delicious. Will find out for sure tomorrow.'</li><li>'I looooove pecan pie. I found a delicious recipe for bourbon pecan pie with homemade bourbon whip cream. I may need to make one soon'</li></ul> |
63
+ | 5 | <ul><li>'Just in Nola we have Roulaison, Lula, seven three, wetlands sake, Atelier Vie and happy raptor. A lot of bars have one or two of these available but I rarely see them featured in cocktails. I’d especially love to try flights of local rums or whiskeys alongside common brands so you can see what makes the local stuff unique'</li><li>'I have some Milk Chocolate Truffle right now and that shit is good.'</li><li>'We celebrated our one-year anniversary here and the staff made us feel so loved and celebrated. The butternut bisque for the fall menu was incredible. My whiskey sour was also phenomenal. The room was loud and cold but not uncommon for indoor restaurant.'</li></ul> |
64
+
65
+ ## Uses
66
+
67
+ ### Direct Use for Inference
68
+
69
+ First install the SetFit library:
70
+
71
+ ```bash
72
+ pip install setfit
73
+ ```
74
+
75
+ Then you can load this model and run inference.
76
+
77
+ ```python
78
+ from setfit import SetFitModel
79
+
80
+ # Download from the 🤗 Hub
81
+ model = SetFitModel.from_pretrained("bhaskars113/whiskey-recipe-type-model")
82
+ # Run inference
83
+ preds = model("Four roses small batch select. Milk chocolate on the nose and palate for me")
84
+ ```
85
+
86
+ <!--
87
+ ### Downstream Use
88
+
89
+ *List how someone could finetune this model on their own dataset.*
90
+ -->
91
+
92
+ <!--
93
+ ### Out-of-Scope Use
94
+
95
+ *List how the model may foreseeably be misused and address what users ought not to do with the model.*
96
+ -->
97
+
98
+ <!--
99
+ ## Bias, Risks and Limitations
100
+
101
+ *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
102
+ -->
103
+
104
+ <!--
105
+ ### Recommendations
106
+
107
+ *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
108
+ -->
109
+
110
+ ## Training Details
111
+
112
+ ### Training Set Metrics
113
+ | Training set | Min | Median | Max |
114
+ |:-------------|:----|:--------|:----|
115
+ | Word count | 7 | 50.0446 | 362 |
116
+
117
+ | Label | Training Sample Count |
118
+ |:------|:----------------------|
119
+ | 0 | 20 |
120
+ | 1 | 20 |
121
+ | 2 | 20 |
122
+ | 3 | 20 |
123
+ | 4 | 16 |
124
+ | 5 | 16 |
125
+
126
+ ### Training Hyperparameters
127
+ - batch_size: (16, 16)
128
+ - num_epochs: (1, 1)
129
+ - max_steps: -1
130
+ - sampling_strategy: oversampling
131
+ - num_iterations: 20
132
+ - body_learning_rate: (2e-05, 2e-05)
133
+ - head_learning_rate: 2e-05
134
+ - loss: CosineSimilarityLoss
135
+ - distance_metric: cosine_distance
136
+ - margin: 0.25
137
+ - end_to_end: False
138
+ - use_amp: False
139
+ - warmup_proportion: 0.1
140
+ - seed: 42
141
+ - eval_max_steps: -1
142
+ - load_best_model_at_end: False
143
+
144
+ ### Training Results
145
+ | Epoch | Step | Training Loss | Validation Loss |
146
+ |:------:|:----:|:-------------:|:---------------:|
147
+ | 0.0036 | 1 | 0.239 | - |
148
+ | 0.1786 | 50 | 0.1855 | - |
149
+ | 0.3571 | 100 | 0.0275 | - |
150
+ | 0.5357 | 150 | 0.0397 | - |
151
+ | 0.7143 | 200 | 0.0063 | - |
152
+ | 0.8929 | 250 | 0.0034 | - |
153
+
154
+ ### Framework Versions
155
+ - Python: 3.10.12
156
+ - SetFit: 1.0.3
157
+ - Sentence Transformers: 2.6.1
158
+ - Transformers: 4.38.2
159
+ - PyTorch: 2.2.1+cu121
160
+ - Datasets: 2.18.0
161
+ - Tokenizers: 0.15.2
162
+
163
+ ## Citation
164
+
165
+ ### BibTeX
166
+ ```bibtex
167
+ @article{https://doi.org/10.48550/arxiv.2209.11055,
168
+ doi = {10.48550/ARXIV.2209.11055},
169
+ url = {https://arxiv.org/abs/2209.11055},
170
+ author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
171
+ keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
172
+ title = {Efficient Few-Shot Learning Without Prompts},
173
+ publisher = {arXiv},
174
+ year = {2022},
175
+ copyright = {Creative Commons Attribution 4.0 International}
176
+ }
177
+ ```
178
+
179
+ <!--
180
+ ## Glossary
181
+
182
+ *Clearly define terms in order to be accessible across audiences.*
183
+ -->
184
+
185
+ <!--
186
+ ## Model Card Authors
187
+
188
+ *Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
189
+ -->
190
+
191
+ <!--
192
+ ## Model Card Contact
193
+
194
+ *Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
195
+ -->
config.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "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.38.2",
23
+ "vocab_size": 30527
24
+ }
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
+ "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:1eb8bae1a8acf29af010a45f66e5b43adf3cae37dfba6310a734177565cb96bf
3
+ size 437967672
model_head.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cf5fb3d01a19d1b3302c79f3ee58d7ddaa1ec9e8cc4db85893c79d81c8717c5b
3
+ size 37799
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,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