Views
No views yet
| Base model | mistralai/Mistral-7B-Instruct-v0.3 |
| Yöntem | QLoRA (4-bit NF4, LoRA r=64, α=128) |
| Donanım | NVIDIA RTX 3090 (24GB) |
| Dataset | 1.339 Türkçe siber güvenlik instruction-response çifti |
| Epoch | 3 (efektif batch 16, lr 2e-4 cosine) |
| Eğitim süresi | ~2.7 saat |
| Final train loss | ~0.50 |
gpt-oss:120b) ile
üretilen sentetik Türkçe analizler. Detay: DATASET_CARD.| 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 |
1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
3from peft import PeftModel
4
5BASE = "mistralai/Mistral-7B-Instruct-v0.3"
6ADAPTER = "<HF_KULLANICI>/secllm-tr-mistral-7b-qlora"
7
8bnb = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4",
9 bnb_4bit_compute_dtype=torch.bfloat16)
10tok = AutoTokenizer.from_pretrained(BASE)
11model = AutoModelForCausalLM.from_pretrained(BASE, quantization_config=bnb, device_map="auto")
12model = PeftModel.from_pretrained(model, ADAPTER)
13
14SYSTEM = ("Sen SecLLM-TR, siber güvenlik alanında uzmanlaşmış Türkçe bir asistansın. "
15 "Teknik olarak doğru ve profesyonel yanıtlar verirsin.")
16soru = "SQL injection saldırısından nasıl korunurum?"
17msgs = [{"role": "user", "content": f"{SYSTEM}\n\n{soru}"}]
18inputs = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
19out = model.generate(inputs, max_new_tokens=512, do_sample=True, temperature=0.7)
20print(tok.decode(out[0][inputs.shape[1]:], skip_special_tokens=True))gpt-oss:120b çıktısıdır; nadiren hata/yanlılık içerebilir.1@misc{secllm-tr,
2 title = {SecLLM-TR: Fine-Tuned Turkish Cybersecurity Language Model},
3 author = {Bayram, Betül},
4 year = {2026},
5 url = {https://huggingface.co/<HF_KULLANICI>/secllm-tr-mistral-7b-qlora}
6}