Text Classification
Transformers
Safetensors
roberta
Generated from Trainer
cedricbonhomme commited on
Commit
ab225d6
·
verified ·
1 Parent(s): b76dd2f

End of training

Browse files
Files changed (3) hide show
  1. README.md +20 -54
  2. emissions.csv +1 -1
  3. model.safetensors +1 -1
README.md CHANGED
@@ -9,63 +9,29 @@ metrics:
9
  model-index:
10
  - name: vulnerability-severity-classification-roberta-base
11
  results: []
12
- datasets:
13
- - CIRCL/vulnerability-scores
14
  ---
15
 
16
  <!-- This model card has been generated automatically according to the information the Trainer had access to. You
17
  should probably proofread and complete it, then remove this comment. -->
18
 
19
- # VLAI: A RoBERTa-Based Model for Automated Vulnerability Severity Classification
20
-
21
- # Severity classification
22
-
23
- 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).
24
-
25
- 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)].
26
-
27
- **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.
28
-
29
- You can read [this page](https://www.vulnerability-lookup.org/user-manual/ai/) for more information.
30
-
31
-
32
- ## Model description
33
 
 
34
  It achieves the following results on the evaluation set:
35
- - Loss: 0.5065
36
- - Accuracy: 0.8293
37
-
38
- It is a classification model and is aimed to assist in classifying vulnerabilities by severity based on their descriptions.
39
-
40
- ## How to get started with the model
41
 
42
- ```python
43
- from transformers import AutoModelForSequenceClassification, AutoTokenizer
44
- import torch
45
-
46
- labels = ["low", "medium", "high", "critical"]
47
-
48
- model_name = "CIRCL/vulnerability-severity-classification-roberta-base"
49
- tokenizer = AutoTokenizer.from_pretrained(model_name)
50
- model = AutoModelForSequenceClassification.from_pretrained(model_name)
51
- model.eval()
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
 
 
69
 
70
  ## Training procedure
71
 
@@ -76,7 +42,7 @@ The following hyperparameters were used during training:
76
  - train_batch_size: 16
77
  - eval_batch_size: 16
78
  - seed: 42
79
- - optimizer: Use OptimizerNames.ADAMW_TORCH with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
80
  - lr_scheduler_type: linear
81
  - num_epochs: 5
82
 
@@ -84,16 +50,16 @@ The following hyperparameters were used during training:
84
 
85
  | Training Loss | Epoch | Step | Validation Loss | Accuracy |
86
  |:-------------:|:-----:|:------:|:---------------:|:--------:|
87
- | 0.5365 | 1.0 | 28319 | 0.6723 | 0.7432 |
88
- | 0.4935 | 2.0 | 56638 | 0.5961 | 0.7707 |
89
- | 0.4246 | 3.0 | 84957 | 0.5398 | 0.7981 |
90
- | 0.4927 | 4.0 | 113276 | 0.5052 | 0.8193 |
91
- | 0.2864 | 5.0 | 141595 | 0.5065 | 0.8293 |
92
 
93
 
94
  ### Framework versions
95
 
96
- - Transformers 4.51.3
97
- - Pytorch 2.7.1+cu126
98
- - Datasets 3.6.0
99
- - Tokenizers 0.21.1
 
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: 0.5104
22
+ - Accuracy: 0.8285
 
 
 
 
23
 
24
+ ## Model description
 
 
 
 
 
 
 
 
 
25
 
26
+ More information needed
 
 
27
 
28
+ ## Intended uses & limitations
 
 
 
29
 
30
+ More information needed
 
 
 
 
31
 
32
+ ## Training and evaluation data
33
 
34
+ More information needed
35
 
36
  ## Training procedure
37
 
 
42
  - train_batch_size: 16
43
  - eval_batch_size: 16
44
  - seed: 42
45
+ - optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
46
  - lr_scheduler_type: linear
47
  - num_epochs: 5
48
 
 
50
 
51
  | Training Loss | Epoch | Step | Validation Loss | Accuracy |
52
  |:-------------:|:-----:|:------:|:---------------:|:--------:|
53
+ | 0.7426 | 1.0 | 28432 | 0.6408 | 0.7432 |
54
+ | 0.451 | 2.0 | 56864 | 0.6088 | 0.7640 |
55
+ | 0.5408 | 3.0 | 85296 | 0.5352 | 0.7990 |
56
+ | 0.4343 | 4.0 | 113728 | 0.5045 | 0.8185 |
57
+ | 0.4341 | 5.0 | 142160 | 0.5104 | 0.8285 |
58
 
59
 
60
  ### Framework versions
61
 
62
+ - Transformers 4.55.2
63
+ - Pytorch 2.8.0+cu128
64
+ - Datasets 4.0.0
65
+ - Tokenizers 0.21.4
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,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,on_cloud,pue
2
- 2025-08-12T14:50:28,codecarbon,8d66914a-9b1d-4e8d-b5b0-197aae7695b1,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,33622.2954240907,0.6071869809020806,1.8059057932940093e-05,42.5,391.41603724835056,94.34468364715576,0.396695449095465,4.49100706696936,0.8805824549323915,5.768284970997222,Luxembourg,LUX,luxembourg,,,Linux-6.8.0-60-generic-x86_64-with-glibc2.39,3.12.3,2.8.4,64,AMD EPYC 9124 16-Core Processor,2,2 x NVIDIA L40S,6.1294,49.6113,251.58582305908203,machine,N,1.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,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,on_cloud,pue
2
+ 2025-08-19T18:23:36,codecarbon,00094c79-e50f-4991-a4b7-c70f8770a685,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,31003.21120994899,0.5509036672436785,1.776924536987615e-05,42.5,315.7355467933024,94.34468507766725,0.3658022772405763,4.055787291849455,0.8120031201139472,5.233592689203979,Luxembourg,LUX,luxembourg,,,Linux-6.8.0-71-generic-x86_64-with-glibc2.39,3.12.3,2.8.4,64,AMD EPYC 9124 16-Core Processor,2,2 x NVIDIA L40S,6.1294,49.6113,251.5858268737793,machine,N,1.0
model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:b20dd370cb5fd8c9db9f52e05e23f36afd7e6dee67fc32566427c19c5a0d5c82
3
  size 498618976
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a4b17dd6677761d945b839636cfacd3a6313759aef3982b71b0472114a509449
3
  size 498618976