TanAi-turkish-20M
TanAI mimarisiyle sıfırdan eğitilmiş, 20M parametreli deneysel bir Türkçe dil modeli. Ethosoft/Turkish_corpus veri setinin streaming ile okunan ilk 75.000 örneği üzerinde 1 epoch eğitilmiştir.
Model Detayları
| Özellik | Değer |
|---|---|
| Parametre sayısı | 20.0M (19.998.720) |
| Mimari | TanAI (decoder-only Transformer, GPT benzeri) |
| Katman sayısı | 12 |
| Embedding boyutu | 128 |
| FFN genişliği | 16× |
| Dropout | 0.1 |
| Bağlam uzunluğu | 128 token |
| Vocab boyutu | 50.257 (GPT-2 tokenizer) |
| Eğitim verisi | Ethosoft/Turkish_corpus, ilk 75.000 örnek |
| Epoch | 1 |
| Optimizer | AdamW, lr 3e-4, warmup + cosine |
| Batch / blok boyutu | 24 / 128 |
| Precision | bf16 |
Kullanım
Model özel bir mimari kullandığı için trust_remote_code=True gerekir. İlk kullanımda
model kodu ve ağırlıklar otomatik olarak indirilir.
from transformers import AutoModelForCausalLM, AutoTokenizer
repo_id = "coderian/TanAi-turkish-20M"
tokenizer = AutoTokenizer.from_pretrained(repo_id)
model = AutoModelForCausalLM.from_pretrained(repo_id, trust_remote_code=True)
inputs = tokenizer("Türkiye'nin en kalabalık şehri", return_tensors="pt")
outputs = model.generate(
**inputs,
max_new_tokens=50,
do_sample=True,
top_k=50,
temperature=0.8,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
pipeline ile:
from transformers import pipeline
generator = pipeline("text-generation", model=repo_id, trust_remote_code=True)
print(generator("Bugün hava", max_new_tokens=30)[0]["generated_text"])
İndirme (isteğe bağlı, from_pretrained modeli zaten otomatik indirir):
huggingface-cli download coderian/TanAi-turkish-20M
Eğitim
- Veri,
streaming=Trueile okundu; ilk 75.000 örnek kullanıldı (ilk 1.000 örnek doğrulama için ayrıldı). - Tokenizer:
GPT2TokenizerFast; belgeler arasınaeostoken'ı eklendi. - Kayıp: token bazlı cross-entropy (causal language modeling).
- Hiperparametreler: 1 epoch, batch 24, blok 128, AdamW (lr 3e-4, weight decay 0.1), warmup + cosine LR, gradient clipping 1.0, dropout 0.1, bf16.
Sınırlamalar
- Küçük ölçekli ve deneysel bir modeldir; çıktılar tekrarlı veya anlamsız olabilir.
- Talimat takibi için eğitilmemiştir (instruction tuning yoktur).
- Bağlam uzunluğu 128 tokendır; prompt + üretilen token toplamı 128'i geçemez.
- Yalnızca Türkçe metin için eğitilmiştir.