Netta1994 commited on
Commit
574aacc
1 Parent(s): f0409ff

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": true,
4
+ "pooling_mode_mean_tokens": false,
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,272 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: BAAI/bge-base-en-v1.5
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 answer effectively captures the essence of what the percentage in the
14
+ response status column indicates:
15
+
16
+
17
+ 1. **Accurate Summary**: The provided answer accurately highlights that the percentage
18
+ indicates the total amount of successful completion of response actions.
19
+
20
+ 2. **Document Grounding**: It is well-grounded in the document, which states:
21
+ "Column is Response status and Description is ... percentage indicates the total
22
+ amount of successful completion of response actions."
23
+
24
+
25
+ Therefore, the answer correctly and precisely responds to the query as per the
26
+ document.
27
+
28
+
29
+ Final Evaluation: Good'
30
+ - text: 'The provided answer states that the question is not covered by the information
31
+ provided in the document. However, the document does give some context about what
32
+ Endpoint controls are and their configuration process—namely, they relate to Device
33
+ Control, Personal Firewall Control, and Full Disk Encryption Visibility. The provided
34
+ answer fails to derive the purpose from this information. An adequate response
35
+ would have explained that the purpose of Endpoint controls is to manage and configure
36
+ aspects like device control, personal firewall control, and full disk encryption
37
+ visibility.
38
+
39
+
40
+ Final evaluation: Bad'
41
+ - text: "The answer provided only partially addresses the question and lacks a thorough\
42
+ \ explanation. The purpose of the <ORGANIZATION> XDR On-Site Collector Agent is\
43
+ \ indeed to collect logs and securely forward them to <ORGANIZATION> XDR. However,\
44
+ \ the document further elaborates that the collector agent is specifically used\
45
+ \ for integrations that do not use a cloud feed, such as firewalls. \n\nThe answer\
46
+ \ should have included this additional context to fully explain the specific role\
47
+ \ of the on-site collector in comparison to cloud feed integrations. Including\
48
+ \ this information makes the response comprehensive and directly aligned with\
49
+ \ the document.\n\nFinal evaluation: Bad"
50
+ - text: "**Evaluation:**\n\nThe answer provided is, \"The purpose of the <ORGANIZATION_2>\
51
+ \ email notifications checkbox in the Users section is to <ORGANIZATION_2> or\
52
+ \ disable email notifications for users.\" \n\nThis response:\n\n1. **Accurate\
53
+ \ Use of Source Information**: The answer attempts to explain the purpose of the\
54
+ \ <ORGANIZATION_2> email notifications checkbox. However, it lacks the specific\
55
+ \ and detailed information present in the document.\n\n2. **Completeness and Specificity**:\
56
+ \ The document indicates that when the <ORGANIZATION_2> email notifications checkbox\
57
+ \ is set to On, users with the System Admin role receive email notifications about\
58
+ \ stale or archived sensors. The answer misses these critical details.\n\n3. **Terminology\
59
+ \ and Context**: The answer uses placeholders (\"<ORGANIZATION_2>\") which might\
60
+ \ have been intended to demonstrate variable data but does not reflect the actual\
61
+ \ functioning or purpose as part of a specific context.\n\n4. **Clarity and Detail**:\
62
+ \ The provided response lacks clarity and fails to fully describe the function\
63
+ \ and implications of toggling the checkbox for email notifications as presented\
64
+ \ in the document.\n\nGiven these considerations, the answer does not accurately\
65
+ \ represent the critical details and specific functionalities described in the\
66
+ \ document.\n\n**Final Evaluation: Bad**"
67
+ - text: 'The given answer is "..\/..\/_images\/hunting_http://www.flores.net/". However,
68
+ the document clearly outlines the URLs for image examples relating to the queries.
69
+ For the second query, the URL provided in the document is ..\/..\/_images\/hunting_http://miller.co.
70
+ The answer provided does not match the correct URL from the document.
71
+
72
+
73
+ Final evaluation: Bad'
74
+ inference: true
75
+ model-index:
76
+ - name: SetFit with BAAI/bge-base-en-v1.5
77
+ results:
78
+ - task:
79
+ type: text-classification
80
+ name: Text Classification
81
+ dataset:
82
+ name: Unknown
83
+ type: unknown
84
+ split: test
85
+ metrics:
86
+ - type: accuracy
87
+ value: 0.5915492957746479
88
+ name: Accuracy
89
+ ---
90
+
91
+ # SetFit with BAAI/bge-base-en-v1.5
92
+
93
+ This is a [SetFit](https://github.com/huggingface/setfit) model that can be used for Text Classification. This SetFit model uses [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5) 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.
94
+
95
+ The model has been trained using an efficient few-shot learning technique that involves:
96
+
97
+ 1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
98
+ 2. Training a classification head with features from the fine-tuned Sentence Transformer.
99
+
100
+ ## Model Details
101
+
102
+ ### Model Description
103
+ - **Model Type:** SetFit
104
+ - **Sentence Transformer body:** [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5)
105
+ - **Classification head:** a [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance
106
+ - **Maximum Sequence Length:** 512 tokens
107
+ - **Number of Classes:** 2 classes
108
+ <!-- - **Training Dataset:** [Unknown](https://huggingface.co/datasets/unknown) -->
109
+ <!-- - **Language:** Unknown -->
110
+ <!-- - **License:** Unknown -->
111
+
112
+ ### Model Sources
113
+
114
+ - **Repository:** [SetFit on GitHub](https://github.com/huggingface/setfit)
115
+ - **Paper:** [Efficient Few-Shot Learning Without Prompts](https://arxiv.org/abs/2209.11055)
116
+ - **Blogpost:** [SetFit: Efficient Few-Shot Learning Without Prompts](https://huggingface.co/blog/setfit)
117
+
118
+ ### Model Labels
119
+ | Label | Examples |
120
+ |:------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
121
+ | 0 | <ul><li>"The answer provided is vague and does not directly address the question asked. The question specifically seeks to understand the significance of considering all the answers together when determining if the behavior in a MalOp is malicious. The document suggests that the combined answers help in determining whether the behavior requires remediation, identifying vital machines, addressing severe activities, and determining the significance of users involved. This nuanced consideration is critical to accurately identifying and prioritizing threats. The answer lacks these specific references and explanations and fails to provide a clear connection to the document's content.\n\nFinal evaluation: Bad"</li><li>'Evaluation:\nThe answer given by the user does not directly respond to the question. The provided document details the steps involved in excluding a MalOp during the remediation phase, but the user’s answer states that the information is insufficient and suggests seeking additional sources. This is incorrect, as the document contains the necessary steps to answer the question.\n\nFinal evaluation: Bad'</li><li>'The answer provided is accurate and correctly grounded in the document. The query asks what should be done if a file is quarantined, and the given response clearly states that the file should be un-quarantined before submitting it to the relevant organization. This matches the specific instruction found in the article, fulfilling the requirement of the evaluation.\n\nFinal Verdict: Good'</li></ul> |
122
+ | 1 | <ul><li>"Evaluation:\n\nThe given answer is accurate and correctly reflects the content of the document. It specifies what the computer will generate (a dump file containing the entire contents of the sensor's RAM) in the event of a system failure, which aligns with the information provided in the document.\n\nFinal evaluation: Good"</li><li>'Evaluation:\nThe answer directly addresses the question by stating that the purpose of the platform\'s threat detection abilities is "to identify cyber security threats," which aligns with the information provided in the document. The document elaborates on the capabilities of the <ORGANIZATION_2> platform\'s threat detection, including the identification of cyber security threats using various methods like artificial intelligence, machine learning, and behavioral analysis.\n\nThe final evaluation: Good'</li><li>'The answer provided is unhelpful and does not directly address the question of identifying the severity score for the fifth scenario. The document briefing detailed examples of scoring for different scenarios, but the response fails to utilize that information. Instead, it defers to seeking additional sources or context, which is unnecessary here.\n\nFinal evaluation: Bad'</li></ul> |
123
+
124
+ ## Evaluation
125
+
126
+ ### Metrics
127
+ | Label | Accuracy |
128
+ |:--------|:---------|
129
+ | **all** | 0.5915 |
130
+
131
+ ## Uses
132
+
133
+ ### Direct Use for Inference
134
+
135
+ First install the SetFit library:
136
+
137
+ ```bash
138
+ pip install setfit
139
+ ```
140
+
141
+ Then you can load this model and run inference.
142
+
143
+ ```python
144
+ from setfit import SetFitModel
145
+
146
+ # Download from the 🤗 Hub
147
+ model = SetFitModel.from_pretrained("Netta1994/setfit_baai_cybereason_gpt-4o_cot-few_shot_only_reasoning_1726751740.333197")
148
+ # Run inference
149
+ preds = model("The given answer is \"..\/..\/_images\/hunting_http://www.flores.net/\". However, the document clearly outlines the URLs for image examples relating to the queries. For the second query, the URL provided in the document is ..\/..\/_images\/hunting_http://miller.co. The answer provided does not match the correct URL from the document.
150
+
151
+ Final evaluation: Bad")
152
+ ```
153
+
154
+ <!--
155
+ ### Downstream Use
156
+
157
+ *List how someone could finetune this model on their own dataset.*
158
+ -->
159
+
160
+ <!--
161
+ ### Out-of-Scope Use
162
+
163
+ *List how the model may foreseeably be misused and address what users ought not to do with the model.*
164
+ -->
165
+
166
+ <!--
167
+ ## Bias, Risks and Limitations
168
+
169
+ *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
170
+ -->
171
+
172
+ <!--
173
+ ### Recommendations
174
+
175
+ *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
176
+ -->
177
+
178
+ ## Training Details
179
+
180
+ ### Training Set Metrics
181
+ | Training set | Min | Median | Max |
182
+ |:-------------|:----|:--------|:----|
183
+ | Word count | 20 | 58.5072 | 183 |
184
+
185
+ | Label | Training Sample Count |
186
+ |:------|:----------------------|
187
+ | 0 | 34 |
188
+ | 1 | 35 |
189
+
190
+ ### Training Hyperparameters
191
+ - batch_size: (16, 16)
192
+ - num_epochs: (5, 5)
193
+ - max_steps: -1
194
+ - sampling_strategy: oversampling
195
+ - num_iterations: 20
196
+ - body_learning_rate: (2e-05, 2e-05)
197
+ - head_learning_rate: 2e-05
198
+ - loss: CosineSimilarityLoss
199
+ - distance_metric: cosine_distance
200
+ - margin: 0.25
201
+ - end_to_end: False
202
+ - use_amp: False
203
+ - warmup_proportion: 0.1
204
+ - l2_weight: 0.01
205
+ - seed: 42
206
+ - eval_max_steps: -1
207
+ - load_best_model_at_end: False
208
+
209
+ ### Training Results
210
+ | Epoch | Step | Training Loss | Validation Loss |
211
+ |:------:|:----:|:-------------:|:---------------:|
212
+ | 0.0058 | 1 | 0.2075 | - |
213
+ | 0.2890 | 50 | 0.2549 | - |
214
+ | 0.5780 | 100 | 0.2371 | - |
215
+ | 0.8671 | 150 | 0.084 | - |
216
+ | 1.1561 | 200 | 0.0034 | - |
217
+ | 1.4451 | 250 | 0.0021 | - |
218
+ | 1.7341 | 300 | 0.0019 | - |
219
+ | 2.0231 | 350 | 0.0016 | - |
220
+ | 2.3121 | 400 | 0.0016 | - |
221
+ | 2.6012 | 450 | 0.0014 | - |
222
+ | 2.8902 | 500 | 0.0013 | - |
223
+ | 3.1792 | 550 | 0.0013 | - |
224
+ | 3.4682 | 600 | 0.0013 | - |
225
+ | 3.7572 | 650 | 0.0013 | - |
226
+ | 4.0462 | 700 | 0.0013 | - |
227
+ | 4.3353 | 750 | 0.0012 | - |
228
+ | 4.6243 | 800 | 0.0012 | - |
229
+ | 4.9133 | 850 | 0.0012 | - |
230
+
231
+ ### Framework Versions
232
+ - Python: 3.10.14
233
+ - SetFit: 1.1.0
234
+ - Sentence Transformers: 3.1.0
235
+ - Transformers: 4.44.0
236
+ - PyTorch: 2.4.1+cu121
237
+ - Datasets: 2.19.2
238
+ - Tokenizers: 0.19.1
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,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "BAAI/bge-base-en-v1.5",
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": 768,
12
+ "id2label": {
13
+ "0": "LABEL_0"
14
+ },
15
+ "initializer_range": 0.02,
16
+ "intermediate_size": 3072,
17
+ "label2id": {
18
+ "LABEL_0": 0
19
+ },
20
+ "layer_norm_eps": 1e-12,
21
+ "max_position_embeddings": 512,
22
+ "model_type": "bert",
23
+ "num_attention_heads": 12,
24
+ "num_hidden_layers": 12,
25
+ "pad_token_id": 0,
26
+ "position_embedding_type": "absolute",
27
+ "torch_dtype": "float32",
28
+ "transformers_version": "4.44.0",
29
+ "type_vocab_size": 2,
30
+ "use_cache": true,
31
+ "vocab_size": 30522
32
+ }
config_sentence_transformers.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "__version__": {
3
+ "sentence_transformers": "3.1.0",
4
+ "transformers": "4.44.0",
5
+ "pytorch": "2.4.1+cu121"
6
+ },
7
+ "prompts": {},
8
+ "default_prompt_name": null,
9
+ "similarity_fn_name": null
10
+ }
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:584bb5d0615c2efabff98721ba5d439b840ff34a8438a89cbe1645191dc9f2e7
3
+ size 437951328
model_head.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e104b0725b55436b197b4e8323558ac768fc688be9cf8a3bb0765131377d6fc6
3
+ size 7007
modules.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ {
15
+ "idx": 2,
16
+ "name": "2",
17
+ "path": "2_Normalize",
18
+ "type": "sentence_transformers.models.Normalize"
19
+ }
20
+ ]
sentence_bert_config.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "max_seq_length": 512,
3
+ "do_lower_case": true
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,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ "model_max_length": 512,
50
+ "never_split": null,
51
+ "pad_token": "[PAD]",
52
+ "sep_token": "[SEP]",
53
+ "strip_accents": null,
54
+ "tokenize_chinese_chars": true,
55
+ "tokenizer_class": "BertTokenizer",
56
+ "unk_token": "[UNK]"
57
+ }
vocab.txt ADDED
The diff for this file is too large to render. See raw diff