CoolFace
Modelpublic

spahbod/qwen3-0.6b-opensec-lora

sourceHugging Faceupdated 2d agoView on Hugging Face
0likes40downloads
Model Card

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:

  • —malicious
  • —suspicious
  • —benign
  • —expected_admin
  • —authorised_testing
  • —misconfiguration
  • —unknown

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:

tegridydev/opensec-triage

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:

  • —SFTTrainer z 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

MetrykaWynik
Accuracy91,9%
Macro F192,0%
Weighted F192,0%
Poprawne predykcje772/840
Niepoprawne predykcje68/840

Recall by class

KlasaPoprawneWszystkieRecall
malicious9312077,5%
suspicious9812081,7%
benign11912099,2%
expected_admin11712097,5%
authorised_testing11012091,7%
misconfiguration11512095,8%
unknown120120100,0%

Classification report

KlasaPrecisionRecallF1-scoreSupport
malicious0,810,780,79120
suspicious0,780,820,80120
benign1,000,991,00120
expected_admin0,890,970,93120
authorised_testing0,970,920,94120
misconfiguration0,990,960,97120
unknown1,001,001,00120
Macro average0,920,920,92840
Weighted average0,920,920,92840

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:

bash
pip install torch transformers peft accelerate

Następnie załaduj model bazowy oraz adapter:

python
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 malicious i suspicious.
  • —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