Downloads · 30 days
21
34% of all-time downloads
noman-asif/CVE-Analyst-Ministral-3B-QLoRA
CVE-Analyst-Ministral-3B-QLoRA is a machine learning model from noman-asif. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for peft. The card lists the license as apache-2.0.
Fine-tuned mistralai/Ministral-3-3B-Instruct-2512-BF16 on the AlicanKiraz0/All-CVE-Records-Training-Dataset dataset using QLoRA (Parameter-Efficient Fine-Tuning with Low-Rank Adaptation).
Downloads · 30 days
21
34% of all-time downloads
All-time downloads
62
Public
Repo size
66.9 MB
Likes
0
Public
Click a slice to open those files.
.safetensors50.1 MB · 75%
From the Hugging Face model README
Fine-tuned mistralai/Ministral-3-3B-Instruct-2512-BF16 on the AlicanKiraz0/All-CVE-Records-Training-Dataset dataset using QLoRA (Parameter-Efficient Fine-Tuning with Low-Rank Adaptation).
This adapter specialises the base model for CVE vulnerability analysis -- given a vulnerability identifier and context, the model produces structured technical analyses including exploitation vectors, impact assessment, and remediation strategies.
| Property | Value |
|---|---|
| Base model | mistralai/Ministral-3-3B-Instruct-2512-BF16 |
| Method | QLoRA |
| LoRA rank | 16 |
| LoRA alpha | 32 |
| Training epochs | 3 |
| Learning rate | 0.0002 |
| Effective batch size | 12 |
| Max sequence length | 4096 |
Dataset: AlicanKiraz0/All-CVE-Records-Training-Dataset
Attribution: Dataset created by AlicanKiraz0.
License: Apache 2.0
Sample size: 10000 rows (filtered to fit within 4096 tokens).
| Split | Count |
|---|---|
| train | 8000 |
| val | 1000 |
| test | 1000 |
| Metric | Original | Fine-tuned |
|---|---|---|
| bleu | 4.53 | 32.87 |
| rouge1 | 19.8 | 34.33 |
| rouge2 | 4.39 | 21.38 |
| rougeL | 10.77 | 30.71 |
| perplexity | 5.11 | 2.01 |
| Metric | Original | Fine-tuned |
|---|---|---|
| precision | 79.37 | 100.0 |
| recall | 92.59 | 92.59 |
| f1 | 85.47 | 96.15 |
from peft import PeftModel
from transformers import Mistral3ForConditionalGeneration, MistralCommonBackend
# Load base model and tokenizer
base = Mistral3ForConditionalGeneration.from_pretrained(
"mistralai/Ministral-3-3B-Instruct-2512-BF16",
torch_dtype="auto",
device_map="auto",
)
tokenizer = MistralCommonBackend.from_pretrained(
"mistralai/Ministral-3-3B-Instruct-2512-BF16"
)
# Load adapter on top
model = PeftModel.from_pretrained(base, "noman-asif/CVE-Analyst-Ministral-3B-QLoRA")
# Generate
messages = [{"role": "user", "content": "Provide a comprehensive technical analysis of CVE-2024-1234."}]
inputs = tokenizer.apply_chat_template(messages, return_dict=True, return_tensors="pt", add_generation_prompt=True)
outputs = model.generate(**inputs.to(model.device), max_new_tokens=512)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
This model and its adapter weights are released under the Apache 2.0 License.