Sıfırdan eğitilmiş, 1.28 milyar parametreli, açık kaynak Türkçe dil modeli.
$60 bütçe, tek kişi, bir hafta. Tokenizer eğitiminden GGUF export'a kadar tüm pipeline açık kaynak.
Parametre
1.28B (1,283,887,360)
Mimari
Decoder-only Transformer (Llama-style)
Eğitim verisi
1B token, %100 Türkçe
Kaynaklar
mC4-TR + FineWeb-2-TR + Wikipedia-TR
Tokenizer
SentencePiece BPE, 32K vocab
Türkçe token verimliliği
4.5 chr/tok (Llama-2 TR: ~7.8, 1.7× verimli)
Pre-training
A100 80GB, ~75 saat, val_loss 4.80
SFT
LoRA r=16, ~4K instruction, val_loss 3.65
Maliyet
~$60 (Colab Pro+)
Bu Model Ne Yapar / Ne Yapamaz?
Yapabildiği:
Türkçe metin üretmek, cümle tamamlamak
Basit soru-cevap (%22 doğruluk)
Gramatikal olarak tutarlı Türkçe üretmek (%91)
Kısa tanımlar ve açıklamalar vermek
Yapamadığı:
Doğru factual bilgi vermek (tarihler, sayılar çoğunlukla yanlış)
Kod yazmak, matematik çözmek, mantık yürütmek
Uzun tutarlı metin üretmek (tekrar problemi)
İngilizce veya başka dilde çalışmak
Bu bir araştırma/eğitim projesidir. Production kullanımı için tasarlanmadı. LLM pipeline'ını öğrenmek ve Türkçe NLP araştırması için referans.
Benchmark Sonuçları
Metrik
Skor
Açıklama
QA Doğruluk
%22.2 (8/36)
Coğrafya, tarih, bilim, kültür, teknoloji soruları
Tekrar Skoru
0.204
0 = tekrar yok, 1 = tamamen tekrar
Tutarlılık
%90.6
Gramatikal doğruluk ve anlam bütünlüğü
Perplexity
37.7
Dil modelleme kalitesi (düşük = iyi)
Kategori detayı: Dil %100, Teknoloji %50, Kültür %17, Coğrafya %12, Tarih %12, Bilim %12.
Neden bu kadar düşük? 1B token ile eğitildi. Karşılaştırma: Hamza-xlarge (aynı boyut) 300B token, Llama-3 15T token kullandı. 300× daha az veriyle eğitilmiş bir modelden bu sonuçlar beklenen.
Kullanım
PyTorch ile (bu repo'nun model.py'si gerekir)
python
1import torch
2import sentencepiece as spm
3from model import Papagan, PapaganConfig
4from lora import apply_lora
56device = torch.device("mps")# veya "cuda" veya "cpu"7config = PapaganConfig()8model = Papagan(config)910# Checkpoint yükle11ckpt = torch.load("model.safetensors", map_location="cpu")12state = ckpt.get("model", ckpt)1314# LoRA varsa uygula15ifany("lora_"in k for k in state.keys()):16 model = apply_lora(model)1718model.load_state_dict(state, strict=False)19model = model.to(device).eval()2021# Tokenizer22sp = spm.SentencePieceProcessor()23sp.Load("tokenizer.model")2425# Soru sor26prompt ="Yapay zeka nedir?"27ids =[sp.bos_id(),17]+ sp.Encode(prompt)+[18]# 17=user, 18=assistant28ids_t = torch.tensor([ids], device=device)2930with torch.no_grad():31 output = model.generate(ids_t, max_new_tokens=100, temperature=0.7, top_k=40)3233print(sp.Decode(output[0].tolist()))
SFT'de LoRA kullanıldı: sadece 6.3M parametre (%0.49) eğitildi. Loss masking ile sadece assistant cevabı üzerinde loss hesaplandı.
Dosyalar
Dosya
Boyut
Açıklama
model.safetensors
4.95 GB
SFT modeli (LoRA merged, float32)
papagan-1.3b-f16.gguf
5.13 GB
GGUF format (llama.cpp uyumlu)
tokenizer.model
781 KB
SentencePiece BPE tokenizer
config.json
0.4 KB
Model konfigürasyonu
tokenizer_config.json
0.2 KB
Tokenizer metadata
Sınırlamalar ve Riskler
Factual doğruluk düşük: Tarih, bilim, coğrafya sorularında çoğunlukla yanlış cevap verir
Halüsinasyon: Gerçek olmayan bilgi üretebilir
Güvenlik eğitimi yok: RLHF/DPO yapılmadı, zararlı içerik filtreleme yok
Bias: Eğitim verisindeki önyargıları yansıtabilir
Tekrar: Uzun çıktılarda kelime/cümle tekrarı oluşabilir
Sadece Türkçe: Başka dilleri desteklemez
Bu model research/educational amaçlıdır. Kritik kararlar için kullanılmamalıdır.
Alıntılama
bibtex
1@misc{papagan2026,
2 title={Papağan 1.3B: A Turkish Language Model Trained from Scratch},
3 author={Ercan Holasoglu},
4 year={2026},
5 url={https://github.com/ercanholasoglu/papagan}
6}
Kaynak Kod
Tüm eğitim pipeline'ı (tokenizer eğitimi, veri hazırlama, pre-training, SFT, benchmark, conversion) açık kaynak: