cedricbonhomme commited on
Commit
107fe30
·
verified ·
1 Parent(s): 1b47bb4

End of training

Browse files
Files changed (4) hide show
  1. README.md +35 -71
  2. config.json +1 -1
  3. emissions.csv +1 -1
  4. model.safetensors +1 -1
README.md CHANGED
@@ -1,69 +1,50 @@
1
  ---
2
  library_name: transformers
3
- license: cc-by-4.0
4
  base_model: roberta-base
5
- metrics:
6
- - accuracy
7
  tags:
8
  - generated_from_trainer
9
- - text-classification
10
- - classification
11
- - nlp
12
- - vulnerability
13
  model-index:
14
  - name: vulnerability-severity-classification-roberta-base
15
  results: []
16
- datasets:
17
- - CIRCL/vulnerability-scores
18
  ---
19
 
 
 
20
 
21
- # VLAI: A RoBERTa-Based Model for Automated Vulnerability Severity Classification
22
-
23
- # Severity classification
24
-
25
- This model is a fine-tuned version of [roberta-base](https://huggingface.co/roberta-base) on the dataset [CIRCL/vulnerability-scores](https://huggingface.co/datasets/CIRCL/vulnerability-scores).
26
-
27
- The model was presented in the paper [VLAI: A RoBERTa-Based Model for Automated Vulnerability Severity Classification](https://huggingface.co/papers/2507.03607) [[arXiv](https://arxiv.org/abs/2507.03607)].
28
-
29
- **Abstract:** VLAI is a transformer-based model that predicts software vulnerability severity levels directly from text descriptions. Built on RoBERTa, VLAI is fine-tuned on over 600,000 real-world vulnerabilities and achieves over 82% accuracy in predicting severity categories, enabling faster and more consistent triage ahead of manual CVSS scoring. The model and dataset are open-source and integrated into the Vulnerability-Lookup service.
30
-
31
- You can read [this page](https://www.vulnerability-lookup.org/user-manual/ai/) for more information.
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
34
  ## Model description
35
 
36
- It is a classification model and is aimed to assist in classifying vulnerabilities by severity based on their descriptions.
37
-
38
- ## How to get started with the model
39
-
40
- ```python
41
- from transformers import AutoModelForSequenceClassification, AutoTokenizer
42
- import torch
43
 
44
- labels = ["low", "medium", "high", "critical"]
45
 
46
- model_name = "CIRCL/vulnerability-severity-classification-roberta-base"
47
- tokenizer = AutoTokenizer.from_pretrained(model_name)
48
- model = AutoModelForSequenceClassification.from_pretrained(model_name)
49
- model.eval()
50
 
51
- print("Model revision:", model.config._commit_hash)
52
 
53
- test_description = "SAP NetWeaver Visual Composer Metadata Uploader is not protected with a proper authorization, allowing unauthenticated agent to upload potentially malicious executable binaries \
54
- that could severely harm the host system. This could significantly affect the confidentiality, integrity, and availability of the targeted system."
55
- inputs = tokenizer(test_description, return_tensors="pt", truncation=True, padding=True)
56
-
57
- # Run inference
58
- with torch.no_grad():
59
- outputs = model(**inputs)
60
- predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
61
-
62
- # Print results
63
- print("Predictions:", predictions)
64
- predicted_class = torch.argmax(predictions, dim=-1).item()
65
- print("Predicted severity:", labels[predicted_class])
66
- ```
67
 
68
  ## Training procedure
69
 
@@ -78,37 +59,20 @@ The following hyperparameters were used during training:
78
  - lr_scheduler_type: linear
79
  - num_epochs: 5
80
 
81
- It achieves the following results on the evaluation set:
82
- - Loss: 2.0472
83
- - Accuracy: 0.8159
84
- - F1 Macro: 0.7492
85
- - Low Precision: 0.6724
86
- - Low Recall: 0.5028
87
- - Low F1: 0.5753
88
- - Medium Precision: 0.8380
89
- - Medium Recall: 0.8688
90
- - Medium F1: 0.8531
91
- - High Precision: 0.8177
92
- - High Recall: 0.8111
93
- - High F1: 0.8144
94
- - Critical Precision: 0.7620
95
- - Critical Recall: 0.7459
96
- - Critical F1: 0.7538
97
-
98
  ### Training results
99
 
100
  | Training Loss | Epoch | Step | Validation Loss | Accuracy | F1 Macro | Low Precision | Low Recall | Low F1 | Medium Precision | Medium Recall | Medium F1 | High Precision | High Recall | High F1 | Critical Precision | Critical Recall | Critical F1 |
101
  |:-------------:|:-----:|:-----:|:---------------:|:--------:|:--------:|:-------------:|:----------:|:------:|:----------------:|:-------------:|:---------:|:--------------:|:-----------:|:-------:|:------------------:|:---------------:|:-----------:|
102
- | 2.5002 | 1.0 | 18542 | 2.5700 | 0.7344 | 0.6361 | 0.6175 | 0.3019 | 0.4055 | 0.7650 | 0.8301 | 0.7962 | 0.7315 | 0.7099 | 0.7206 | 0.6356 | 0.6096 | 0.6223 |
103
- | 2.2754 | 2.0 | 37084 | 2.3349 | 0.7628 | 0.6641 | 0.6756 | 0.3151 | 0.4297 | 0.7848 | 0.8521 | 0.8171 | 0.7549 | 0.7564 | 0.7556 | 0.7050 | 0.6100 | 0.6540 |
104
- | 2.0351 | 3.0 | 55626 | 2.1389 | 0.7886 | 0.7097 | 0.6592 | 0.4275 | 0.5186 | 0.8057 | 0.8674 | 0.8354 | 0.7884 | 0.7760 | 0.7821 | 0.7461 | 0.6641 | 0.7027 |
105
- | 1.5727 | 4.0 | 74168 | 2.0768 | 0.8055 | 0.7373 | 0.6553 | 0.4882 | 0.5596 | 0.8383 | 0.8535 | 0.8458 | 0.8089 | 0.7971 | 0.8030 | 0.7167 | 0.7671 | 0.7410 |
106
- | 1.4295 | 5.0 | 92710 | 2.0472 | 0.8159 | 0.7492 | 0.6724 | 0.5028 | 0.5753 | 0.8380 | 0.8688 | 0.8531 | 0.8177 | 0.8111 | 0.8144 | 0.7620 | 0.7459 | 0.7538 |
107
 
108
 
109
  ### Framework versions
110
 
111
- - Transformers 5.16.1
112
  - Pytorch 2.14.0+cu130
113
  - Datasets 4.8.5
114
- - Tokenizers 0.23.1
 
1
  ---
2
  library_name: transformers
3
+ license: mit
4
  base_model: roberta-base
 
 
5
  tags:
6
  - generated_from_trainer
7
+ metrics:
8
+ - accuracy
 
 
9
  model-index:
10
  - name: vulnerability-severity-classification-roberta-base
11
  results: []
 
 
12
  ---
13
 
14
+ <!-- This model card has been generated automatically according to the information the Trainer had access to. You
15
+ should probably proofread and complete it, then remove this comment. -->
16
 
17
+ # vulnerability-severity-classification-roberta-base
 
 
 
 
 
 
 
 
 
 
18
 
19
+ This model is a fine-tuned version of [roberta-base](https://huggingface.co/roberta-base) on an unknown dataset.
20
+ It achieves the following results on the evaluation set:
21
+ - Loss: 2.0348
22
+ - Accuracy: 0.8126
23
+ - F1 Macro: 0.7423
24
+ - Low Precision: 0.6555
25
+ - Low Recall: 0.4770
26
+ - Low F1: 0.5522
27
+ - Medium Precision: 0.8428
28
+ - Medium Recall: 0.8545
29
+ - Medium F1: 0.8486
30
+ - High Precision: 0.8081
31
+ - High Recall: 0.8194
32
+ - High F1: 0.8137
33
+ - Critical Precision: 0.7545
34
+ - Critical Recall: 0.7552
35
+ - Critical F1: 0.7548
36
 
37
  ## Model description
38
 
39
+ More information needed
 
 
 
 
 
 
40
 
41
+ ## Intended uses & limitations
42
 
43
+ More information needed
 
 
 
44
 
45
+ ## Training and evaluation data
46
 
47
+ More information needed
 
 
 
 
 
 
 
 
 
 
 
 
 
48
 
49
  ## Training procedure
50
 
 
59
  - lr_scheduler_type: linear
60
  - num_epochs: 5
61
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  ### Training results
63
 
64
  | Training Loss | Epoch | Step | Validation Loss | Accuracy | F1 Macro | Low Precision | Low Recall | Low F1 | Medium Precision | Medium Recall | Medium F1 | High Precision | High Recall | High F1 | Critical Precision | Critical Recall | Critical F1 |
65
  |:-------------:|:-----:|:-----:|:---------------:|:--------:|:--------:|:-------------:|:----------:|:------:|:----------------:|:-------------:|:---------:|:--------------:|:-----------:|:-------:|:------------------:|:---------------:|:-----------:|
66
+ | 2.5193 | 1.0 | 18744 | 2.6088 | 0.7325 | 0.6353 | 0.5418 | 0.3410 | 0.4186 | 0.7928 | 0.7822 | 0.7874 | 0.6917 | 0.7826 | 0.7343 | 0.6912 | 0.5313 | 0.6008 |
67
+ | 2.6298 | 2.0 | 37488 | 2.3400 | 0.7594 | 0.6742 | 0.6229 | 0.3490 | 0.4474 | 0.8133 | 0.8029 | 0.8081 | 0.7517 | 0.7594 | 0.7555 | 0.6361 | 0.7436 | 0.6856 |
68
+ | 1.6998 | 3.0 | 56232 | 2.2209 | 0.7833 | 0.7045 | 0.5831 | 0.4344 | 0.4979 | 0.8010 | 0.8566 | 0.8279 | 0.7940 | 0.7648 | 0.7791 | 0.7316 | 0.6952 | 0.7129 |
69
+ | 1.7861 | 4.0 | 74976 | 2.0459 | 0.8048 | 0.7275 | 0.6711 | 0.4268 | 0.5217 | 0.8382 | 0.8505 | 0.8443 | 0.7942 | 0.8163 | 0.8051 | 0.7438 | 0.7342 | 0.7389 |
70
+ | 1.4938 | 5.0 | 93720 | 2.0348 | 0.8126 | 0.7423 | 0.6555 | 0.4770 | 0.5522 | 0.8428 | 0.8545 | 0.8486 | 0.8081 | 0.8194 | 0.8137 | 0.7545 | 0.7552 | 0.7548 |
71
 
72
 
73
  ### Framework versions
74
 
75
+ - Transformers 5.17.0
76
  - Pytorch 2.14.0+cu130
77
  - Datasets 4.8.5
78
+ - Tokenizers 0.23.2
config.json CHANGED
@@ -34,7 +34,7 @@
34
  "pad_token_id": 1,
35
  "problem_type": "single_label_classification",
36
  "tie_word_embeddings": true,
37
- "transformers_version": "5.16.1",
38
  "type_vocab_size": 1,
39
  "use_cache": true,
40
  "vocab_size": 50265
 
34
  "pad_token_id": 1,
35
  "problem_type": "single_label_classification",
36
  "tie_word_embeddings": true,
37
+ "transformers_version": "5.17.0",
38
  "type_vocab_size": 1,
39
  "use_cache": true,
40
  "vocab_size": 50265
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-09-03T11:11:27,VulnTrain,d718941b-bdf5-4cee-ac36-9c6ccece885e,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,16507.520108614997,0.5036411007268355,3.0509797802032888e-05,70.00021457465269,904.5119904215752,70.0,0.32093893680077556,4.143460128932118,0.32019856806849734,4.78459763380139,0.0,Luxembourg,LUX,luxembourg,,,Linux-6.8.0-138-generic-x86_64-with-glibc2.39,3.12.3,3.3.0,224,Intel(R) Xeon(R) Platinum 8480+,4,4 x NVIDIA L40S,6.1327,49.6098,2015.3353996276855,machine,0.9777136258660508,77.09917041448888,1.0799987844900938,21.39229411367108,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-09-10T16:45:23,VulnTrain,e2a30913-f7d2-4cf6-9a0d-547d4b34bb9f,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,16676.899105929,0.5094324424343436,3.0547192208725984e-05,70.00021580851913,906.4022709612171,70.0,0.32423673863741953,4.1919406713276315,0.32343805258440234,4.839615462549457,0.0,Luxembourg,LUX,luxembourg,,,Linux-6.8.0-139-generic-x86_64-with-glibc2.39,3.12.3,3.3.1,224,Intel(R) Xeon(R) Platinum 8480+,4,4 x NVIDIA L40S,6.1327,49.6098,2015.3354377746582,machine,1.0158316754084522,76.79354313619099,1.0693374329294028,21.204635001467906,N,1.0,0.0
model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:bfdef81f818bda4c1d0ce9f6bc23b00ade4137afbf1947580f41f41f49a31f54
3
  size 498618976
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ffc2260dd1e49c9dcb1a6e7ab4c4f7e67ff602ac8742a5e94c10d6b4489bbdfc
3
  size 498618976