Qwen2.5-7B-Instruct-Turkish-Legal-DoRA

Türk hukuku alanında ince ayar yapılmış, Qwen/Qwen2.5-7B-Instruct tabanlı bir dil modelidir.
QLoRA (4-bit) + DoRA (Weight Decomposition LoRA) ile eğitilmiştir.

Model Detayları

Özellik Değer
Base Model Qwen/Qwen2.5-7B-Instruct
Parametre 7B
Fine-tuning Yöntemi QLoRA (load_in_4bit) + DoRA
LoRA Rank 32
LoRA Alpha 64
Hedef Modüller q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
Eğitim Çerçevesi Axolotl 0.9.2
Precision bf16 (Flash Attention 2)
Eğitim Süresi ~12 saat (A100 80GB)
Epoch 3
Son Train Loss 0.4086
Learning Rate 3e-5 (cosine scheduler)

Eğitim Verisi

Dataset Tür Boyut Oran
sinanelms/output_kanun_tokensli Türk hukuku soru-cevap ~360K örnek %85
AlicanKiraz0/Turkish-SFT-Dataset-v1.0 Türkçe genel SFT (replay) ~5.5K örnek %15

Not: %15 genel Türkçe SFT datası, catastrophic forgetting'i önlemek ve modelin muhakeme gücünü korumak amacıyla karıştırılmıştır.

Kullanım

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

base_model = "Qwen/Qwen2.5-7B-Instruct"
adapter = "sinanelms/Qwen2.5-7B-Instruct-Turkish-Legal-DoRA"

tokenizer = AutoTokenizer.from_pretrained(base_model)
model = AutoModelForCausalLM.from_pretrained(base_model, load_in_4bit=True)
model = PeftModel.from_pretrained(model, adapter)

messages = [
    {"role": "system", "content": "Sen Türk hukuku konusunda uzman bir hukuk asistanısın."},
    {"role": "user", "content": "Kira sözleşmesinde kiracının hakları nelerdir?"}
]

text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.7)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

vLLM ile Kullanım (Merged Model)

from vllm import LLM, SamplingParams

llm = LLM(model="sinanelms/Qwen2.5-7B-Instruct-Turkish-Legal-DoRA")
params = SamplingParams(temperature=0.7, max_tokens=512)

output = llm.generate("Türk Ceza Kanunu'nda hırsızlık suçunun cezası nedir?", params)
print(output[0].outputs[0].text)

Neden DoRA?

DoRA (Weight-Decomposed Low-Rank Adaptation), standart LoRA'ya kıyasla:

  • Modelin ön-eğitimden gelen genel muhakeme gücünü daha iyi korur
  • Catastrophic forgetting'i azaltır
  • Benzer parametre sayısıyla daha iyi domain adaptasyonu sağlar

Eğitim Hiperparametreleri

adapter: lora
use_dora: true
lora_r: 32
lora_alpha: 64
lora_dropout: 0.05
learning_rate: 3.0e-05
lr_scheduler: cosine
warmup_steps: 100
weight_decay: 0.01
optimizer: paged_adamw_8bit
micro_batch_size: 2
gradient_accumulation_steps: 16
num_epochs: 3
sequence_len: 4096
sample_packing: true
bf16: true
flash_attention: true

Kapsam ve Sınırlılıklar

Güçlü olduğu alanlar:

  • Türk medeni hukuku, borçlar hukuku, ceza hukuku
  • Kanun maddesi açıklama ve yorumlama
  • Hukuki soru-cevap

Dikkat edilmesi gerekenler:

  • Model yasal tavsiye vermez; yalnızca bilgi amaçlıdır
  • Güncel mevzuat değişikliklerini takip etmeyebilir
  • Kritik hukuki kararlar için mutlaka bir avukata danışınız

Lisans

Bu model Apache 2.0 lisansı altında dağıtılmaktadır.
Base model Qwen2.5'in lisans koşulları da geçerlidir: Qwen License

Atıf

@misc{qwen25_turkish_legal_dora_2026,
  title  = {Qwen2.5-7B-Instruct-Turkish-Legal-DoRA},
  author = {sinanelms},
  year   = {2026},
  url    = {https://huggingface.co/sinanelms/Qwen2.5-7B-Instruct-Turkish-Legal-DoRA},
  note   = {QLoRA + DoRA fine-tuned Qwen2.5-7B-Instruct for Turkish legal domain}
}
Downloads last month
26
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for sinanelms/Qwen2.5-7B-Instruct-Turkish-Legal-DoRA

Base model

Qwen/Qwen2.5-7B
Quantized
(290)
this model

Datasets used to train sinanelms/Qwen2.5-7B-Instruct-Turkish-Legal-DoRA