Skip to content

betulbayram/SecLLM-TR

Repository files navigation

SecLLM-TR 🛡️🇹🇷

Türkçe Siber Güvenlik için Fine-Tuned Açık Kaynak Dil Modeli Fine-Tuned Open-Source Cybersecurity Language Model for Turkish

License Base Model Method

🚀 Canlı Demo (HF Spaces) · 🤗 Model (HF Hub)

SecLLM-TR, siber güvenlik alanına özelleştirilmiş Türkçe bir dil modelidir. Mistral 7B Instruct üzerine QLoRA ile fine-tune edilerek dört yetkinlik kazandırılır:

  1. Zafiyet Analizi — CVE açıklamalarını Türkçe analiz eder, risk seviyesi belirler
  2. Güvenlik Raporu Üretimi — Teknik bulgulardan Türkçe rapor oluşturur
  3. Güvenlik QA — Siber güvenlik sorularına Türkçe uzman yanıtlar verir
  4. Sınıflandırma — Güvenlik loglarını ve olayları kategorize eder

🚀 Hızlı Başlangıç

# 1) Bağımlılıklar
pip install -r requirements.txt

# 2) Veri toplama (Aşama 1)
python data/scripts/fetch_cve.py --target 500 --severity CRITICAL HIGH
python data/scripts/fetch_mitre.py

# 3) Sentetik Türkçe QA üretimi (Ollama Cloud gerekli — bkz. .env)
python data/scripts/generate_synthetic.py --check
python data/scripts/generate_synthetic.py --mode mitre --limit 600 --workers 6
python data/scripts/generate_synthetic.py --mode cve   --limit 500 --workers 6
python data/scripts/generate_synthetic.py --mode qa    --count 400 --workers 6

# 4) Dataset'i hazırla (train/val/test)
python data/scripts/prepare_dataset.py

# 5) Fine-tuning (Aşama 2 — RTX 3090)
python training/train.py --config training/config/qlora_config.yaml

# 6) Demo (Aşama 3)
python serving/gradio_demo.py

🏗️ Mimari

Veri Pipeline → Fine-Tuning (QLoRA) → Evaluation → Serving & Demo
   CVE/NVD          Mistral 7B          RAGAS +      vLLM/Ollama
   MITRE ATT&CK     4-bit + LoRA        domain acc.  Gradio/FastAPI
   Sentetik TR QA   RTX 3090 24GB       TR fluency

📦 Tech Stack

Katman Teknoloji
Base Model Mistral 7B Instruct v0.3
Fine-Tuning PEFT (QLoRA), Transformers, TRL
GPU RTX 3090 (24GB VRAM) — lokal
Veri Üretimi Ollama Cloud
Serving FastAPI, Gradio, Ollama
Model Registry Hugging Face Hub

📊 Sonuçlar

Test setinde (40 örnek) base Mistral 7B ile fine-tuned SecLLM-TR karşılaştırması:

Metrik Base Mistral 7B SecLLM-TR Δ
ROUGE-L ↑ 0.097 0.107 +0.01
BLEU ↑ 0.00 0.21 +0.21
Ort. yanıt uzunluğu 1040 1134 +93
TR karakter oranı 0.095 0.079 −0.017

Yorum: En belirgin kazanım BLEU 0.00 → 0.21 — base model hedef Türkçe uzman formatından uzakken, fine-tuned model bu stili ve yapıyı öğrenmiştir. Otomatik metrikler (tek referansa karşı) açık uçlu üretimde düşük ve gürültülüdür; fine-tune'un asıl kazancı — format tutarlılığı, siber güvenlik domain dili ve tablo yapılı analizler — demoda niteliksel olarak çok daha belirgindir. TR karakter oranındaki küçük düşüş, modelin (eğitildiği gibi) İngilizce teknik terimleri parantez içinde daha sık kullanmasından kaynaklanır, dil kalitesi gerilemesinden değil.

Eğitim: 3 epoch, train loss 1.17 → 0.23, validation loss ~0.67 (genelleme korunuyor).


📁 Proje Yapısı

secllm-tr/
├── data/scripts/     # veri toplama & hazırlama
├── training/         # QLoRA eğitim
├── evaluation/       # metrikler & benchmark
├── serving/          # API & demo
├── notebooks/        # analiz defterleri
└── docs/             # kılavuzlar & model card

✨ Özellikler

  • Veri pipeline — CVE/NVD + MITRE ATT&CK + 1.339 sentetik Türkçe QA çifti
  • QLoRA fine-tuning — Mistral 7B, RTX 3090'da 3 epoch
  • Evaluation — base vs fine-tuned karşılaştırma
  • Serving & demo — Gradio arayüzü, FastAPI, Ollama Modelfile
  • Dokümantasyon — model card, dataset card, eğitim kılavuzu

📚 Dokümantasyon

📄 Lisans

Apache 2.0 — bkz. LICENSE

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages