Model Card for Kumru-2B-EPDK-DPO

Bu adaptör, modele EPDK (Enerji Piyasası Düzenleme Kurumu) alanında hem (domain knowledge) hem de sohbet yeteneğini kazandırmak amacıyla vngrs-ai/Kumru-2B-Base modeli üzerine eğitilmiş bir DPO (Direct Preference Optimization) LoRA adaptörü eğitilmiştir.

Eğitim, Gemini API kullanılarak ogulcanakca/epdk_corpus'tan üretilen sentetik, yüksek kaliteli ogulcanakca/epdk_dpo tercih veri seti (prompt, chosen, rejected) kullanılarak yapılmıştır.

Model, 4-bit (QLoRA) ile yüklenmeli ve üzerine bu DPO adaptörü eklenmelidir.

!pip install -q \
    "transformers" \
    "peft" \
    "accelerate" \
    "bitsandbytes" \
    "trl" \
    "datasets"

from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import PeftModel
import torch

base_model_name = "vngrs-ai/Kumru-2B-Base"
adapter_name = "ogulcanakca/Kumru-2B-EPDK-DPO"

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    # T4 için torch.float16, P100/Ampere+ için torch.bfloat16
    bnb_4bit_compute_dtype=torch.float16 
)

model = AutoModelForCausalLM.from_pretrained(
    base_model_name,
    quantization_config=bnb_config,
    device_map="auto",
    trust_remote_code=True
)

tokenizer = AutoTokenizer.from_pretrained(base_model_name, trust_remote_code=True)
if tokenizer.pad_token is None:
    tokenizer.pad_token = tokenizer.eos_token

model = PeftModel.from_pretrained(model, adapter_name)

model.eval()

prompt_soru = "2007 yılına ait Türkiye Ortalama Elektrik Toptan Satış Fiyatının (TORETOSAF) değeri nedir?"

messages = [
    {"role": "user", "content": prompt_soru}
]
input_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(input_text, return_tensors="pt", return_token_type_ids=False).to(model.device)

outputs = model.generate(
    **inputs,
    max_new_tokens=150,
    temperature=0.2, 
    do_sample=True
)

print("\n--- Modelin Cevabı ---")
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))

WandB

Modelin eğitimi ogulcanakca/epdk_dpo veri setinin train split'i üzerinde 1 epoch ve dev split'i üzerinde her 25 adımda bir değerlendirme yapılarak izlenmiştir.

WandB report


{
  "prompt": "Belirlenen 2007 yılı Türkiye Ortalama Elektrik Toptan Satış Fiyatının (TORETOSAF) değeri nedir?",
  "Base Model": "Belirlenen 2007 yılı Türkiye Ortalama Elektrik Toptan Satış Fiyatının (TORETOSAF) değeri nedir? 2007 yılı Türkiye Ortalama Elektrik Toptan Satış Fiyatı 1,11 TL/kWh'dir. 2007 yılı Türkiye Ortalama Elektrik Toptan Satış Fiyatı 1,11 TL/kWh'dir. 2007 yılı Türkiye Ortalama Elektrik Toptan Satış Fiyatı 1,11 TL/kWh'dir. 2007 yılı Türkiye Ortalama Elektrik Toptan Satış Fiyatı 1,11 TL/kWh'dir.",
  "Adapter'lı Model": "2007 yılı toptan satış fiyatı 15,80 krş/kWh olan elektrik enerjisinin fiyatı, 2007 yılı toptan satış fiyatı 15,80 krş/kWh’dir. 2007 yılı toptan satış fiyatı 15,80 krş/kWh olan toptan satış fiyatı 15,80 krş/kWh’dir. 2007 yılı toptan satış fiyatı 15,80 kr"
}

Eğitim Parametreleri (Kaggle P100)

DPOConfig

  • GPU: 1x Tesla T4 (16GB)
  • Model: vngrs-ai/Kumru-2B-Base
  • Veri Seti: ogulcanakca/epdk_dpo (train 24.5k, dev 1.3k)
  • Quantization: 4-bit (NF4)
  • Compute Precision: float16
  • max_length: 1024
  • max_prompt_length: 512
  • optim: paged_adamw_8bit
  • gradient_checkpointing: True
  • learning_rate: 5e-5 (LR Tipi: cosine)
  • num_train_epochs: 1
  • loss_type: ipo
  • beta: 0.1
  • Batch Size:
    • per_device_train_batch_size: 1
    • gradient_accumulation_steps: 8
    • (Effective Batch Size: 8)

LoraConfig

  • r (Rank): 16
  • lora_alpha: 32
  • lora_dropout: 0.05
  • target_modules:
    • q_proj
    • k_proj
    • v_proj
    • o_proj
    • gate_proj
    • up_proj
    • down_proj

Downloads last month
57
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ogulcanakca/Kumru-2B-EPDK-DPO

Adapter
(4)
this model

Dataset used to train ogulcanakca/Kumru-2B-EPDK-DPO

Collection including ogulcanakca/Kumru-2B-EPDK-DPO