许可证:apache-2.0
语言:
- 英语
基础模型:bencyc1129/mitre-bert-base-cased
任务标签:文本分类
示例输入:
- 文本:攻击者执行SQL注入。
数据集:
- sarahwei/cyber_MITRE_CTI_dataset
MITRE-v15战术分类-BERT基础版(区分大小写)
此模型基于mitre-bert-base-cased在MITRE ATT&CK第15版攻击流程数据集上微调而成,评估结果如下:
用途与限制
该微调模型适用于文本分类任务,专门用于识别句子所属的MITRE ATT&CK战术框架类别。一个句子或攻击行为可能对应多个战术类别。
请注意,本模型主要针对网络安全领域的文本分类进行优化。若输入文本与攻击行为无关,其表现可能不佳。
使用方法
可通过TensorFlow调用模型:
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model_id = "sarahwei/MITRE-tactic-bert-case-based"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
)
question = '攻击者执行SQL注入。'
input_ids = tokenizer(question,return_tensors="pt")
outputs = model(**input_ids)
logits = outputs.logits
sigmoid = torch.nn.Sigmoid()
probs = sigmoid(logits.squeeze().cpu())
predictions = np.zeros(probs.shape)
predictions[np.where(probs >= 0.5)] = 1
predicted_labels = [model.config.id2label[idx] for idx, label in enumerate(predictions) if label == 1.0]
训练过程
训练参数
- 学习率:5e-05
- 训练批次大小:8
- 评估批次大小:8
- 随机种子:0
- 优化器:Adam(β1=0.9,β2=0.999,ε=1e-08)
- 学习率调度器类型:线性
- 训练轮次:10
- 预热比例:0.01
- 权重衰减:0.001
训练结果
步数 |
训练损失 |
验证损失 |
F1分数 |
ROC AUC |
准确率 |
100 |
0.409400 |
0.142982 |
0.740000 |
0.803830 |
0.610000 |
200 |
0.106500 |
0.093503 |
0.818182 |
0.868382 |
0.720000 |
300 |
0.070200 |
0.065937 |
0.893617 |
0.930366 |
0.810000 |
400 |
0.045500 |
0.061865 |
0.892704 |
0.926625 |
0.830000 |
500 |
0.033600 |
0.057814 |
0.902954 |
0.938630 |
0.860000 |
600 |
0.026000 |
0.062982 |
0.894515 |
0.934107 |
0.840000 |
700 |
0.021900 |
0.056275 |
0.904564 |
0.946113 |
0.870000 |
800 |
0.017700 |
0.061058 |
0.887967 |
0.937067 |
0.860000 |
900 |
0.016100 |
0.058965 |
0.890756 |
0.933716 |
0.870000 |
1000 |
0.014200 |
0.055885 |
0.903766 |
0.942372 |
0.880000 |
1100 |
0.013200 |
0.056888 |
0.895397 |
0.937849 |
0.880000 |
1200 |
0.012700 |
0.057484 |
0.895397 |
0.937849 |
0.870000 |