gemma-3-4b-ogrenci-chatbot-lora
unsloth/gemma-3-4b-it temel alinarak egitilmis bir LoRA adaptoru. Model, MEB ortaokul (5-8. sinif)
mufredatindaki konulari ogrencilere seviyelerine uygun, sicak ve aciklayici bir dille
anlatan bir chatbot olarak tasarlanmistir.
Amac
Ogrencinin sordugu bir soruya ("Ay'in evreleri neden olusuyor?", "Fiilimsi nedir?"),
ortaokul seviyesini asmayan, dogru ve ogretici bir aciklama vermek.
Veri
Egitim verisi, MEB ortaokul ders kitaplarinin (Fen Bilimleri, Turkce, Din Kulturu,
Sosyal Bilgiler; 5-8. siniflar) konu anlatim metinlerinden uretilmis soru-cevap
ciftleridir. Cevaplar kitaplardaki bilgiye sadik kalacak sekilde olusturulmustur.
- Egitim: 376 diyalog
- Test (egitimde kullanilmadi): 41 diyalog — ozel benchmark icin ayrildi
Not: Veri seti aktif olarak buyutulmektedir; bu v1 (ilk) surumdur. Sonraki
surumlerde daha fazla kitap ve konu eklenerek kapsam genisletilecektir.
Egitim detaylari
- Temel model: unsloth/gemma-3-4b-it
- Framework: Unsloth + TRL (SFT)
- Yontem: LoRA (r=16, alpha=16, dropout=0), 4-bit (QLoRA)
- Hedef moduller: q/k/v/o_proj, gate/up/down_proj
- Epoch: 3 | LR: 2e-4 | Batch: 4 (grad accum 4)
- Optimizer: adamw_8bit | Scheduler: linear | Seed: 42
- Egitim: sadece asistan cevabi uzerinden (train_on_responses_only)
Kullanim
1from unsloth import FastModel
2
3model, tokenizer = FastModel.from_pretrained("nursimakgul/gemma-3-4b-ogrenci-chatbot-lora", load_in_4bit=True)
4
5messages = [{"role": "user", "content": "Ay'in evreleri neden olusuyor?"}]
6inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
7out = model.generate(input_ids=inputs, max_new_tokens=350, temperature=0.7, do_sample=True)
8print(tokenizer.decode(out[0][inputs.shape[1]:], skip_special_tokens=True))
Sinirlamalar
Kucuk bir veri setiyle (v1) egitilmistir; kapsami sinirlidir ve ciktilarin dogrulugu her
zaman garanti degildir. Egitim/deneysel amaclidir; ders materyali olarak kullanmadan
once icerik kontrolu onerilir.
Özel Benchmark Sonuçları
Model, eğitimde hiç kullanılmayan 41 soruluk test setiyle değerlendirildi.
Test seti, eğitim verisiyle aynı kaynaktan (MEB kitap anlatımları) %10 ayrımla en baştan
ayrılmıştır. Ölçüm: modelin cevabı ile referans cevap arasındaki anlamsal benzerlik
(paraphrase-multilingual-mpnet-base-v2, 0-1 arası).
| Model | Ortalama benzerlik | Medyan | Min | Maks |
|---|
| fine-tuned | 0.7627 | 0.7775 | 0.4816 | 0.9307 |
| base | 0.7373 | 0.7441 | 0.4695 | 0.9289 |
Fine-tuned modelin base modele göre referans cevaplara daha yakın çıktılar üretmesi,
eğitimin hedeflenen davranışı (müfredat bilgisini seviyeye uygun anlatma) kazandırdığını
gösterir. Test seti küçüktür (v1); veri seti büyüdükçe benchmark da genişletilecektir.
Özel Benchmark Sonuçları
Model, kendi senaryoma özel hazırladığım 101 soruluk benchmark ile
5 farklı modelde değerlendirildi. Sorular MEB ortaokul müfredatı konularına dayanır;
bir kısmı eğitim verisinden ayrılan test dilimi, bir kısmı bu benchmark için özel
hazırlanmış (en az 11'i elle yazılmış) yeni sorulardır. Hiçbiri eğitimde kullanılmadı.
Ölçüm, modelin cevabı ile referans cevap arasındaki anlamsal benzerliktir (0-1).
| Model | Ortalama | Medyan | Min | Maks |
|---|
| fine-tuned (benim) | 0.7559 | 0.7653 | 0.4114 | 0.9523 |
| gemma-3-4b-it (base) | 0.7502 | 0.7578 | 0.5323 | 0.9377 |
| gemma-2-2b | 0.7124 | 0.7477 | 0.0151 | 0.9381 |
| Llama-3.2-3B | 0.6901 | 0.7315 | 0.1533 | 0.9241 |
| Qwen2.5-1.5B | 0.5253 | 0.5427 | 0.0586 | 0.848 |
Benchmark ayrıca bir veri seti olarak yayınlanmıştır:
nursimakgul/meb-ogrenci-chatbot-benchmark.
Not: Veri seti ve benchmark aktif olarak geliştirilmektedir; bu v1 sürümdür.