File size: 3,194 Bytes
2a7e8e8
 
 
 
 
 
 
 
 
 
 
cd3b0d1
 
2a7e8e8
 
7076d2e
 
2a7e8e8
38d2e45
5457689
e840157
 
 
122bcbf
e244c56
 
82a36b9
2a7e8e8
 
e840157
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2a7e8e8
 
 
 
 
 
 
 
 
 
 
 
 
 
ac0ee23
 
e244c56
 
 
 
 
2a7e8e8
 
 
 
b35fc4c
 
e244c56
cd3b0d1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
library_name: transformers
license: mit
base_model: roberta-base
tags:
- generated_from_trainer
metrics:
- accuracy
model-index:
- name: vulnerability-severity-classification-roberta-base
  results: []
datasets:
- CIRCL/vulnerability-scores
---

<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->

# vulnerability-severity-classification-roberta-base

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).


It achieves the following results on the evaluation set:
- Loss: 0.5058
- Accuracy: 0.8269

## Model description

It is a classification model and is aimed to assist in classifying vulnerabilities by severity based on their descriptions.


## How to get started with the model

```python
>>> from transformers import AutoModelForSequenceClassification, AutoTokenizer
... import torch
...
... labels = ["low", "medium", "high", "critical"]
...
... model_name = "CIRCL/vulnerability-severity-classification-distilbert-base-uncased"
... tokenizer = AutoTokenizer.from_pretrained(model_name)
... model = AutoModelForSequenceClassification.from_pretrained(model_name)
... model.eval()
...
... test_description = "SAP NetWeaver Visual Composer Metadata Uploader is not protected with a proper authorization, allowing unauthenticated agent to upload potentially malicious executable binaries \
that could severely harm the host system. This could significantly affect the confidentiality, integrity, and availability of the targeted system."
... inputs = tokenizer(test_description, return_tensors="pt", truncation=True, padding=True)
...
... # Run inference
... with torch.no_grad():
...     outputs = model(**inputs)
...     predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
...
... # Print results
... print("Predictions:", predictions)
... predicted_class = torch.argmax(predictions, dim=-1).item()
... print("Predicted severity:", labels[predicted_class])
...
Predictions: tensor([[4.9335e-04, 3.4782e-02, 2.6257e-01, 7.0215e-01]])
Predicted severity: critical
```

### Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 3e-05
- train_batch_size: 16
- eval_batch_size: 16
- seed: 42
- optimizer: Use OptimizerNames.ADAMW_TORCH with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
- lr_scheduler_type: linear
- num_epochs: 5

### Training results

| Training Loss | Epoch | Step   | Validation Loss | Accuracy |
|:-------------:|:-----:|:------:|:---------------:|:--------:|
| 0.6291        | 1.0   | 27084  | 0.6327          | 0.7463   |
| 0.6025        | 2.0   | 54168  | 0.5640          | 0.7770   |
| 0.5139        | 3.0   | 81252  | 0.5181          | 0.8016   |
| 0.3072        | 4.0   | 108336 | 0.4975          | 0.8182   |
| 0.2318        | 5.0   | 135420 | 0.5058          | 0.8269   |


### Framework versions

- Transformers 4.51.3
- Pytorch 2.7.0+cu126
- Datasets 3.6.0
- Tokenizers 0.21.1