Tüm ölçümler tek bir NVIDIA A100 üzerinde, requirements.txt'teki sabitlenmiş sürümlerle yapılmıştır.
pip install torch==2.7.1 --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txtBetikler aşağıdaki göreli yolları bekler (depoda ağırlık/veri dosyaları yer almaz; boyut nedeniyle ayrı sağlanır):
| Yol | İçerik | Nasıl elde edilir |
|---|---|---|
./data/eval_tr.txt |
Türkçe düz metin (Wikipedia paragrafları); perplexite + ko-eğitim metni | Türkçe Wikipedia dökümünden paragraf ayıklama (satır başına bir paragraf) |
./data/turkmorfbench.json |
TurkMorfBench morfolojik üretim değerlendirmesi | Ayrı yayımlanır |
./gdn_init/L{li}.pt |
Katman-başı eğitimsiz damıtılmış GDN başlangıçları | 03_diagnostics.py üretir (kaydeder) |
./gdn_weights/L{li}.pt |
Yayımlanan %20 GDN ağırlıkları (ko-eğitilmiş) | 05_cotrain_mmlu_probe.py üretir; ayrıca HF'de gdn_weights.safetensors |
./gdn_alt/L{li}.pt |
%22,5 (9 katman) tavan konfigürasyonu | ko-eğitim, 9-katman set ile |
Temel model ecloudtech/Erk-14B (Qwen3-14B üzerine kurulu) Hugging Face'ten yüklenir.
python scripts/02_linearization_sweep.py # lineerleştirme degradasyon eğrisi (PPL)
python scripts/03_diagnostics.py # mekanizma tanısı; gdn_init/ üretir
python scripts/04_placement.py # yerleşim taraması (bitişik vs yayılmış)
python scripts/05_cotrain_mmlu_probe.py # KL-damıtma ko-eğitim; gdn_cotrain/ üretir
python scripts/06_eval_mmlu_ci.py # TurkishMMLU + paired bootstrap %95 GA
python scripts/07_eval_niah_prefill.py # NIAH geri-çağırma + prefill verimliliği
python scripts/08_eval_morphbench.py # TurkMorfBench
python scripts/09_kvcache_memory.py # KV-cache belleği (GDN sabit-durum dahil)results/raw_predictions.json — TurkishMMLU'nun her sorusu için oracle ve hibrit doğruluk dizileri (900), ko-eğitim seçiminde kullanılan probe_idx (150) ve özetler. Held-out (150 seçim sorusu hariç, 750) güven aralığı bu dizilerden paired bootstrap ile yeniden üretilebilir:
import json, numpy as np
d = json.load(open("results/raw_predictions.json"))
o = np.array(d["oracle_dogruluk"]); h = np.array(d["hibrit_dogruluk"])
probe = set(d["probe_idx_secimde_kullanilan"])
held = np.array([i for i in range(len(o)) if i not in probe])
rng = np.random.default_rng(0)
diffs = [h[held[rng.integers(0,len(held),len(held))]].mean() - o[held[rng.integers(0,len(held),len(held))]].mean() for _ in range(5000)]
print(f"held-out fark {100*(h[held].mean()-o[held].mean()):+.2f} GA95 [{100*np.percentile(diffs,2.5):.2f}, {100*np.percentile(diffs,97.5):.2f}]")
# -> held-out fark -0.67 GA95 [-2.93, 1.73]transformers 5.13, flash-linear-attention 0.5.1, PyTorch 2.7.1 (cu118), tek A100. Model ağırlıkları: huggingface.co/ecloudtech/Erk-Linear.