base_model: huihui-ai/Huihui-Qwen3.8-27B-abliterated model_name: "Huihui-Qwen3.8-27B-abliterated-cyber — LoRA" library_name: peft pipeline_tag: image-text-to-text license: apache-2.0 language:
- en
- fr tags:
- unsloth
- lora
- qlora
- cyber
- image-text-to-text
- vision
- video
- peft
model-index:
- name: Huihui-Qwen3.8-27B-abliterated-cyber — LoRA
results:
- task:
type: text-generation
name: Causal language modeling
dataset:
name: cyber SFT holdout
type: private-cyber-sft
metrics:
- type: loss value: 1.293120 name: eval_loss
- task:
type: text-generation
name: Causal language modeling
dataset:
name: cyber SFT holdout
type: private-cyber-sft
metrics:
[!WARNING] Attention : modèle de test — non destiné à la production.
Testing only — not for production. Models published from these notebooks are maintained solely for testing and evaluation purposes and are not intended for production use. The enrichment data used with them was created by the author and subsequently enhanced with the assistance of AI models.
Huihui-Qwen3.8-27B-abliterated-cyber — LoRA
Instruction-tuned cybersecurity assistant (offensive, defensive, GRC, architecture, SOC/DFIR, RSSI).
| Base model | huihui-ai/Huihui-Qwen3.8-27B-abliterated |
| Domain | cyber |
| Method | LoRA / QLoRA (Unsloth) · rank 16 · α 32 |
| Quantization at train | bf16 LoRA |
| Context | 2048 tokens |
| Dataset | private Cyber SFT corpus · train 56541 / eval 2976 |
| GPU | NVIDIA RTX PRO 6000 Blackwell Server Edition (95.0 GiB) |
| Wall time | — |
| Modalities kept | vision, video |
This checkpoint continues a strong general model and specialises it on a curated SFT corpus of cybersecurity procedures: pentest / red team, SOC and DFIR, cloud and identity, GRC (ISO, NIST, NIS2, DORA), and RSSI / project-management questions. Answers are meant to be concrete (controls, detections, hardening), not generic essays.
Évaluation du modèle
| Mesure | Résultat |
|---|---|
| Validation SFT | GO |
| Loss validation après SFT | 1.2931 |
| Gym Cyber | GO |
| Score Cyber moyen | 0.812 |
| Apprentissage en trois phases | GO |
| Image/vidéo | GO |
| Dérive | À SURVEILLER |
Les performances détaillées, les écarts base/adaptateur et les anomalies sont dans EVALUATION.md. Seules des métriques agrégées sont publiées.
Résultats détaillés
Cette page est générée à partir des métriques agrégées du run. Les réponses brutes, les prompts d'évaluation, les chemins Drive et les rapports locaux ne sont pas publiés.
Résultat
| Contrôle | Verdict | Contrôles réussis |
|---|---|---|
| SFT et surapprentissage | GO | 8/8 |
| Gym Cyber et généralisation | GO | — |
| Image/vidéo | GO | 15/15 |
| Trois phases d'apprentissage | GO | 3/3 |
| Dérive base → adaptateur | À SURVEILLER | — |
Progression par phases et reprise
| Phase | Pas prévu | Pas atteint | Loss validation | Verdict |
|---|---|---|---|---|
| 1 | 884 | 884 | 1.4342 | GO |
| 2 | 2120 | 2120 | 1.3301 | GO |
| 3 | 3534 | 3534 | 1.2931 | GO |
Chaque phase s'arrête sur un checkpoint Drive. La reprise garde le même calendrier d'optimisation ; une phase NO-GO bloque les suivantes et la publication.
Performance du modèle entraîné
| Mesure | Valeur |
|---|---|
| Loss entraînement initiale | — |
| Loss entraînement finale | — |
| Loss validation après SFT | 1.2931 |
| Gain sur la loss de validation face à la base | 47.15 % |
| Durée du SFT | — min |
| Débit SFT | — exemples/s |
| Lot effectif | 16 |
Évaluation Cyber
| Critère | Résultat adaptateur | Seuil de publication | Verdict |
|---|---|---|---|
| Score moyen du gym | 0.812 | ≥ 0,650 | OK |
| Raisonnement général | 1.000 | ≥ 0,500 | OK |
| Généralisation | 0.833 | ≥ 0,550 | OK |
Comparaison base / adaptateur
| Mesure | Base | Adaptateur |
|---|---|---|
| Loss sur la même validation | 2.4468 | 1.2931 |
| Gym Cyber, moyenne | 0.829 | 0.812 |
| Gym Cyber, taux de réussite | 0.875 | 0.958 |
| Généralisation, taux de réussite | 0.917 | 0.833 |
| Questions générales, exactitude | 1.000 | 1.000 |
Diagnostic de dérive
À SURVEILLER sur les jeux de contrôle embarqués. Ce diagnostic mesure les régressions par rapport à la base ; le niveau Cyber absolu et le verdict de publication sont contrôlés séparément. Les petits échantillons ne couvrent pas toutes les situations réelles.
| Mesure | Base | Adaptateur | Écart | Marge admise | Signal |
|---|---|---|---|---|---|
| Loss validation | 2.447 | 1.293 | -47.15 % | ≤ +2.00 % | OK |
| Gym Cyber | 0.829 | 0.812 | -0.017 | ≥ −0.05 | OK |
| Généralisation Cyber | 0.917 | 0.833 | -0.083 | ≥ −0.10 | OK |
| Compétences générales | 1.000 | 1.000 | 0.000 | ≥ −0.10 | OK |
| Image/vidéo préservées | — | — | — | audit obligatoire | OK |
Stabilité du fine-tuning
| Contrôle | Mesure | Seuil | Signal |
|---|---|---|---|
| Rebond de loss après le meilleur checkpoint | 0.00 % | ≤ 5.00 % | OK |
| Rapport loss entraînement / validation | 0.999 | ≥ 0.250 | OK |
| Évaluations périodiques | 11 | ≥ 2 | OK |
Une baisse supérieure à 0,15 sur un domaine du gym est un signal de revue humaine, même si le score global passe. Elle n'est pas à elle seule un blocage automatique car certains domaines comportent peu de scénarios. Domaines à revoir : definition, detection, remediation.
Gym par domaine
| Domaine | Base | Adaptateur | Écart | Signal |
|---|---|---|---|---|
| assessment | 0.900 | 0.800 | -0.100 | OK |
| ctf | 1.000 | 1.000 | 0.000 | OK |
| definition | 1.000 | 0.700 | -0.300 | À REVOIR |
| detection | 1.000 | 0.775 | -0.225 | À REVOIR |
| format | 1.000 | 1.000 | 0.000 | OK |
| general_reasoning | 1.000 | 1.000 | 0.000 | OK |
| generalization | 0.750 | 0.625 | -0.125 | OK |
| grc | 1.000 | 0.900 | -0.100 | OK |
| hardening | 0.600 | 0.800 | +0.200 | OK |
| implementation | 0.700 | 0.800 | +0.100 | OK |
| incident_response | 0.800 | 0.800 | 0.000 | OK |
| offensive | 0.400 | 0.600 | +0.200 | OK |
| remediation | 1.000 | 0.800 | -0.200 | À REVOIR |
| reporting | 0.600 | 0.600 | 0.000 | OK |
| secure_coding | 1.000 | 1.000 | 0.000 | OK |
Anomalies et suites à donner
| Contrôle | Signal | Action |
|---|---|---|
| Domaines du gym | À REVOIR | 3 domaine(s) en baisse marquée |
Protocole et taille des échantillons
- Entraînement : 56541 exemples ; validation interne : 2976 exemples, regroupés par identifiant CVE.
- Gym Cyber : 24 scénarios ; généralisation : 12 prompts ; compétences générales : 10 questions.
- Context window SFT : 2048 tokens ; p99 observé sur 1024 exemples : 521 tokens ; tronqués dans cet échantillon : 0.
- Évaluations périodiques pendant le SFT : 11 ; meilleur checkpoint rechargé avant la mesure finale.
- La base et l'adaptateur reçoivent les mêmes questions. La loss ne porte que sur la réponse de l'assistant.
Critères de publication
- Gym Cyber : moyenne adaptateur ≥ 0,65 ; raisonnement général ≥ 0,50 ; généralisation ≥ 0,55.
- Régression maximale admise par rapport à la base : 0,05 sur la moyenne du gym et 0,10 sur le taux de généralisation.
- La validation SFT, la conservation des capacités générales et les tests image/vidéo doivent être validés avant l'export.
Limites
Le gym utilise des critères lexicaux et de format ; il ne prouve pas la justesse de chaque procédure. Les petits jeux de test donnent des signaux de régression, pas une certification. Une revue humaine d'au moins dix réponses et des essais sur des tâches métier réelles restent nécessaires.
Les rapports détaillés et les exemples de réponses restent dans le Drive privé du run.
Audio : ce checkpoint n'a pas de tour audio natif. Une transcription vocale locale peut être utilisée séparément ; elle ne fait pas partie des poids publiés.
Training data
-
Corpus: private Cyber SFT corpus
-
Split:
0.05holdout,grouped by CVE, seed 42 -
Format: chat-templated SFT (
messages/instruction+output/### Instruction+### Response)
Training procedure
| Hyperparameter | Value |
|---|---|
| Epochs | 1 |
| Learning rate | 3e-05 |
| Warmup ratio | 0.05 |
| Device batch | 1 |
| Grad accum | 16 |
| Effective batch | 16 |
| Optim | adamw_8bit |
| Packing | False |
| LoRA targets | ['q_proj', 'k_proj', 'v_proj', 'o_proj', 'out_proj', 'gate_proj', 'up_proj', 'down_proj'] |
Intended use
Authorized defensive work, tabletop exercises, control design, detection engineering, audit readiness, and explaining attack techniques without weaponized payloads.
Out of scope: Do not use it to attack systems you do not own, to generate exploit payloads, or as a substitute for a licensed auditor or incident commander.
Multimodal
Kept modalities: vision, video. Media layers were frozen during text SFT (vision=False, audio=False). Load the merged Transformers folder (or GGUF + mmproj) to keep vision, video. Preservation audit: GO.
How to use
import torch
from transformers import AutoModelForMultimodalLM, AutoProcessor
from peft import PeftModel
base = 'huihui-ai/Huihui-Qwen3.8-27B-abliterated'
adapter = "nico248000000000/Huihui-Qwen3.8-27B-abliterated-cyber-LoRA"
processor = AutoProcessor.from_pretrained(adapter)
model = AutoModelForMultimodalLM.from_pretrained(base, dtype=torch.bfloat16, device_map="auto")
model = PeftModel.from_pretrained(model, adapter)
Limitations
- Domain shift: quality drops outside the SFT topics.
- Eval above is holdout loss (and optional targeted checks). It is not a public leaderboard.
- The base model license and acceptable-use policy still apply.
License
apache-2.0 — inherit and respect the license of huihui-ai/Huihui-Qwen3.8-27B-abliterated.