Dorina-V4 3B Crystal Base (144.7M) 🏛️
Dorina-V4 3B Crystal Base, sıfırdan (from scratch) saf PyTorch tensör mimarisiyle geliştirilmiş, 3.0 Milyar token müfredatını tamamlamış 144.7M parametreli açık kaynak Küçük Dil Modelidir (SLM).
Dual Tesla T4 DDP altyapısı üzerinde eğitilmiş; WSD (Warmup-Stable-Decay) protokolünün 20:1 kristalleşme fazından başarıyla geçirilmiştir.
📐 Model Mimarisi & Özellikler
- Parametre: 144,706,560 (~144.7M Dense Transformer)
- Kelime Dağarcığı (Vocab): 32,768 (Byte-Level BPE v4)
- Katman Sayısı: 16
- Hidden Dim ($d_{model}$): 768
- Attention Heads: 12 Query Heads
- KV Heads (GQA): 4 Heads (3:1 Grouped-Query Attention)
- MLP Hidden Dim: 2,560 (SwiGLU)
- Pozisyonel Kodlama: Rotary Position Embeddings (RoPE, $\theta = 10,000.0$)
- Normalizasyon: RMSNorm ($\epsilon = 1e-5$)
- Bağlam Uzunluğu: 2,048 tokens
- Eğitilen Token: 3.0 Milyar Token (FineWeb-Edu, Python Cleaned, FineWeb2-HQ Turkish, FineMath 3+)
- Final Pre-training Loss: ~1.46
🚀 Hızlı Kullanım (Inference)
import torch
from tokenizers import Tokenizer
from dorina_v4_architecture import DorinaDenseV4, DenseConfig
device = "cuda" if torch.cuda.is_available() else "cpu"
tokenizer = Tokenizer.from_file("dorina_tokenizer_v4_32k.json")
config = DenseConfig(vocab_size=32768, max_seq_len=2048)
model = DorinaDenseV4(config)
state_dict = torch.load("dorina_v4_3b_crystal_base.pt", map_location="cpu", weights_only=False)
if "model" in state_dict:
state_dict = state_dict["model"]
model.load_state_dict({k.replace("module.", ""): v for k, v in state_dict.items()})
model.to(device).eval()
prompt = "Türkiye Cumhuriyeti'nin başkenti"
input_ids = torch.tensor([tokenizer.encode(prompt).ids], device=device)
with torch.no_grad():
for _ in range(50):
logits, _ = model(input_ids)
next_tok = torch.argmax(logits[:, -1, :], dim=-1, keepdim=True)
input_ids = torch.cat([input_ids, next_tok], dim=1)
print(tokenizer.decode(input_ids[0].tolist()))