spahbod/qwen3-0.6b-opensec-lora
Qwen3-0.6B OpenSec Triage LoRA
Adapter LoRA dla modelu Qwen/Qwen3-0.6B, dostrojony do klasyfikacji tekstowych opisów zdarzeń cyberbezpieczeństwa.
Kod treningu, ewaluacji i uruchamiania modelu znajduje się w repozytorium: s25132/opensec-qwen-qlora.
Model przyjmuje opis zdarzenia i generuje jedną z siedmiu etykiet:
malicioussuspiciousbenignexpected_adminauthorised_testingmisconfigurationunknown
Model Details
- Model bazowy: Qwen/Qwen3-0.6B
- Rodzaj dostrojenia: Supervised Fine-Tuning (SFT)
- Metoda: LoRA/PEFT
- Biblioteki: Transformers, PEFT, TRL
- Język danych: angielski
- Dziedzina: klasyfikacja zdarzeń cyberbezpieczeństwa
- Format działania: generowanie etykiety tekstowej
Repozytorium zawiera tylko adapter LoRA. Do jego uruchomienia wymagany jest model bazowy Qwen/Qwen3-0.6B.
Training Data
Adapter został wytrenowany na zbiorze:
Zbiór zawiera opisy zdarzeń bezpieczeństwa przypisane do siedmiu klas. W oficjalnym podziale danych znajduje się:
- 6720 przykładów treningowych,
- 840 przykładów walidacyjnych,
- 840 przykładów testowych.
Training Procedure
Do treningu wykorzystano:
SFTTrainerz biblioteki TRL,- adapter LoRA z biblioteki PEFT,
- model bazowy
Qwen/Qwen3-0.6B, - tokenizer modelu Qwen,
- dane w formacie konwersacyjnym (
system/user/assistant), assistant_only_loss=True— strata była obliczana wyłącznie dla tokenów odpowiedzi asystenta, czyli docelowej etykiety klasy,- uczenie z mieszaną precyzją na GPU.
Hardware
- NVIDIA GeForce RTX 3050 Laptop GPU
- 4 GB VRAM
- CUDA 12.6
Software
- Python 3.12
- PyTorch z obsługą CUDA
- Transformers
- PEFT 0.20.0
- TRL
- Accelerate
Evaluation
Model oceniono na 840 przykładach ze zbioru testowego.
General results
Recall by class
Classification report
Model osiąga najlepsze wyniki dla klas unknown, benign oraz misconfiguration. Najwięcej błędów występuje między podobnymi semantycznie klasami malicious i suspicious: 27 zdarzeń malicious sklasyfikowano jako suspicious, a 22 zdarzenia suspicious jako malicious.
W porównaniu z modelem bazowym bez adaptera (accuracy 17,9%, macro F1 7,8%) adapter wyraźnie poprawia jakość klasyfikacji. Ustawienie assistant_only_loss=True skupia proces uczenia na przewidywaniu odpowiedzi asystenta, zamiast na odtwarzaniu instrukcji i treści wejściowej.
How to Use
Najpierw zainstaluj wymagane biblioteki:
pip install torch transformers peft accelerateNastępnie załaduj model bazowy oraz adapter:
import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
BASE_MODEL = "Qwen/Qwen3-0.6B"
ADAPTER = "spahbod/qwen3-0.6b-opensec-lora"
tokenizer = AutoTokenizer.from_pretrained(ADAPTER)
base_model = AutoModelForCausalLM.from_pretrained(
BASE_MODEL,
torch_dtype=torch.float16,
device_map="auto",
)
model = PeftModel.from_pretrained(
base_model,
ADAPTER,
)
model.eval()Intended Use
Model jest przeznaczony do:
- eksperymentów z fine-tuningiem małych modeli językowych,
- nauki LoRA, PEFT i SFT,
- badań nad klasyfikacją zdarzeń bezpieczeństwa,
- porównywania modeli generatywnych z klasycznymi klasyfikatorami.
Limitations
- Model jest projektem edukacyjnym.
- Model może zwracać błędne lub niepoprawnie sformatowane etykiety.
- Największą trudność stanowi rozróżnienie klas
maliciousisuspicious. - Wyniki mogą nie przenosić się na rzeczywiste dane produkcyjne.
- Model nie powinien samodzielnie podejmować decyzji dotyczących bezpieczeństwa.
- Predykcje powinny zostać zweryfikowane przez człowieka.
License
Adapter podlega warunkom licencji modelu bazowego oraz warunkom wykorzystania zbioru treningowego. Przed zastosowaniem komercyjnym należy sprawdzić licencje obu zasobów.
Framework Versions
- PEFT 0.20.0
