| # ============================================================================= | |
| # 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 | |