cedricbonhomme commited on
Commit
3b98a1d
·
verified ·
1 Parent(s): 4bd1d03

End of training

Browse files
Files changed (7) hide show
  1. README.md +58 -159
  2. config.json +100 -108
  3. emissions.csv +1 -1
  4. metrics.json +10 -10
  5. model.safetensors +2 -2
  6. tokenizer.json +1 -6
  7. training_args.bin +1 -1
README.md CHANGED
@@ -2,131 +2,39 @@
2
  library_name: transformers
3
  license: mit
4
  base_model: roberta-base
5
- pipeline_tag: text-classification
6
- language:
7
- - en
8
- datasets:
9
- - CIRCL/vulnerability-attack-techniques
10
  tags:
11
- - vulnerability
12
- - cybersecurity
13
- - security
14
- - cve
15
- - mitre-attack
16
- - attack-techniques
17
  - generated_from_trainer
18
  model-index:
19
  - name: vulnerability-attack-technique-classification-roberta-base
20
  results: []
21
  ---
22
 
 
 
 
23
  # vulnerability-attack-technique-classification-roberta-base
24
 
25
- This model suggests **MITRE ATT&CK (Enterprise) techniques** from a vulnerability
26
- description. It is a fine-tuned version of
27
- [roberta-base](https://huggingface.co/roberta-base) trained on
28
- [CIRCL/vulnerability-attack-techniques](https://huggingface.co/datasets/CIRCL/vulnerability-attack-techniques),
29
- a dataset of ~1,200 CVEs with analyst-curated technique mappings from the
30
- [MITRE Center for Threat-Informed Defense (CTID)](https://ctid.mitre.org/) projects,
31
- following the "Mapping ATT&CK to CVE for Impact" methodology.
 
 
32
 
33
- CVSS tells you *how bad* a vulnerability is, CWE *what kind of flaw* it is —
34
- ATT&CK tells defenders *what adversary behavior to expect and detect*.
35
 
36
- This is a **multi-label** classifier (sigmoid head, binary cross-entropy with
37
- per-label positive weights): a CVE legitimately maps to several techniques —
38
- an exploitation technique (e.g. T1190 *Exploit Public-Facing Application*)
39
- plus one or more impacts (e.g. T1059 *Command and Scripting Interpreter*).
40
 
41
  ## Intended uses & limitations
42
 
43
- The model **suggests candidate techniques for analyst review**. It must not be
44
- treated as an authoritative mapping: a CVE description describes a flaw, while
45
- ATT&CK describes attacker behavior around it, and even human annotators
46
- disagree on such mappings. Use the top-k suggestions as a triage aid.
47
-
48
- - **Label space**: 57 parent techniques (sub-techniques collapsed, only
49
- techniques with ≥ 5 training examples), enterprise ATT&CK v19.1. Techniques
50
- outside this vocabulary can never be suggested.
51
- - **Selection bias**: the training data over-represents exploited-in-the-wild
52
- vulnerabilities (a large part comes from CISA KEV mappings).
53
- - **Small training set** (~1,100 examples): rare-technique performance is
54
- weak, as the macro-F1 shows.
55
-
56
- ## Evaluation
57
-
58
- Evaluated with `vulntrain-validate-attack-classification` on the dataset's
59
- test split, against the zero-shot SMET-style baseline (rank techniques by
60
- cosine similarity between the description embedding —
61
- `all-MiniLM-L6-v2` — and the official ATT&CK technique descriptions), using
62
- the same label vocabulary and metrics:
63
-
64
- | Metric | Zero-shot similarity baseline | This model |
65
- |--------|------------------------------|------------|
66
- | recall@1 | 0.118 | **0.220** |
67
- | recall@3 | 0.257 | **0.482** |
68
- | recall@5 | 0.322 | **0.686** |
69
- | recall@10 | 0.491 | **0.842** |
70
- | MRR | 0.397 | **0.620** |
71
-
72
- At the 0.5 threshold: F1 micro 0.417, F1 macro 0.203, precision micro 0.301,
73
- recall micro 0.682. The balanced positive weights deliberately favor recall;
74
- for the suggestion use case, ranking metrics (recall@k) are the ones that
75
- matter — in ~69% of cases the correct techniques appear among the top 5
76
- suggestions, out of 57 candidates.
77
-
78
- ## Usage
79
-
80
- ```python
81
- import torch
82
- from transformers import AutoModelForSequenceClassification, AutoTokenizer
83
-
84
- model_id = "CIRCL/vulnerability-attack-technique-classification-roberta-base"
85
- tokenizer = AutoTokenizer.from_pretrained(model_id)
86
- model = AutoModelForSequenceClassification.from_pretrained(model_id)
87
-
88
- description = (
89
- "A Missing Authentication for Critical Function vulnerability in J-Web "
90
- "allows an unauthenticated, network-based attacker to upload and "
91
- "download arbitrary files and execute commands."
92
- )
93
- inputs = tokenizer(description, return_tensors="pt", truncation=True)
94
- with torch.no_grad():
95
- probabilities = torch.sigmoid(model(**inputs).logits)[0]
96
-
97
- top = torch.topk(probabilities, k=5)
98
- for probability, index in zip(top.values, top.indices):
99
- print(f"{model.config.id2label[index.item()]}: {probability:.2f}")
100
- ```
101
 
102
  ## Training and evaluation data
103
 
104
- Trained with [VulnTrain](https://github.com/vulnerability-lookup/VulnTrain):
105
-
106
- ```bash
107
- vulntrain-train-attack-classification \
108
- --base-model roberta-base \
109
- --repo-id CIRCL/vulnerability-attack-technique-classification-roberta-base
110
- ```
111
-
112
- The dataset provenance (why the labels come from the hand-curated CTID
113
- mappings rather than automatically derived CVE→CWE→CAPEC→ATT&CK chains) is
114
- documented in the
115
- [methodology page](https://github.com/vulnerability-lookup/VulnTrain/blob/main/docs/attack-techniques-dataset.md)
116
- and on the [dataset card](https://huggingface.co/datasets/CIRCL/vulnerability-attack-techniques).
117
-
118
- ## Next steps
119
-
120
- - **LLM-assisted label expansion**: grow the training set beyond ~1,200
121
- examples by labeling a CWE-stratified CVE sample with the CTID methodology,
122
- validated against the analyst gold set before use. This targets the main
123
- weakness (rare-technique recall / macro-F1).
124
- - Stronger encoders (e.g. security-domain sentence models) as both baseline
125
- and base model.
126
- - Sub-technique-level labels once the per-label support allows it
127
- (`--keep-subtechniques`).
128
- - Integration into [Vulnerability-Lookup](https://vulnerability.circl.lu) via
129
- [ML-Gateway](https://github.com/vulnerability-lookup/ML-Gateway).
130
 
131
  ## Training procedure
132
 
@@ -134,59 +42,57 @@ and on the [dataset card](https://huggingface.co/datasets/CIRCL/vulnerability-at
134
 
135
  The following hyperparameters were used during training:
136
  - learning_rate: 1e-05
137
- - train_batch_size: 64
138
- - eval_batch_size: 64
139
  - seed: 42
140
  - optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
141
  - lr_scheduler_type: linear
142
  - num_epochs: 40
143
 
144
- The best checkpoint was selected on validation macro-F1 (epoch 33).
145
-
146
  ### Training results
147
 
148
  | Training Loss | Epoch | Step | Validation Loss | F1 Micro | F1 Macro | Precision Micro | Recall Micro | Recall At 3 | Recall At 5 |
149
  |:-------------:|:-----:|:----:|:---------------:|:--------:|:--------:|:---------------:|:------------:|:-----------:|:-----------:|
150
- | No log | 1.0 | 17 | 0.9141 | 0.1161 | 0.0311 | 0.0672 | 0.4280 | 0.2637 | 0.2959 |
151
- | 0.9279 | 2.0 | 34 | 0.8081 | 0.2057 | 0.0305 | 0.1473 | 0.3409 | 0.3201 | 0.3587 |
152
- | 0.8472 | 3.0 | 51 | 0.7795 | 0.2369 | 0.0429 | 0.1649 | 0.4205 | 0.3212 | 0.3859 |
153
- | 0.7976 | 4.0 | 68 | 0.7677 | 0.2418 | 0.0375 | 0.1752 | 0.3902 | 0.3415 | 0.3950 |
154
- | 0.7776 | 5.0 | 85 | 0.7555 | 0.2945 | 0.0616 | 0.2137 | 0.4735 | 0.3449 | 0.4593 |
155
- | 0.7742 | 6.0 | 102 | 0.7483 | 0.2943 | 0.0702 | 0.2085 | 0.5 | 0.3530 | 0.4845 |
156
- | 0.7742 | 7.0 | 119 | 0.7393 | 0.3159 | 0.0800 | 0.2199 | 0.5606 | 0.3599 | 0.5048 |
157
- | 0.7523 | 8.0 | 136 | 0.7281 | 0.3246 | 0.0992 | 0.2212 | 0.6098 | 0.3553 | 0.5116 |
158
- | 0.7418 | 9.0 | 153 | 0.7172 | 0.336 | 0.1068 | 0.2283 | 0.6364 | 0.4342 | 0.5668 |
159
- | 0.7328 | 10.0 | 170 | 0.7078 | 0.3431 | 0.1230 | 0.2338 | 0.6439 | 0.4063 | 0.5864 |
160
- | 0.7166 | 11.0 | 187 | 0.6942 | 0.3546 | 0.1306 | 0.2420 | 0.6629 | 0.4405 | 0.6021 |
161
- | 0.6951 | 12.0 | 204 | 0.6858 | 0.3746 | 0.1355 | 0.2635 | 0.6477 | 0.4650 | 0.6256 |
162
- | 0.6778 | 13.0 | 221 | 0.6750 | 0.3603 | 0.1339 | 0.2468 | 0.6667 | 0.4252 | 0.6116 |
163
- | 0.6778 | 14.0 | 238 | 0.6698 | 0.3661 | 0.1390 | 0.2529 | 0.6629 | 0.4311 | 0.6200 |
164
- | 0.6692 | 15.0 | 255 | 0.6623 | 0.3845 | 0.1412 | 0.2684 | 0.6780 | 0.4805 | 0.6796 |
165
- | 0.6465 | 16.0 | 272 | 0.6591 | 0.3700 | 0.1510 | 0.2539 | 0.6818 | 0.4287 | 0.6547 |
166
- | 0.6499 | 17.0 | 289 | 0.6528 | 0.4036 | 0.1567 | 0.2859 | 0.6856 | 0.4577 | 0.6653 |
167
- | 0.6229 | 18.0 | 306 | 0.6505 | 0.4088 | 0.1634 | 0.2886 | 0.7008 | 0.4962 | 0.6785 |
168
- | 0.6214 | 19.0 | 323 | 0.6489 | 0.3913 | 0.1485 | 0.2803 | 0.6477 | 0.4661 | 0.6453 |
169
- | 0.6092 | 20.0 | 340 | 0.6484 | 0.3825 | 0.1475 | 0.2688 | 0.6629 | 0.4577 | 0.6627 |
170
- | 0.6092 | 21.0 | 357 | 0.6409 | 0.4118 | 0.1652 | 0.2935 | 0.6894 | 0.5011 | 0.6852 |
171
- | 0.5973 | 22.0 | 374 | 0.6419 | 0.3982 | 0.1585 | 0.2812 | 0.6818 | 0.4647 | 0.6502 |
172
- | 0.6046 | 23.0 | 391 | 0.6368 | 0.4095 | 0.1664 | 0.2919 | 0.6856 | 0.4864 | 0.6670 |
173
- | 0.5811 | 24.0 | 408 | 0.6395 | 0.3895 | 0.1560 | 0.2785 | 0.6477 | 0.4556 | 0.6572 |
174
- | 0.5741 | 25.0 | 425 | 0.6310 | 0.4241 | 0.1740 | 0.3110 | 0.6667 | 0.5179 | 0.6775 |
175
- | 0.5697 | 26.0 | 442 | 0.6309 | 0.4014 | 0.1657 | 0.2864 | 0.6705 | 0.4815 | 0.6642 |
176
- | 0.5697 | 27.0 | 459 | 0.6292 | 0.4151 | 0.1680 | 0.3014 | 0.6667 | 0.4934 | 0.6880 |
177
- | 0.5656 | 28.0 | 476 | 0.6289 | 0.4 | 0.1616 | 0.2901 | 0.6439 | 0.4579 | 0.6607 |
178
- | 0.5540 | 29.0 | 493 | 0.6257 | 0.4009 | 0.1798 | 0.2874 | 0.6629 | 0.4710 | 0.6565 |
179
- | 0.5506 | 30.0 | 510 | 0.6227 | 0.4110 | 0.1809 | 0.2941 | 0.6818 | 0.4815 | 0.6873 |
180
- | 0.5547 | 31.0 | 527 | 0.6242 | 0.4164 | 0.1850 | 0.3012 | 0.6742 | 0.4773 | 0.6747 |
181
- | 0.5395 | 32.0 | 544 | 0.6228 | 0.4182 | 0.1844 | 0.3024 | 0.6780 | 0.4661 | 0.6754 |
182
- | 0.5407 | 33.0 | 561 | 0.6205 | 0.4171 | 0.2027 | 0.3005 | 0.6818 | 0.4822 | 0.6859 |
183
- | 0.5407 | 34.0 | 578 | 0.6187 | 0.4218 | 0.2007 | 0.3038 | 0.6894 | 0.5274 | 0.6971 |
184
- | 0.5368 | 35.0 | 595 | 0.6192 | 0.4162 | 0.2018 | 0.2995 | 0.6818 | 0.5025 | 0.6831 |
185
- | 0.5342 | 36.0 | 612 | 0.6192 | 0.4176 | 0.1833 | 0.3010 | 0.6818 | 0.5134 | 0.6936 |
186
- | 0.5339 | 37.0 | 629 | 0.6205 | 0.4126 | 0.1832 | 0.2980 | 0.6705 | 0.4775 | 0.6859 |
187
- | 0.5254 | 38.0 | 646 | 0.6198 | 0.4175 | 0.1851 | 0.3031 | 0.6705 | 0.4817 | 0.6901 |
188
- | 0.5318 | 39.0 | 663 | 0.6193 | 0.4159 | 0.1846 | 0.3007 | 0.6742 | 0.4859 | 0.6901 |
189
- | 0.5279 | 40.0 | 680 | 0.6191 | 0.4159 | 0.1843 | 0.3007 | 0.6742 | 0.4831 | 0.6859 |
190
 
191
 
192
  ### Framework versions
@@ -195,10 +101,3 @@ The best checkpoint was selected on validation macro-F1 (epoch 33).
195
  - Pytorch 2.12.1+cu130
196
  - Datasets 4.8.5
197
  - Tokenizers 0.22.2
198
-
199
- ## References
200
-
201
- - [Vulnerability-Lookup](https://vulnerability.circl.lu) — the vulnerability data source
202
- - [VulnTrain](https://github.com/vulnerability-lookup/VulnTrain) — training pipeline
203
- - [MITRE CTID attack_to_cve](https://github.com/center-for-threat-informed-defense/attack_to_cve) and [Mappings Explorer](https://center-for-threat-informed-defense.github.io/mappings-explorer/) — label sources
204
- - MITRE ATT&CK® is a registered trademark of The MITRE Corporation; content used per the [terms of use](https://attack.mitre.org/resources/legal-and-branding/terms-of-use/)
 
2
  library_name: transformers
3
  license: mit
4
  base_model: roberta-base
 
 
 
 
 
5
  tags:
 
 
 
 
 
 
6
  - generated_from_trainer
7
  model-index:
8
  - name: vulnerability-attack-technique-classification-roberta-base
9
  results: []
10
  ---
11
 
12
+ <!-- This model card has been generated automatically according to the information the Trainer had access to. You
13
+ should probably proofread and complete it, then remove this comment. -->
14
+
15
  # vulnerability-attack-technique-classification-roberta-base
16
 
17
+ This model is a fine-tuned version of [roberta-base](https://huggingface.co/roberta-base) on an unknown dataset.
18
+ It achieves the following results on the evaluation set:
19
+ - Loss: 0.6410
20
+ - F1 Micro: 0.3899
21
+ - F1 Macro: 0.1910
22
+ - Precision Micro: 0.2740
23
+ - Recall Micro: 0.6756
24
+ - Recall At 3: 0.5181
25
+ - Recall At 5: 0.6440
26
 
27
+ ## Model description
 
28
 
29
+ More information needed
 
 
 
30
 
31
  ## Intended uses & limitations
32
 
33
+ More information needed
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  ## Training and evaluation data
36
 
37
+ More information needed
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
 
39
  ## Training procedure
40
 
 
42
 
43
  The following hyperparameters were used during training:
44
  - learning_rate: 1e-05
45
+ - train_batch_size: 32
46
+ - eval_batch_size: 32
47
  - seed: 42
48
  - optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
49
  - lr_scheduler_type: linear
50
  - num_epochs: 40
51
 
 
 
52
  ### Training results
53
 
54
  | Training Loss | Epoch | Step | Validation Loss | F1 Micro | F1 Macro | Precision Micro | Recall Micro | Recall At 3 | Recall At 5 |
55
  |:-------------:|:-----:|:----:|:---------------:|:--------:|:--------:|:---------------:|:------------:|:-----------:|:-----------:|
56
+ | 0.9311 | 1.0 | 31 | 0.8413 | 0.1833 | 0.0401 | 0.1258 | 0.3376 | 0.1798 | 0.2611 |
57
+ | 0.8366 | 2.0 | 62 | 0.7876 | 0.1452 | 0.0234 | 0.1065 | 0.2278 | 0.1047 | 0.2086 |
58
+ | 0.8116 | 3.0 | 93 | 0.7717 | 0.2054 | 0.0518 | 0.1641 | 0.2743 | 0.1938 | 0.3234 |
59
+ | 0.7941 | 4.0 | 124 | 0.7576 | 0.3204 | 0.0804 | 0.2382 | 0.4895 | 0.3387 | 0.5009 |
60
+ | 0.7743 | 5.0 | 155 | 0.7435 | 0.3044 | 0.0841 | 0.2119 | 0.5401 | 0.3313 | 0.4696 |
61
+ | 0.7645 | 6.0 | 186 | 0.7290 | 0.3208 | 0.0906 | 0.2174 | 0.6118 | 0.3969 | 0.5391 |
62
+ | 0.7472 | 7.0 | 217 | 0.7163 | 0.3551 | 0.1130 | 0.2571 | 0.5738 | 0.4068 | 0.5741 |
63
+ | 0.7219 | 8.0 | 248 | 0.7056 | 0.3224 | 0.1079 | 0.2173 | 0.6245 | 0.4079 | 0.5521 |
64
+ | 0.7195 | 9.0 | 279 | 0.6933 | 0.3576 | 0.1495 | 0.2449 | 0.6624 | 0.4252 | 0.5663 |
65
+ | 0.6835 | 10.0 | 310 | 0.6845 | 0.3705 | 0.1665 | 0.2579 | 0.6582 | 0.4708 | 0.6090 |
66
+ | 0.6539 | 11.0 | 341 | 0.6768 | 0.4063 | 0.1810 | 0.2947 | 0.6540 | 0.5227 | 0.6318 |
67
+ | 0.6484 | 12.0 | 372 | 0.6725 | 0.3632 | 0.1734 | 0.2520 | 0.6498 | 0.4449 | 0.6200 |
68
+ | 0.6249 | 13.0 | 403 | 0.6664 | 0.3974 | 0.1782 | 0.2862 | 0.6498 | 0.5034 | 0.6396 |
69
+ | 0.6109 | 14.0 | 434 | 0.6585 | 0.3801 | 0.1721 | 0.2724 | 0.6287 | 0.4834 | 0.6491 |
70
+ | 0.6004 | 15.0 | 465 | 0.6539 | 0.3872 | 0.1678 | 0.2781 | 0.6371 | 0.4752 | 0.6347 |
71
+ | 0.5896 | 16.0 | 496 | 0.6502 | 0.4049 | 0.1777 | 0.2996 | 0.6245 | 0.4768 | 0.6397 |
72
+ | 0.5667 | 17.0 | 527 | 0.6478 | 0.3866 | 0.1682 | 0.2737 | 0.6582 | 0.4941 | 0.6472 |
73
+ | 0.5661 | 18.0 | 558 | 0.6425 | 0.4108 | 0.1910 | 0.3022 | 0.6414 | 0.5128 | 0.6667 |
74
+ | 0.5501 | 19.0 | 589 | 0.6394 | 0.3880 | 0.1861 | 0.2758 | 0.6540 | 0.4822 | 0.6561 |
75
+ | 0.5461 | 20.0 | 620 | 0.6377 | 0.4097 | 0.1804 | 0.3010 | 0.6414 | 0.5069 | 0.6687 |
76
+ | 0.5351 | 21.0 | 651 | 0.6338 | 0.4028 | 0.1715 | 0.3002 | 0.6118 | 0.4987 | 0.6624 |
77
+ | 0.5215 | 22.0 | 682 | 0.6351 | 0.4146 | 0.1964 | 0.3054 | 0.6456 | 0.4943 | 0.6875 |
78
+ | 0.5155 | 23.0 | 713 | 0.6315 | 0.4056 | 0.1737 | 0.3023 | 0.6160 | 0.4994 | 0.6553 |
79
+ | 0.5063 | 24.0 | 744 | 0.6269 | 0.4286 | 0.1879 | 0.3208 | 0.6456 | 0.5195 | 0.6923 |
80
+ | 0.5061 | 25.0 | 775 | 0.6264 | 0.4178 | 0.1869 | 0.3069 | 0.6540 | 0.5246 | 0.6656 |
81
+ | 0.4996 | 26.0 | 806 | 0.6301 | 0.4073 | 0.1792 | 0.3053 | 0.6118 | 0.5274 | 0.6958 |
82
+ | 0.4950 | 27.0 | 837 | 0.6225 | 0.4133 | 0.1771 | 0.3079 | 0.6287 | 0.5376 | 0.6593 |
83
+ | 0.4928 | 28.0 | 868 | 0.6228 | 0.4173 | 0.1768 | 0.3166 | 0.6118 | 0.5187 | 0.7048 |
84
+ | 0.4819 | 29.0 | 899 | 0.6242 | 0.4263 | 0.1871 | 0.3225 | 0.6287 | 0.5494 | 0.6970 |
85
+ | 0.4766 | 30.0 | 930 | 0.6194 | 0.4166 | 0.1862 | 0.3094 | 0.6371 | 0.5226 | 0.6871 |
86
+ | 0.4694 | 31.0 | 961 | 0.6213 | 0.42 | 0.1914 | 0.3175 | 0.6203 | 0.5399 | 0.6918 |
87
+ | 0.4781 | 32.0 | 992 | 0.6209 | 0.4292 | 0.1893 | 0.3281 | 0.6203 | 0.5439 | 0.7060 |
88
+ | 0.4636 | 33.0 | 1023 | 0.6218 | 0.4347 | 0.1962 | 0.3276 | 0.6456 | 0.525 | 0.6797 |
89
+ | 0.4641 | 34.0 | 1054 | 0.6216 | 0.4314 | 0.1887 | 0.3261 | 0.6371 | 0.5415 | 0.6797 |
90
+ | 0.4592 | 35.0 | 1085 | 0.6206 | 0.4313 | 0.1916 | 0.3282 | 0.6287 | 0.5466 | 0.6858 |
91
+ | 0.4526 | 36.0 | 1116 | 0.6208 | 0.4357 | 0.1926 | 0.3333 | 0.6287 | 0.5447 | 0.6863 |
92
+ | 0.4643 | 37.0 | 1147 | 0.6191 | 0.4218 | 0.1899 | 0.3196 | 0.6203 | 0.5392 | 0.6863 |
93
+ | 0.4501 | 38.0 | 1178 | 0.6191 | 0.4242 | 0.1885 | 0.3224 | 0.6203 | 0.5368 | 0.6929 |
94
+ | 0.4570 | 39.0 | 1209 | 0.6206 | 0.4350 | 0.1932 | 0.3326 | 0.6287 | 0.5281 | 0.6910 |
95
+ | 0.4436 | 40.0 | 1240 | 0.6199 | 0.4325 | 0.1916 | 0.3296 | 0.6287 | 0.5329 | 0.6882 |
96
 
97
 
98
  ### Framework versions
 
101
  - Pytorch 2.12.1+cu130
102
  - Datasets 4.8.5
103
  - Tokenizers 0.22.2
 
 
 
 
 
 
 
config.json CHANGED
@@ -15,60 +15,56 @@
15
  "0": "T1003",
16
  "1": "T1005",
17
  "2": "T1021",
18
- "3": "T1027",
19
- "4": "T1036",
20
- "5": "T1040",
21
- "6": "T1041",
22
- "7": "T1046",
23
- "8": "T1055",
24
- "9": "T1059",
25
- "10": "T1068",
26
- "11": "T1070",
27
- "12": "T1071",
28
- "13": "T1078",
29
- "14": "T1082",
30
- "15": "T1083",
31
- "16": "T1087",
32
- "17": "T1091",
33
- "18": "T1098",
34
- "19": "T1105",
35
- "20": "T1106",
36
- "21": "T1110",
37
- "22": "T1114",
38
- "23": "T1133",
39
- "24": "T1136",
40
- "25": "T1185",
41
- "26": "T1189",
42
- "27": "T1190",
43
- "28": "T1202",
44
- "29": "T1203",
45
- "30": "T1204",
46
- "31": "T1210",
47
- "32": "T1211",
48
- "33": "T1212",
49
- "34": "T1485",
50
- "35": "T1486",
51
- "36": "T1489",
52
- "37": "T1496",
53
- "38": "T1497",
54
- "39": "T1498",
55
- "40": "T1499",
56
- "41": "T1505",
57
- "42": "T1528",
58
- "43": "T1542",
59
- "44": "T1543",
60
- "45": "T1548",
61
- "46": "T1550",
62
- "47": "T1552",
63
- "48": "T1555",
64
- "49": "T1557",
65
- "50": "T1563",
66
- "51": "T1565",
67
- "52": "T1566",
68
- "53": "T1574",
69
- "54": "T1588",
70
- "55": "T1608",
71
- "56": "T1685"
72
  },
73
  "initializer_range": 0.02,
74
  "intermediate_size": 3072,
@@ -77,60 +73,56 @@
77
  "T1003": 0,
78
  "T1005": 1,
79
  "T1021": 2,
80
- "T1027": 3,
81
- "T1036": 4,
82
- "T1040": 5,
83
- "T1041": 6,
84
- "T1046": 7,
85
- "T1055": 8,
86
- "T1059": 9,
87
- "T1068": 10,
88
- "T1070": 11,
89
- "T1071": 12,
90
- "T1078": 13,
91
- "T1082": 14,
92
- "T1083": 15,
93
- "T1087": 16,
94
- "T1091": 17,
95
- "T1098": 18,
96
- "T1105": 19,
97
- "T1106": 20,
98
- "T1110": 21,
99
- "T1114": 22,
100
- "T1133": 23,
101
- "T1136": 24,
102
- "T1185": 25,
103
- "T1189": 26,
104
- "T1190": 27,
105
- "T1202": 28,
106
- "T1203": 29,
107
- "T1204": 30,
108
- "T1210": 31,
109
- "T1211": 32,
110
- "T1212": 33,
111
- "T1485": 34,
112
- "T1486": 35,
113
- "T1489": 36,
114
- "T1496": 37,
115
- "T1497": 38,
116
- "T1498": 39,
117
- "T1499": 40,
118
- "T1505": 41,
119
- "T1528": 42,
120
- "T1542": 43,
121
- "T1543": 44,
122
- "T1548": 45,
123
- "T1550": 46,
124
- "T1552": 47,
125
- "T1555": 48,
126
- "T1557": 49,
127
- "T1563": 50,
128
- "T1565": 51,
129
- "T1566": 52,
130
- "T1574": 53,
131
- "T1588": 54,
132
- "T1608": 55,
133
- "T1685": 56
134
  },
135
  "layer_norm_eps": 1e-05,
136
  "max_position_embeddings": 514,
 
15
  "0": "T1003",
16
  "1": "T1005",
17
  "2": "T1021",
18
+ "3": "T1036",
19
+ "4": "T1040",
20
+ "5": "T1041",
21
+ "6": "T1046",
22
+ "7": "T1055",
23
+ "8": "T1059",
24
+ "9": "T1068",
25
+ "10": "T1070",
26
+ "11": "T1071",
27
+ "12": "T1078",
28
+ "13": "T1082",
29
+ "14": "T1083",
30
+ "15": "T1087",
31
+ "16": "T1091",
32
+ "17": "T1098",
33
+ "18": "T1105",
34
+ "19": "T1106",
35
+ "20": "T1110",
36
+ "21": "T1133",
37
+ "22": "T1136",
38
+ "23": "T1185",
39
+ "24": "T1189",
40
+ "25": "T1190",
41
+ "26": "T1202",
42
+ "27": "T1203",
43
+ "28": "T1204",
44
+ "29": "T1210",
45
+ "30": "T1211",
46
+ "31": "T1212",
47
+ "32": "T1485",
48
+ "33": "T1486",
49
+ "34": "T1496",
50
+ "35": "T1497",
51
+ "36": "T1498",
52
+ "37": "T1499",
53
+ "38": "T1505",
54
+ "39": "T1528",
55
+ "40": "T1542",
56
+ "41": "T1543",
57
+ "42": "T1548",
58
+ "43": "T1550",
59
+ "44": "T1552",
60
+ "45": "T1555",
61
+ "46": "T1557",
62
+ "47": "T1563",
63
+ "48": "T1565",
64
+ "49": "T1566",
65
+ "50": "T1574",
66
+ "51": "T1608",
67
+ "52": "T1685"
 
 
 
 
68
  },
69
  "initializer_range": 0.02,
70
  "intermediate_size": 3072,
 
73
  "T1003": 0,
74
  "T1005": 1,
75
  "T1021": 2,
76
+ "T1036": 3,
77
+ "T1040": 4,
78
+ "T1041": 5,
79
+ "T1046": 6,
80
+ "T1055": 7,
81
+ "T1059": 8,
82
+ "T1068": 9,
83
+ "T1070": 10,
84
+ "T1071": 11,
85
+ "T1078": 12,
86
+ "T1082": 13,
87
+ "T1083": 14,
88
+ "T1087": 15,
89
+ "T1091": 16,
90
+ "T1098": 17,
91
+ "T1105": 18,
92
+ "T1106": 19,
93
+ "T1110": 20,
94
+ "T1133": 21,
95
+ "T1136": 22,
96
+ "T1185": 23,
97
+ "T1189": 24,
98
+ "T1190": 25,
99
+ "T1202": 26,
100
+ "T1203": 27,
101
+ "T1204": 28,
102
+ "T1210": 29,
103
+ "T1211": 30,
104
+ "T1212": 31,
105
+ "T1485": 32,
106
+ "T1486": 33,
107
+ "T1496": 34,
108
+ "T1497": 35,
109
+ "T1498": 36,
110
+ "T1499": 37,
111
+ "T1505": 38,
112
+ "T1528": 39,
113
+ "T1542": 40,
114
+ "T1543": 41,
115
+ "T1548": 42,
116
+ "T1550": 43,
117
+ "T1552": 44,
118
+ "T1555": 45,
119
+ "T1557": 46,
120
+ "T1563": 47,
121
+ "T1565": 48,
122
+ "T1566": 49,
123
+ "T1574": 50,
124
+ "T1608": 51,
125
+ "T1685": 52
 
 
 
 
126
  },
127
  "layer_norm_eps": 1e-05,
128
  "max_position_embeddings": 514,
emissions.csv CHANGED
@@ -1,2 +1,2 @@
1
  timestamp,project_name,run_id,experiment_id,duration,emissions,emissions_rate,cpu_power,gpu_power,ram_power,cpu_energy,gpu_energy,ram_energy,energy_consumed,water_consumed,country_name,country_iso_code,region,cloud_provider,cloud_region,os,python_version,codecarbon_version,cpu_count,cpu_model,gpu_count,gpu_model,longitude,latitude,ram_total_size,tracking_mode,cpu_utilization_percent,gpu_utilization_percent,ram_utilization_percent,ram_used_gb,on_cloud,pue,wue
2
- 2026-07-13T09:31:32,VulnTrain,27786f01-d628-4803-945e-3163bbe2fb2a,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,188.17171251389664,0.005013825539117526,2.6644948234433754e-05,70.00017005407693,776.1263394402708,70.0,0.0035231828401046865,0.040585318579339995,0.003522912649292913,0.047631414068737596,0.0,Luxembourg,LUX,luxembourg,,,Linux-6.8.0-134-generic-x86_64-with-glibc2.39,3.12.3,3.2.8,224,Intel(R) Xeon(R) Platinum 8480+,4,4 x NVIDIA L40S,6.1327,49.6098,2015.3354263305664,machine,0.8086486486486486,60.96081081081081,1.1308108108108108,22.578279134389515,N,1.0,0.0
 
1
  timestamp,project_name,run_id,experiment_id,duration,emissions,emissions_rate,cpu_power,gpu_power,ram_power,cpu_energy,gpu_energy,ram_energy,energy_consumed,water_consumed,country_name,country_iso_code,region,cloud_provider,cloud_region,os,python_version,codecarbon_version,cpu_count,cpu_model,gpu_count,gpu_model,longitude,latitude,ram_total_size,tracking_mode,cpu_utilization_percent,gpu_utilization_percent,ram_utilization_percent,ram_used_gb,on_cloud,pue,wue
2
+ 2026-07-17T08:37:48,VulnTrain,b65fe9a7-039a-42b3-bf76-12cbf8128517,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,282.42941046506166,0.005960472299614022,2.1104290412953895e-05,70.00064626457315,587.2460854916695,70.0,0.005298393513150807,0.046028169044717515,0.005298009225322553,0.05662457178319088,0.0,Luxembourg,LUX,luxembourg,,,Linux-6.8.0-106-generic-x86_64-with-glibc2.39,3.12.3,3.2.8,224,Intel(R) Xeon(R) Platinum 8480+,2,2 x NVIDIA H100 NVL,6.1327,49.6098,2015.336296081543,machine,1.2448028673835125,71.81182795698925,2.2225806451612904,44.61768197500577,N,1.0,0.0
metrics.json CHANGED
@@ -1,13 +1,13 @@
1
  {
2
- "eval_loss": 0.620545506477356,
3
- "eval_f1_micro": 0.4171494785631518,
4
- "eval_f1_macro": 0.2027471380403296,
5
- "eval_precision_micro": 0.3005008347245409,
6
- "eval_recall_micro": 0.6818181818181818,
7
- "eval_recall_at_3": 0.4821628651460584,
8
- "eval_recall_at_5": 0.6858743497398959,
9
- "eval_runtime": 0.1973,
10
- "eval_samples_per_second": 603.064,
11
- "eval_steps_per_second": 10.136,
12
  "epoch": 40.0
13
  }
 
1
  {
2
+ "eval_loss": 0.6409852504730225,
3
+ "eval_f1_micro": 0.3898678414096916,
4
+ "eval_f1_macro": 0.19101586412044438,
5
+ "eval_precision_micro": 0.2739938080495356,
6
+ "eval_recall_micro": 0.6755725190839694,
7
+ "eval_recall_at_3": 0.5181497175141243,
8
+ "eval_recall_at_5": 0.6439971751412429,
9
+ "eval_runtime": 0.2952,
10
+ "eval_samples_per_second": 399.752,
11
+ "eval_steps_per_second": 13.551,
12
  "epoch": 40.0
13
  }
model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:89b72f8dd4ec1ae890a5177916efd824618cb34fb1958d8d043405f5f8d0b039
3
- size 498782004
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:606be348b506ba31c823ef630add2e23e972ea916207c4e85e9c843bb0186f6f
3
+ size 498769700
tokenizer.json CHANGED
@@ -1,11 +1,6 @@
1
  {
2
  "version": "1.0",
3
- "truncation": {
4
- "direction": "Right",
5
- "max_length": 512,
6
- "strategy": "LongestFirst",
7
- "stride": 0
8
- },
9
  "padding": null,
10
  "added_tokens": [
11
  {
 
1
  {
2
  "version": "1.0",
3
+ "truncation": null,
 
 
 
 
 
4
  "padding": null,
5
  "added_tokens": [
6
  {
training_args.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:db0dc8f71629bbe3179b8ee7446ca7380373dc2885ee224a5385938421e73c4e
3
  size 5265
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7975c81f9f47f068395171f133a5a5ce558aa14b792a7d89f0f1f8a960380b70
3
  size 5265