# ============================================================================= # SmartCore V1 — 180M Mamba-3 (SISO) + GQA 5:1 hibrit, EN+TR # Kilitlendi: 2026-06-04, kod/hybrid_mamba3.py ile CPU'da doğrulandı. # # Referans iskelet: hrsvrn/mamba3-180m (Mamba-3 SISO) — ama: # - vocab 128256 -> 48000 (EN+TR; embed 98.5M -> 36.9M) # - kurtulan bütçe derinliğe: 12 -> 20 katman # - + GQA 5:1 hibrit (saf Mamba değil) # # Param-sayım (kod/hybrid_mamba3.py, minimal mixer + GQA + SwiGLU-1500): # n_layer=20 -> 175.5M (17 Mamba + 3 GQA) <- v1 seçimi (180M bandı, marjlı) # n_layer=21 -> 182.8M (18 Mamba + 3 GQA) <- 180M'e daha yakın alternatif # embed (tied) = 48000 x 768 = 36.9M # init loss ~= ln(48000) = 10.78 (doğrulandı: 10.89) # NOT: kesin sayım Colab'da fork (mamba-og) mixer'ıyla ±birkaç M oynar. # ============================================================================= run: name: smartcore_v1_180m_entr seed: 42 save_every: 1900 # ~her 1B token (batch 524288) model: arch: mamba3 n_layers: 20 # 17 Mamba + 3 GQA (alt: 21 -> 182.8M) d_model: 768 d_state: 128 # Mamba-3 paper default expand: 2 head_dim: 64 ngroups: 1 d_intermediate: 1500 # SwiGLU; referans 180M ile aynı vocab_size: 48000 # EN+TR SentencePiece (Faz 0'da eğitilecek) pad_vocab_multiple: 8 tie_embeddings: true rms_norm: true residual_in_fp32: true fused_add_norm: true norm_epsilon: 1.0e-5 initializer_range: 0.02 architecture: exponential_trapezoidal: true # Mamba-3 complex_ssm: true # Mamba-3 (state-tracking, data-dependent RoPE) rope_fraction: 0.5 bcnorm: true # baseline (norm-free ablasyonları sonraya) bc_bias: true short_conv: false # Mamba-3 conv1d'yi kaldırıyor is_outproj_norm: false is_mimo: false # v1 = SISO (kanıtlanmış). v1.5'te true + mimo_rank=4 mimo_rank: 1 hybrid: # GQA yerleşimi (SmartCore eklentisi) attn_every: 6 # her 6. katman attention -> ~5:1 attn_layers: [5, 11, 17] # 0-indexli (1-indexli 6,12,18); ilk/son Mamba n_heads: 12 # 12 x 64 = 768 n_kv_heads: 3 # GQA 4:1 sıkıştırma qk_norm: true # RoPE'den önce rope_base: 10000.0 kernels: chunk_size: 128 # fork Triton SISO (Colab). minimal'de 64. use_triton_siso: true # Colab/CUDA; CPU smoke'ta saf-PyTorch # --- Kararlılık eklentileri (v2 kılavuzu) --- stability: scaled_embed: true # sqrt(d_model) gömme ölçekleme qk_norm: true fp32_rmsnorm: true z_loss: 1.0e-4 # opsiyonel sigorta optimizer: type: AdamW betas: [0.9, 0.95] eps: 1.0e-8 weight_decay: 0.1 # yalnız 2D ağırlıklara grad_clip: 1.0 fused: true lr: # WSD (referansta cosine; biz WSD) schedule: wsd # warmup -> stable -> decay -> floor peak: 5.0e-4 floor: 5.0e-5 # peak x 0.1 warmup_frac: 0.02 stable_frac: 0.73 decay_frac: 0.25 training: total_tokens: 12_000_000_000 # 10-15B bandı, orta batch_tokens: 524288 # 256 x 2048 (referansla aynı) seq_len: 2048 micro_batch_size: 4 precision: bf16 # A100; CPU smoke fp32 gradient_checkpointing: false # gerekirse 6'lı blok birimiyle aç data: # v2 sentezi mixture'ı mixture: en_fineweb_edu: 0.55 # HuggingFaceFW/fineweb-edu sample-10BT tr_fineweb2_hq: 0.22 # epfml/FineWeb2-HQ tur_Latn — hazır kaliteli code_codeparrot: 0.13 # codeparrot/codeparrot-clean (StarCoder2 gate'li → ikame) math_openwebmath: 0.10 # open-web-math (alt: HuggingFaceTB/finemath-4plus) curriculum: uniform_natural # TildeOpen: başta/sonda TR-ağırlık, ortada EN decay_mixture: # son %25 (anneal) — multi-source top-quartile en_edu_top: 0.35 tr_wiki: 0.25 math: 0.20 code_top: 0.20 # --- Yol (v2 sentezi) --- # v1 : bu config (SISO), sade hibrit # v1.5 : is_mimo=true mimo_rank=4 ; RHO-1 seçici loss ; TPT zenginleştirme # v2 : Titans-tarzı bellek dalı (3. blok tipi) + uzun bağlam