Table with columns: Model, Parse, Fonksiyon Doğruluğu, Gerekli Argümanlar, Şema Uyumu| Model | Parse | Fonksiyon Doğruluğu | Gerekli Argümanlar | Şema Uyumu |
|---|
| Qwen2.5 1.5B (base) | 92% | 54% | 52% | 44% |
| Qwen2.5 1.5B (fine-tuned) | 100% | 88% | 88% | 84% |
Fine-tuning ile fonksiyon doğruluğu %54'ten %88'e yükselmiştir (+34 puan).
Eğitim Detayları
- Temel model: Qwen/Qwen2.5-1.5B-Instruct
- Yöntem: QLoRA (4-bit quantization + LoRA r=16)
- Eğitim verisi: 1,896 örnek (29 araç, filesystem + GitHub MCP)
- Epoch: 3
- Öğrenme oranı: 2e-4 (cosine scheduler)
- Batch size: 8 (4 × 2 gradient accumulation)
- Donanım: Tesla T4 (15GB VRAM), ~3 saat
- Son loss: 0.0836
- Framework: Unsloth + TRL SFTTrainer
Araç Kapsamı
Filesystem (10 araç)
read_text_file, read_multiple_files, write_file, edit_file, create_directory, list_directory, directory_tree, move_file, search_files, get_file_info
GitHub (19 araç)
issue_read, issue_write, list_issues, search_issues, add_issue_comment, pull_request_read, create_pull_request, update_pull_request, merge_pull_request, list_pull_requests, create_branch, get_file_contents, create_or_update_file, list_commits, list_branches, search_code, get_repository_tree, actions_list,
Kullanım
from unsloth import FastModel
from unsloth.chat_templates import get_chat_template
from peft import PeftModel
base_model, tokenizer = FastModel.from_pretrained(
"unsloth/Qwen2.5-1.5B-Instruct",
max_seq_length=4096,
load_in_4bit=True,
)
tokenizer = get_chat_template(tokenizer, chat_template="qwen-2.5")
model = PeftModel.from_pretrained(base_model, "alperiox/qwen25-1.5b-turkish-fc")
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "main branch'ten feature/login adında yeni bir branch oluştur"},
]
Kaynak
Bu model, Python Ankara topluluğunun "Küçük Dil Modellerini Türkçe İçin Fine-Tuning" atölyesi kapsamında geliştirilmiştir.
Eğitim verisi: alperiox/turkish-devtools-function-calling