Upload README.md
Browse files
README.md
CHANGED
@@ -1,22 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
-
|
6 |
-
-
|
7 |
-
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
12 |
---
|
13 |
|
14 |
-
|
|
|
|
|
|
|
|
|
15 |
|
16 |
-
|
17 |
-
- **License:** apache-2.0
|
18 |
-
- **Finetuned from model :** unsloth/qwen2.5-coder-3b-instruct-bnb-4bit
|
19 |
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
-
|
|
|
1 |
+
# 🦋 Qwen2.5-3B-Flutter — Türkçe Flutter Kod Anlama ve Üretme Modeli
|
2 |
+
|
3 |
+

|
4 |
+
|
5 |
+
> 🚀 Fine-tuned by [NoirZangetsu](https://huggingface.co/NoirZangetsu) using [Unsloth](https://github.com/unslothai/unsloth) and 🤗 Hugging Face TRL library.
|
6 |
+
> 💡 Amacı: Türkçe yazılmış Flutter soru-cevap verisiyle eğitilmiş, kod üretme ve anlama görevlerinde özelleştirilmiş bir Qwen2.5 3B modeli.
|
7 |
+
|
8 |
+
---
|
9 |
+
|
10 |
+
## 🧠 Model Bilgileri
|
11 |
+
|
12 |
+
| Özellik | Detay |
|
13 |
+
|------------------------|-------------------------------------------------------------------|
|
14 |
+
| Model | `Qwen2.5-3B` (Unsloth optimized, 4-bit) |
|
15 |
+
| Parametre Sayısı | 3.09B |
|
16 |
+
| Eğitim Kitaplığı | `Unsloth`, `Hugging Face Transformers`, `TRL` |
|
17 |
+
| Lisans | `Apache 2.0` |
|
18 |
+
| Donanım | GTX 1650 Mobile (4GB VRAM), 16GB RAM |
|
19 |
+
| Eğitim Süresi | ~1.5 saat (QLoRA ile 4-bit hızlı fine-tune) |
|
20 |
+
| Dataset Boyutu | `990 örnek` (csv formatında) |
|
21 |
+
| Dataset Türü | Kodlama / Soru-Cevap (Türkçe, Flutter özelinde) |
|
22 |
+
|
23 |
+
---
|
24 |
+
|
25 |
+
## 📚 Kullanılan Veri Seti
|
26 |
+
|
27 |
+
Model, Flutter ile ilgili Türkçe yazılmış soru ve cevaplardan oluşan özel bir veri seti ile eğitildi:
|
28 |
+
|
29 |
+
**Veri Kümesi Adı:** `flutter_code_with_questions_990.csv`
|
30 |
+
**İçerik Özeti:**
|
31 |
+
|
32 |
+
- Türkçe yazılmış Flutter ile ilgili teknik sorular
|
33 |
+
- Kod blokları, açıklamalar ve çözüm adımları
|
34 |
+
- Türk yazılımcılar için lokal bağlamda anlamlı içerikler
|
35 |
+
|
36 |
+
---
|
37 |
+
|
38 |
+
## 📊 Performans Karşılaştırması
|
39 |
+
|
40 |
+
Aşağıdaki grafik, modelin 3 farklı metrik üzerinden kıyaslamasını gösterir:
|
41 |
+
|
42 |
+
| Model | BLEU | ROUGE-L | METEOR |
|
43 |
+
|-------|------|----------|--------|
|
44 |
+
| **Qwen2.5-3B-Flutter** | **0.06** | **0.14** | **0.14** |
|
45 |
+
| Qwen2.5-Coder-3B-Instruct | 0.01 | 0.09 | 0.05 |
|
46 |
+
|
47 |
+
### 🔍 Yorum:
|
48 |
+
Flutter'a özel veri ile fine-tune edilen model, özellikle `ROUGE-L` ve `METEOR` skorlarında ciddi bir iyileşme göstermiştir. Bu da modelin hem semantik benzerliği hem de anlamlı parça üretimi konusunda daha başarılı olduğunu gösteriyor.
|
49 |
+
|
50 |
+
---
|
51 |
+
|
52 |
+
## 🛠️ Kullanım
|
53 |
+
|
54 |
+
```python
|
55 |
+
from transformers import AutoTokenizer, AutoModelForCausalLM
|
56 |
+
|
57 |
+
model = AutoModelForCausalLM.from_pretrained("NoirZangetsu/Qwen2.5-3B-Flutter", device_map="auto")
|
58 |
+
tokenizer = AutoTokenizer.from_pretrained("NoirZangetsu/Qwen2.5-3B-Flutter")
|
59 |
+
|
60 |
+
prompt = "Flutter'da bir StatefulWidget nasıl tanımlanır?"
|
61 |
+
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
|
62 |
+
outputs = model.generate(**inputs, max_new_tokens=256)
|
63 |
+
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|
64 |
+
```
|
65 |
+
|
66 |
+
---
|
67 |
+
|
68 |
+
## 🧪 Değerlendirme Metodolojisi
|
69 |
+
|
70 |
+
Model aşağıdaki metrikler kullanılarak değerlendirildi:
|
71 |
+
|
72 |
+
- **BLEU:** Cümle düzeyinde n-gram eşleşmeleri
|
73 |
+
- **ROUGE-L:** En uzun ortak alt dizi üzerinden ölçüm
|
74 |
+
- **METEOR:** Levenshtein benzerliği + semantik eşleşmeler
|
75 |
+
|
76 |
---
|
77 |
+
|
78 |
+
## 📌 Ekstra Notlar
|
79 |
+
|
80 |
+
- Model 4-bit formatta fine-tune edilmiştir. Bellek kullanımı açısından son derece verimlidir.
|
81 |
+
- Eğitim verisi küçük ama yüksek kaliteli olduğundan, model transfer öğrenme açısından efektif sonuç vermiştir.
|
82 |
+
- Daha büyük veri setleri ile yeniden fine-tune edilerek çok daha iyi skorlar elde edilebilir.
|
83 |
+
|
84 |
+
---
|
85 |
+
|
86 |
+
## 🧠 Gelecek Planları
|
87 |
+
|
88 |
+
- Daha büyük veri setiyle tekrar fine-tune
|
89 |
+
- Türkçe test benchmark setleriyle karşılaştırmalı analiz
|
90 |
+
- Web arayüzü üzerinden demo yayını
|
91 |
+
|
92 |
---
|
93 |
|
94 |
+
## 🤝 Katkıda Bulunmak
|
95 |
+
|
96 |
+
Modeli test ettiyseniz, çıktı örneklerini veya önerilerinizi paylaşarak gelişime katkı sunabilirsiniz. 🙌
|
97 |
+
|
98 |
+
---
|
99 |
|
100 |
+
## 📤 Citation
|
|
|
|
|
101 |
|
102 |
+
```bibtex
|
103 |
+
@misc{qwen25flutter2025,
|
104 |
+
title={Qwen2.5-3B-Flutter: Türkçe Flutter Kod Anlama ve Üretme Modeli},
|
105 |
+
author={NoirZangetsu},
|
106 |
+
year={2025},
|
107 |
+
howpublished={\url{https://huggingface.co/NoirZangetsu/Qwen2.5-3B-Flutter}},
|
108 |
+
}
|
109 |
+
```
|
110 |
|
111 |
+
---
|