yasirdemircan commited on
Commit
92e511e
·
verified ·
1 Parent(s): 641cdee

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,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: sentence-transformers/paraphrase-mpnet-base-v2
3
+ library_name: setfit
4
+ metrics:
5
+ - accuracy
6
+ pipeline_tag: text-classification
7
+ tags:
8
+ - setfit
9
+ - sentence-transformers
10
+ - text-classification
11
+ - generated_from_setfit_trainer
12
+ widget:
13
+ - text: The RNG (Random Number Generator) key or DRBG (Deterministic Random Bit Generator)
14
+ key is generated and stored as a 128-bit value through an entropy source meeting
15
+ the security strength needed for random number generation, specifically ANS X9.31
16
+ compliant.
17
+ - text: The RNG (Random Number Generator) key or DRBG (Deterministic Random Bit Generator)
18
+ key is statically stored and hardcoded into the code as a seed value, which is
19
+ then used to initialize the PRNG (Pseudorandom Number Generator).
20
+ - text: The RNG (Random Number Generator) key or DRBG (Deterministic Random Bit Generator)
21
+ key is generated and stored within the device's firmware or software at manufacturing
22
+ time as part of the CSP injection process.
23
+ - text: The RNG (Random Number Generator) key or DRBG (Deterministic Random Bit Generator)
24
+ key is internally generated and never exits the module, meaning it is not explicitly
25
+ stored, created, or compiled as it exists solely within the volatile memory of
26
+ the system.
27
+ - text: The PRNG (Pseudorandom Number Generator) key or DRBG (Deterministic Random
28
+ Bit Generator) key is generated and stored securely in a private key portion of
29
+ an ANSI X9.31-compliant format within non-volatile random access memory (NVRAM).
30
+ inference: true
31
+ ---
32
+
33
+ # SetFit with sentence-transformers/paraphrase-mpnet-base-v2
34
+
35
+ 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.
36
+
37
+ The model has been trained using an efficient few-shot learning technique that involves:
38
+
39
+ 1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
40
+ 2. Training a classification head with features from the fine-tuned Sentence Transformer.
41
+
42
+ ## Model Details
43
+
44
+ ### Model Description
45
+ - **Model Type:** SetFit
46
+ - **Sentence Transformer body:** [sentence-transformers/paraphrase-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-mpnet-base-v2)
47
+ - **Classification head:** a [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance
48
+ - **Maximum Sequence Length:** 512 tokens
49
+ - **Number of Classes:** 2 classes
50
+ <!-- - **Training Dataset:** [Unknown](https://huggingface.co/datasets/unknown) -->
51
+ <!-- - **Language:** Unknown -->
52
+ <!-- - **License:** Unknown -->
53
+
54
+ ### Model Sources
55
+
56
+ - **Repository:** [SetFit on GitHub](https://github.com/huggingface/setfit)
57
+ - **Paper:** [Efficient Few-Shot Learning Without Prompts](https://arxiv.org/abs/2209.11055)
58
+ - **Blogpost:** [SetFit: Efficient Few-Shot Learning Without Prompts](https://huggingface.co/blog/setfit)
59
+
60
+ ### Model Labels
61
+ | Label | Examples |
62
+ |:---------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
63
+ | negative | <ul><li>"The RNG (Random Number Generator) key or DRBG (Deterministic Random Bit Generator) key is generated by calling `get_random_bytes()` to obtain bits from the Linux kernel's hardware-based non-deterministic random number generator and then used as input for AES 128 encryption, without being explicitly stored."</li><li>'The RNG (Random Number Generator) key or DRBG (Deterministic Random Bit Generator) key is obtained by reading bytes from the /dev/urandom device and then temporarily stored in plaintext SDRAM while in use before being deleted on power-down, reboot, or certain commands that require a restart.'</li><li>'The ANSI X9.31 PRNG (Pseudorandom Number Generator) key, also known as the DRBG (Deterministic Random Bit Generator) key, is generated internally by the kernel and not explicitly stored, created, or compiled, but rather used directly to produce random numbers for cryptographic purposes.'</li></ul> |
64
+ | positive | <ul><li>'In an ANSI X9.31-compliant PRNG, the private key (RNG key or DRBG key) is generated and stored securely in Non-Volatile Random Access Memory (NVRAM).'</li><li>'The RNG (Random Number Generator) key or DRBG (Deterministic Random Bit Generator) key is generated and permanently stored in read-only memory (FLASH) within the factory environment using hardware-based random number generation embedded in FLASH.'</li><li>'The RNG (DRBG) key is not explicitly mentioned as being stored, but its internal state value is persisted in Non-Volatile Random Access Memory (NVRAM), implying that the key is implicitly tied to this persistent state and does not have an independent storage mechanism.'</li></ul> |
65
+
66
+ ## Uses
67
+
68
+ ### Direct Use for Inference
69
+
70
+ First install the SetFit library:
71
+
72
+ ```bash
73
+ pip install setfit
74
+ ```
75
+
76
+ Then you can load this model and run inference.
77
+
78
+ ```python
79
+ from setfit import SetFitModel
80
+
81
+ # Download from the 🤗 Hub
82
+ model = SetFitModel.from_pretrained("yasirdemircan/setfit_rng_v6")
83
+ # Run inference
84
+ preds = model("The RNG (Random Number Generator) key or DRBG (Deterministic Random Bit Generator) key is generated and stored within the device's firmware or software at manufacturing time as part of the CSP injection process.")
85
+ ```
86
+
87
+ <!--
88
+ ### Downstream Use
89
+
90
+ *List how someone could finetune this model on their own dataset.*
91
+ -->
92
+
93
+ <!--
94
+ ### Out-of-Scope Use
95
+
96
+ *List how the model may foreseeably be misused and address what users ought not to do with the model.*
97
+ -->
98
+
99
+ <!--
100
+ ## Bias, Risks and Limitations
101
+
102
+ *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
103
+ -->
104
+
105
+ <!--
106
+ ### Recommendations
107
+
108
+ *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
109
+ -->
110
+
111
+ ## Training Details
112
+
113
+ ### Training Set Metrics
114
+ | Training set | Min | Median | Max |
115
+ |:-------------|:----|:--------|:----|
116
+ | Word count | 24 | 36.8444 | 52 |
117
+
118
+ | Label | Training Sample Count |
119
+ |:---------|:----------------------|
120
+ | negative | 22 |
121
+ | positive | 23 |
122
+
123
+ ### Training Hyperparameters
124
+ - batch_size: (16, 16)
125
+ - num_epochs: (4, 4)
126
+ - max_steps: -1
127
+ - sampling_strategy: oversampling
128
+ - body_learning_rate: (2e-05, 1e-05)
129
+ - head_learning_rate: 0.01
130
+ - loss: CosineSimilarityLoss
131
+ - distance_metric: cosine_distance
132
+ - margin: 0.25
133
+ - end_to_end: False
134
+ - use_amp: False
135
+ - warmup_proportion: 0.1
136
+ - l2_weight: 0.01
137
+ - seed: 42
138
+ - eval_max_steps: -1
139
+ - load_best_model_at_end: True
140
+
141
+ ### Training Results
142
+ | Epoch | Step | Training Loss | Validation Loss |
143
+ |:------:|:----:|:-------------:|:---------------:|
144
+ | 0.0294 | 1 | 0.2664 | - |
145
+ | 1.0 | 34 | - | 0.2420 |
146
+ | 1.4706 | 50 | 0.1035 | - |
147
+ | 2.0 | 68 | - | 0.2950 |
148
+ | 2.9412 | 100 | 0.0005 | - |
149
+ | 3.0 | 102 | - | 0.2981 |
150
+ | 4.0 | 136 | - | 0.3001 |
151
+
152
+ ### Framework Versions
153
+ - Python: 3.10.15
154
+ - SetFit: 1.2.0.dev0
155
+ - Sentence Transformers: 3.3.1
156
+ - Transformers: 4.45.2
157
+ - PyTorch: 2.5.1+cu124
158
+ - Datasets: 2.19.1
159
+ - Tokenizers: 0.20.1
160
+
161
+ ## Citation
162
+
163
+ ### BibTeX
164
+ ```bibtex
165
+ @article{https://doi.org/10.48550/arxiv.2209.11055,
166
+ doi = {10.48550/ARXIV.2209.11055},
167
+ url = {https://arxiv.org/abs/2209.11055},
168
+ author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
169
+ keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
170
+ title = {Efficient Few-Shot Learning Without Prompts},
171
+ publisher = {arXiv},
172
+ year = {2022},
173
+ copyright = {Creative Commons Attribution 4.0 International}
174
+ }
175
+ ```
176
+
177
+ <!--
178
+ ## Glossary
179
+
180
+ *Clearly define terms in order to be accessible across audiences.*
181
+ -->
182
+
183
+ <!--
184
+ ## Model Card Authors
185
+
186
+ *Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
187
+ -->
188
+
189
+ <!--
190
+ ## Model Card Contact
191
+
192
+ *Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
193
+ -->
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.45.2",
23
+ "vocab_size": 30527
24
+ }
config_sentence_transformers.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "__version__": {
3
+ "sentence_transformers": "3.3.1",
4
+ "transformers": "4.45.2",
5
+ "pytorch": "2.5.1+cu124"
6
+ },
7
+ "prompts": {},
8
+ "default_prompt_name": null,
9
+ "similarity_fn_name": "cosine"
10
+ }
config_setfit.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "normalize_embeddings": false,
3
+ "labels": [
4
+ "negative",
5
+ "positive"
6
+ ]
7
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:444c3024db43fa64a870a60c9e67e0d62aec4a4ad65b13264cb2a3629d25ae32
3
+ size 437967672
model_head.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2baa2f55c86e3f01e9b3e7b3383e6c38eed55769939aefd4166b97f5ef837310
3
+ size 7055
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": false,
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