Downloads · 30 days
1
2% of all-time downloads
dsuyu1/FedDAPT-security-v1
FedDAPT-security-v1 is a machine learning model from dsuyu1. 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.
A domain-adapted security LLM trained using federated learning across simulated multi-tenant security environments. Built on Mistral-7B with QLoRA adapters.
Downloads · 30 days
1
2% of all-time downloads
All-time downloads
55
Public
Repo size
27.3 MB
Likes
0
Public
Click a slice to open those files.
.safetensors27.3 MB · 89%
From the Hugging Face model README
A domain-adapted security LLM trained using federated learning across simulated multi-tenant security environments. Built on Mistral-7B with QLoRA adapters.
Specializes in cybersecurity tasks including incident summarization, alert triage, and threat intelligence analysis. Trained without centralizing any organization's private security data.
| Method | ROUGE-L |
|---|---|
| Zero-shot Mistral-7B | 0.367 |
| Centralized DAPT | 0.330 |
| FedDAPT (this model) | 0.707 |
FedDAPT achieved 2.1x improvement over centralized training on incident summarization.
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import PeftModel
import torch
base = AutoModelForCausalLM.from_pretrained(
"mistralai/Mistral-7B-v0.1",
quantization_config=BitsAndBytesConfig(
load_in_4bit=True, bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
),
device_map="auto",
)
model = PeftModel.from_pretrained(base, "dsuyu1/FedDAPT-security-v1")
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-v0.1")
prompt = """### Instruction:
Summarize the following security incident in one sentence.
### Input:
Incident timeline: initial_access: phishing with macro attachment -> execution: PowerShell encoded command -> c2: Cobalt Strike HTTPS beacon -> lateral: SMB + PsExec lateral movement -> impact: ransomware across endpoints.
### Response:
"""
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
out = model.generate(**inputs, max_new_tokens=128, do_sample=False)
print(tokenizer.decode(out[0], skip_special_tokens=True))
Villarreal, D. "Smarter SecOps: Leveraging Private, Federated Transfer Learning" BSides RGV 2026.