hoheyto/JokerCoder
175
1# Deney Günlüğü2 3Bu dosya, ana model card'da özetlenen kararların arkasındaki üç sistematik deneyi4detaylandırıyor. Amaç, "neden bu değeri seçtim" sorusuna kanıtla cevap vermek.5 6---7 8## Deney 1 — LoRA Hiperparametre Ablation'ı9 10**Soru:** LoRA `alpha/r` oranı ve epoch sayısı, çıktı kalitesini nasıl etkiliyor?11**Yöntem:** 146 örneklik küçük bir alt kümede, tek değişkeni sabit tutup diğerini12değiştirerek 7 ayrı koşu yapıldı (r=8 sabit, alpha ve epoch değiştirildi).13 14| Koşu | alpha | epoch | test_size | Final val loss | Not |15|---|---|---|---|---|---|16| 1 | 16 | 3 | 0.1 | 0.716 | — |17| 2 | 8 | 3 | 0.1 | 0.851 | En düşük alpha, en kötü sonuç |18| 3 | 16 | 3 | 0.1 | 0.709 | — |19| 4 | 32 | 3 | 0.1 | 0.573 | — |20| 5 | 64 | 5 | 0.3 | 0.419 | Sayısal olarak "en iyi" ama... |21| 6 | 64 | 5 | 0.3 | 0.030 | ...gerçek çıktı incelenince **overfitting** tespit edildi (ezberlenmiş, Türkçe akıcılığı bozuk) |22| 7 | 32 | 4 | 0.3 | 0.658 | Gerçek çıktı kontrolünde en dengeli sonuç — "optimum" olarak seçildi |23 24**Bulgu:** `alpha/r` oranı arttıkça (8→64) val loss düzenli düşüyor, ama en düşük loss25**en iyi model anlamına gelmiyor** — Koşu 6, sayısal olarak en iyi ama çıktı kontrolünde26en kötü çıktı. Bu, projedeki en önemli metodolojik derse dönüştü: **loss'a değil, gerçek27çıktıya güven.**28 29---30 31## Deney 2 — Generation (Decoding) Parametreleri32 33**Soru:** `temperature` ve `repetition_penalty`, kod açıklamalarının kalitesini nasıl34etkiliyor?35 36| Ayar | Sonuç |37|---|---|38| `repetition_penalty=1.3` , `temperature=0.0` (greedy) | **Tutarlı ve güvenilir** |39| `repetition_penalty=1.007` | Liste-benzeri tekrar kalıbına kayma ("bir X, bir Y, bir Z...") |40| `repetition_penalty=1.05` | Doğal olmayan sonuçlar|41| `temperature=0.65-0.75` (sampling) | Bazen daha "yaratıcı", ama **öngörülemez** — aynı kod, aynı ayarla farklı sonuçlar |42 43**Bulgu:** Üretim (deployment) için **tek seferlik yaratıcılıktan daha değerli. Örnekleme (sampling) arttıkça yaratıcı çıktıları kontrol etmek zorlaşıyor.**. `do_sample=False` + `repetition_penalty=1.03` final konfigürasyon olarak seçildi.44 45---46 47## Deney 3 — Base Model Karşılaştırması (En Kritik Bulgu)48 49**Soru:** Kod açıklamalarındaki tutarsız/bozuk Türkçe ("kelime salatası"), eğitim50verisinden mi yoksa base modelin kendi sınırlamasından mı kaynaklanıyor?51 52**Yöntem:** Kontrollü bir test — hem base (fine-tune edilmemiş) Qwen2.5-Coder-7B-Instruct53hem de Qwen3-8B'ye, kod'dan tamamen bağımsız, serbest bir Türkçe yaratıcı yazı görevi54verildi (`do_sample=False`, yani rastgelelik sıfır — sonuç tamamen modelin kendi55kapasitesini yansıtıyor).56 57| Model | Sonuç |58|---|---|59| Qwen2.5-Coder-7B-Instruct | Temel çekim hataları ("duydurdu" gibi yanlış ettirgen fiil), anlamsal kopukluklar |60| Qwen3-8B | Gramer olarak büyük ölçüde doğru, akıcı — hatalar var ama çok daha az ve daha hafif |61 62**Bulgu:** Sorun veri değil, **base modeldi**. Bu, önceki iki deneyde (hiperparametre,63generation ayarı) çözülemeyen bir sorunun kök nedenini ortaya çıkardı — ve projeyi64Qwen3-8B'ye geçişe yönlendirdi. Bu geçiş sonrası, aynı held-out test setinde teknik65hata ve halüsinasyon oranı büyük ölçüde düştü (bkz. ana model card, "Değerlendirme").66 67---68 69## Genel Ders70 71Üç deneyin ortak noktası: **her birinde ilk hipotez yanlış çıktı, ikinci bir kontrollü72test asıl kök nedeni ortaya çıkardı.** Loss düşüklüğü → iyi model değildi. Yasaklı73kelime listesi → kalıcı çözüm değildi. Hiperparametre ayarı → asıl sorunu (base model)74çözemedi. Her seferinde, "bir parametreyi değiştir, sonucu gözlemle" yerine "değişkeni75izole et, kontrollü test yap" yaklaşımı asıl cevabı verdi.76 