File size: 5,638 Bytes
e9608ee
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
785fda8
 
 
 
 
 
 
 
e9608ee
 
 
a91c61b
 
 
 
 
e9608ee
a91c61b
e9608ee
a91c61b
 
 
 
 
 
 
 
e9608ee
 
a91c61b
 
 
e9608ee
a91c61b
e9608ee
 
 
a91c61b
 
 
 
 
 
 
 
e9608ee
 
a91c61b
 
 
 
 
 
 
e9608ee
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
---
license: apache-2.0
language:
  - tr
  - en
tags:
  - causal-lm
  - custom-architecture
  - turkish
  - code
  - from-scratch
pipeline_tag: text-generation
library_name: transformers
datasets:
  - uonlp/CulturaX
  - HuggingFaceTB/cosmopedia
  - roneneldan/TinyStories
  - nampdn-ai/tiny-textbooks
  - nampdn-ai/tiny-codes
  - ise-uiuc/Magicoder-Evol-Instruct-110K
  - theblackcat102/evol-codealpaca-v1
  - turkish-nlp-suite/InstrucTurca
---

# SykoLLM-V5.4

**SykoLLM**, modern dil modeli tasarım prensiplerinden (RoPE, RMSNorm, SwiGLU, GQA) ilham alınarak sıfırdan yazılmış özel bir mimariyle oluşturulmuş 233M parametreli bir nedensel dil modelidir. Türkçe, İngilizce ve kod içeren çok dilli bir veri karışımıyla eğitilmiştir.

---

## Model Detayları

| Özellik | Değer |
|---|---|
| **Mimari** | Syko (özel Llama-tarzı decoder) |
| **Parametre Sayısı** | 233,214,720 |
| **Gizli Boyut** | 768 |
| **Katman Sayısı** | 24 |
| **Dikkat Başlığı** | 6 |
| **Bağlam Uzunluğu** | 1024 token |
| **Kelime Hazinesi** | 32.000 (özel BPE) |
| **Eğitim Adımı** | 4.000 |
| **Son Loss** | ~2.0 |
| **Hassasiyet** | fp16 |
| **Lisans** | Apache 2.0 |

---

## Mimari Özellikleri

- **RMSNorm** — fp16 stabilitesi için varyans hesabı float32'de yapılır
- **RoPE** — float32 cos/sin hesaplamasıyla Döndürmalı Konum Kodlaması
- **SwiGLU** — kapılı MLP aktivasyonu (gate × up → down projeksiyonu)
- **GQA desteği**`num_key_value_heads` ile Gruplu Sorgu Dikkat mekanizması
- **Ön-norm** — her alt katmandan (dikkat + MLP) önce normalizasyon
- **Embedding scaling yok** — sqrt çarpımı olmadan temiz embedding
- **lm_head float32'de** — 768→32000 projeksiyonunda fp16 taşmasını önler

---

## Eğitim Verisi

Model, aşağıdaki veri setlerinin harmanlanmış karışımıyla eğitilmiştir:

| Veri Seti | Açıklama |
|---|---|
| `uonlp/CulturaX` (tr) | Türkçe web metni |
| `HuggingFaceTB/cosmopedia` | Sentetik eğitim içeriği |
| `roneneldan/TinyStories` | Kısa İngilizce hikayeler |
| `nampdn-ai/tiny-textbooks` | Sentetik ders kitabı içeriği |
| `nampdn-ai/tiny-codes` | Kod talimat çiftleri |
| `ise-uiuc/Magicoder-Evol-Instruct-110K` | Kod talimat verisi |
| `theblackcat102/evol-codealpaca-v1` | Kod talimat verisi |
| `turkish-nlp-suite/InstrucTurca` | Türkçe talimat çiftleri |

Veriler, düzgün karışım sağlamak amacıyla 10K'lık bloklar halinde karıştırılarak eğitime hazırlanmıştır.

---

## Tokenizer

Eğitim verisinin 100K örneği üzerinde eğitilmiş özel BPE tokenizer.

Özel tokenlar: `<pad>`, `<bos>`, `<eos>`, `<unk>`, `<user>`, `</user>`, `<assistant>`, `</assistant>`, `<think>`, `</think>`, `<code>`, `</code>`, `<tr>`, `<en>`

---

## Kurulum Öncesi Hazırlık

Syko mimarisi Transformers'a kayıtlı olmadığı için, modeli çalıştırmak kendi özel kütüphanemi indirmeniz gerekmektedir. Kütüphane şu:

`!pip install syko-llm`

---

## Kullanım

```python
# 1. Yeni sürümü zorla yükle (Eski sürümün önbellekte kalmasını önler)
# 1. Yeni sürümü zorla yükle ve uyumluluk için torchvision'ı dahil et
!pip install --upgrade syko-llm==0.3.4 transformers

import syko
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

# 2. Cihaz ayarı (GPU varsa GPU, yoksa CPU)
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Kullanılan cihaz: {device}")

# 3. Model ve Tokenizer'ı yükle
model_id = "SykoSLM/SykoLLM-V5.4"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.float32, device_map="cuda:0")
model.eval()

# 4. Prompt hazırlığı (Eğitim formatınla birebir aynı olmalı!)
prompt = "<bos><user>\nGökyüzü hangi renktir?</user>\n<assistant>\n"
inputs = tokenizer(prompt, return_tensors="pt").to(device)

# 5. Yeni nesil, stabilize edilmiş Generation ayarları
with torch.no_grad():
    outputs = model.generate(
        **inputs,
        max_new_tokens=512,           # Üretilecek maksimum token
        use_cache=False,               
        do_sample=True,               # Modelin farklı kelimeler seçmesine izin ver
        temperature=0.3,              # Yaratıcılık/Tutarlılık dengesi
        top_p=0.9,                    # Sadece en mantıklı %90'lık ihtimallerden seç
        repetition_penalty=1.17,      
        pad_token_id=tokenizer.pad_token_id,
        eos_token_id=tokenizer.eos_token_id,
    )

# 6. Çıktıyı decode et ve göster
# prompt'u dahil etmeden sadece yeni üretilen kısmı görmek istersen skip_special_tokens=True yapabilirsiniz
response = tokenizer.decode(outputs[0], skip_special_tokens=False)

print("\n--- MODEL ÇIKTISI ---")
print(response)
print("---------------------")
```

---

## Sınırlamalar

- 233M parametre nispeten küçük bir modeldir. Karmaşık çok adımlı akıl yürütme güvenilir olmayabilir.
- 4.000 adım eğitilmiştir — daha fazla eğitim tutarlılığı ve doğruluğu artırır.
- Özellikle bilgi yoğun sorularda yanlış bilgi üretebilir.
- Güvenlik için ince ayar yapılmamıştır — çıktılar filtresizdir.

---

## Eğitim Altyapısı

| Özellik | Değer |
|---|---|
| **Donanım** | 2× NVIDIA T4 (Kaggle) |
| **Framework** | PyTorch + HuggingFace Transformers |
| **Dağıtık Eğitim** | DDP (Accelerate) |
| **Optimizer** | AdamW |
| **Öğrenme Hızı** | 3e-4, cosine decay |
| **Batch Boyutu** | 6 cihaz başına × 10 gradient accumulation = efektif 120 |
| **Warmup** | 300 adım |

---

## Lisans

Apache 2.0 — detaylar için [LICENSE](LICENSE) dosyasına bakın.