Training update: 6,763/238,451 rows (2.84%) | +25 new @ 2025-10-23 02:45:29
Browse files- README.md +28 -5
- model.safetensors +1 -1
- training_args.bin +1 -1
- training_metadata.json +10 -7
README.md
CHANGED
|
@@ -24,7 +24,7 @@ pipeline_tag: fill-mask
|
|
| 24 |
- Model type: fine-tuned lightweight BERT variant
|
| 25 |
- Languages: English & Indonesia
|
| 26 |
- Finetuned from: `boltuix/bert-micro`
|
| 27 |
-
- Status: **Early version** — trained on **2.
|
| 28 |
**Model sources**
|
| 29 |
- Base model: [boltuix/bert-micro](https://huggingface.co/boltuix/bert-micro)
|
| 30 |
- Data: Cybersecurity Data
|
|
@@ -40,7 +40,7 @@ You can use this model to classify cybersecurity-related text — for example, w
|
|
| 40 |
- Not optimized for languages other than English and Indonesian.
|
| 41 |
- Not tested for non-cybersecurity domains or out-of-distribution data.
|
| 42 |
## 3. Bias, Risks, and Limitations
|
| 43 |
-
Because the model is based on a small subset (2.
|
| 44 |
- Inherits any biases present in the base model (`boltuix/bert-micro`) and in the fine-tuning data — e.g., over-representation of certain threat types, vendor or tooling-specific vocabulary.
|
| 45 |
- Should not be used as sole authority for incident decisions; only as an aid to human analysts.
|
| 46 |
## 4. How to Get Started with the Model
|
|
@@ -55,8 +55,31 @@ logits = outputs.logits
|
|
| 55 |
predicted_class = logits.argmax(dim=-1).item()
|
| 56 |
```
|
| 57 |
## 5. Training Details
|
| 58 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
- **Learning rate**: 5e-05
|
| 60 |
-
- **Epochs**: 3
|
| 61 |
- **Batch size**: 16
|
| 62 |
-
- **
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
- Model type: fine-tuned lightweight BERT variant
|
| 25 |
- Languages: English & Indonesia
|
| 26 |
- Finetuned from: `boltuix/bert-micro`
|
| 27 |
+
- Status: **Early version** — trained on **2.84%** of planned data.
|
| 28 |
**Model sources**
|
| 29 |
- Base model: [boltuix/bert-micro](https://huggingface.co/boltuix/bert-micro)
|
| 30 |
- Data: Cybersecurity Data
|
|
|
|
| 40 |
- Not optimized for languages other than English and Indonesian.
|
| 41 |
- Not tested for non-cybersecurity domains or out-of-distribution data.
|
| 42 |
## 3. Bias, Risks, and Limitations
|
| 43 |
+
Because the model is based on a small subset (2.84%) of planned data, performance is preliminary and may degrade on unseen or specialized domains (industrial control, IoT logs, foreign language).
|
| 44 |
- Inherits any biases present in the base model (`boltuix/bert-micro`) and in the fine-tuning data — e.g., over-representation of certain threat types, vendor or tooling-specific vocabulary.
|
| 45 |
- Should not be used as sole authority for incident decisions; only as an aid to human analysts.
|
| 46 |
## 4. How to Get Started with the Model
|
|
|
|
| 55 |
predicted_class = logits.argmax(dim=-1).item()
|
| 56 |
```
|
| 57 |
## 5. Training Details
|
| 58 |
+
|
| 59 |
+
### Text Processing & Chunking
|
| 60 |
+
Since cybersecurity data often contains lengthy alert descriptions and execution logs that exceed BERT's 512 token limit, we implement an overlapping chunking strategy:
|
| 61 |
+
- **Max sequence length**: 512 tokens
|
| 62 |
+
- **Stride**: 32 tokens (overlap between consecutive chunks)
|
| 63 |
+
- **Chunking behavior**: Long texts are split into overlapping segments. For example, with max_length=512 and stride=128, a 1000-token document becomes ~3 chunks with 128-token overlaps, preserving context across boundaries.
|
| 64 |
+
|
| 65 |
+
### Training Hyperparameters
|
| 66 |
+
- **Base model**: `boltuix/bert-micro`
|
| 67 |
+
- **Training epochs**: 3
|
| 68 |
- **Learning rate**: 5e-05
|
|
|
|
| 69 |
- **Batch size**: 16
|
| 70 |
+
- **Weight decay**: 0.01
|
| 71 |
+
- **Warmup ratio**: 0.06
|
| 72 |
+
- **Gradient accumulation steps**: 1
|
| 73 |
+
- **Optimizer**: AdamW
|
| 74 |
+
- **LR scheduler**: Linear with warmup
|
| 75 |
+
|
| 76 |
+
### Training Data
|
| 77 |
+
- **Total database rows**: 238,451
|
| 78 |
+
- **Rows processed (cumulative)**: 6,763 (2.84%)
|
| 79 |
+
- **Rows in this session**: 25
|
| 80 |
+
- **Training samples (after chunking)**: 25
|
| 81 |
+
- **Training date**: 2025-10-23 02:45:29
|
| 82 |
+
|
| 83 |
+
### Post-Training Metrics
|
| 84 |
+
- **Final training loss**: 0.0000
|
| 85 |
+
- **Rows→Samples ratio**: 1.00x (average chunks per row)
|
model.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 17671560
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:983be3a2e9678daa96170b0969607343ac60dacf50afe2de4005fbdbb918d54d
|
| 3 |
size 17671560
|
training_args.bin
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 5905
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8ef5380f08e852850356b566ce57de8329dc2f88e4f45d0840e444f505dbe40b
|
| 3 |
size 5905
|
training_metadata.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
| 1 |
{
|
| 2 |
-
"trained_at":
|
| 3 |
-
"trained_at_readable": "2025-10-23 02:
|
| 4 |
-
"samples_this_session":
|
| 5 |
-
"new_rows_this_session":
|
| 6 |
-
"trained_rows_total":
|
| 7 |
"total_db_rows": 238451,
|
| 8 |
-
"percentage": 2.
|
| 9 |
"final_loss": 0,
|
| 10 |
"epochs": 3,
|
| 11 |
-
"learning_rate": 5e-05
|
|
|
|
|
|
|
|
|
|
| 12 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"trained_at": 1761187529.3583431,
|
| 3 |
+
"trained_at_readable": "2025-10-23 02:45:29",
|
| 4 |
+
"samples_this_session": 25,
|
| 5 |
+
"new_rows_this_session": 25,
|
| 6 |
+
"trained_rows_total": 6763,
|
| 7 |
"total_db_rows": 238451,
|
| 8 |
+
"percentage": 2.8362221169129085,
|
| 9 |
"final_loss": 0,
|
| 10 |
"epochs": 3,
|
| 11 |
+
"learning_rate": 5e-05,
|
| 12 |
+
"batch_size": 16,
|
| 13 |
+
"stride": 32,
|
| 14 |
+
"max_length": 512
|
| 15 |
}
|