--- language: - tr license: apache-2.0 base_model: unsloth/qwen2.5-1.5b-instruct-unsloth-bnb-4bit tags: - peft - lora - qwen2 - e-commerce - customer-support - turkish --- # TR-ECommerce-CustomerSupport-LoRA Bu model, e-ticaret müşteri destek alanındaki Türkçe metinleri daha iyi anlayıp cevap üretebilmesi için `unsloth/qwen2.5-1.5b-instruct-unsloth-bnb-4bit` modeli üzerine LoRA ile fine-tune edilmiştir. ## 📊 MMLU Benchmark Karşılaştırması Fine-tune edilmiş bu model, öncelikle genel kültür ve muhakeme yeteneğini ölçmek adına Türkçe Yapay Zeka MMLU veri setinin **1000 soruluk** kapsamlı bir alt kümesi üzerinden test edilmiştir. Base model ile yapılan karşılaştırmalı performans testi sonuçları aşağıdadır: | Model | Model Tipi | Başarı Oranı (%) | Doğru Cevap | Çözülen Soru | Toplam Süre (sn)* | | :--- | :--- | :--- | :--- | :--- | :--- | | `unsloth/qwen2.5-1.5b-instruct-unsloth-bnb-4bit` | Base Model | **%22.00** | 220 | 1000 | 881.830 | | `Mer1Alii/TR-ECommerce-CustomerSupport-LoRA` | Fine-Tuned (LoRA) | **%34.10** | 341 | 1000 | 567.668 | > **MMLU Değerlendirmesi:** Çoktan seçmeli bir testte %22'lik başarı şans faktörüne (random guessing) oldukça yakındır. Fine-tune işlemi sonrası bu oranın %34.10'a çıkması, modelin genel kültür bilgisinin artmasından ziyade; **verilen "sadece şıkkın harfini yaz" talimatına ve formata çok daha iyi uyum sağlamasından** kaynaklanmaktadır. Bu test göstermektedir ki LoRA eğitimi yıkıcı unutmaya (catastrophic forgetting) yol açmamış, modelin formatı öğrenme kapasitesini belirgin şekilde artırmıştır. > > *\*Not: Süredeki dramatik iyileşme, kısmen GPU/Cache ısınmasından ve modelin talimata uyarak gereksiz uzunlukta token üretmeyi bırakmasından (doğrudan tek harf üretmesi) kaynaklanmaktadır.* --- ## 🎯 Özel E-Ticaret Benchmark Karşılaştırması (Asıl Odak) Model e-ticaret müşteri desteği için fine-tune edildiğinden, modelin asıl başarısını ölçmek adına **500 soruluk özel bir e-ticaret test seti (TR-ECommerce-CustomerSupport-Benchmark)** oluşturulmuştur. Bu veri seti, eğitim verisinden tamamen ayrılmış %10'luk bir kısımdır. Önceki değerlendirmelerde vurgulanan *"bölüm bazlı (stratified) örnekleme"* önerisine uygun olarak; test seti 5 ana kategoriye ayrılmış ve her kategoriden tam **100'er adet** dengeli soru seçilmiştir. | Model | Basari (%) | Dogru | Toplam Soru | Sure (sn) | | :--- | :--- | :--- | :--- | :--- | | `Qwen2.5-1.5B (Base Model)` | **%27.40** | 137 | 500 | 310.5 | | `TR-ECommerce-LoRA (Fine-Tuned)` | **%39.80** | 199 | 500 | 240.9 | | `Gemma-3-1B-IT` | **%49.80** | 249 | 500 | 321.5 | | `Llama-3.2-1B-Instruct` | **%23.40** | 117 | 500 | 241.8 | | `Qwen2.5-0.5B-Instruct` | **%42.40** | 212 | 500 | 316.9 | > **Analiz (Gerçek E-Ticaret Performansı):** Kendi hazırladığımız dengeli (stratified) 500 soruluk test setinde Qwen 2.5 1.5B Base modeli %27.40 başarı gösterirken, aynı modelin üzerine eğittiğimiz LoRA versiyonu **%39.80** puana (oransal olarak ~%45 iyileşme) çıkmıştır. Bu artış, modelin e-ticaret domaininde (kargo, iade, fatura vb. müşteri şikayetleri) hedeflediğimiz uzmanlaşmayı başarıyla kazandığını ispatlamaktadır. Llama 3.2 gibi popüler modelleri de bu spesifik alanda geride bırakmıştır. ## 🚀 Kullanım (Usage) Modeli `transformers` ve `peft` kütüphaneleri ile kolayca kullanabilirsiniz: ```python from transformers import AutoModelForCausalLM, AutoTokenizer from peft import PeftModel import torch base_model_id = "unsloth/qwen2.5-1.5b-instruct-unsloth-bnb-4bit" peft_model_id = "Mer1Alii/TR-ECommerce-CustomerSupport-LoRA" tokenizer = AutoTokenizer.from_pretrained(base_model_id) model = AutoModelForCausalLM.from_pretrained(base_model_id, torch_dtype=torch.float16, device_map="auto") model = PeftModel.from_pretrained(model, peft_model_id) prompt = "Kargom 3 gündür yolda gözüküyor, ne yapmalıyım?" messages = [{"role": "user", "content": prompt}] 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=100) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` ## 🔗 Veri Seti ve Test Kodu (Dataset & Benchmark) Tüm test kodları ve veri setleri tamamen şeffaf bir şekilde bu deponun "Files and versions" sekmesinde yer almaktadır: - **Özel E-Ticaret Benchmark Testi:** Modelin kendi e-ticaret senaryomuzda test edildiği 500 soruluk JSON veri seti (`custom_benchmark_final.json`) ve 4-bit optimize test kodu (`custom_benchmark_test.py`). - **MMLU Testi:** Önceki MMLU testini yapmak için kullanılan kod (`hf_olcum.py`). Model eğitimi sırasında kullanılan asıl veri setine ve tokenizer'a aşağıdaki linklerden ulaşabilirsiniz: - Dataset: [Mer1Alii/TR-ECommerce-CustomerSupport-Instructions](https://huggingface.co/datasets/Mer1Alii/TR-ECommerce-CustomerSupport-Instructions) - Tokenizer: [Mer1Alii/TR-ECommerce-CustomerSupport-Tokenizer](https://huggingface.co/Mer1Alii/TR-ECommerce-CustomerSupport-Tokenizer)