Erk-Linear
%20-lineer hibrit: Erk-14B'nin 40 dikkat katmanından 8'i, subquadratic bir lineer-dikkat mekanizmasına (Gated DeltaNet) damıtılmıştır. Kalan 32 katman softmax "çıpa" olarak korunur.
⚠️ Standart yükleme çalışmaz. Bu özel bir hibrit mimaridir (
model_type: erk-linear-hybrid);AutoModelForCausalLM,pipeline, vLLM ve SGLang doğrudan çalışmaz. Yüklemek için aşağıdaki özel loader (modeling_erk_linear.py) veflash-linear-attentiongerekir.
Kod, protokol, teknik rapor: github.com/ecloudtechnology/erk-linear · Temel model: Qwen3-14B
Konumlandırma
Bu, sıfırdan bir mimari değil, güçlü bir açık modelin üzerinde bir mimari araştırmasıdır: Türkçe bir dil modelinin dikkatinin ne kadarının, kaliteyi ölçülebilir biçimde bozmadan lineerleştirilebileceğini haritalayan bir çalışma. Sonuç, dört modern hibritin (Qwen3-Next, Kimi Linear, Jamba, Zamba) izlediği yolun muhafazakâr, kalite-öncelikli bir örneğidir.
Sonuçlar (oracle vs %20-hibrit, aynı iç protokol, paired bootstrap %95 GA)
| Değerlendirme | Erk (orijinal) | Erk-Linear | Fark | %95 GA |
|---|---|---|---|---|
| TurkishMMLU (held-out 750) ¹ | %68,8 | %68,1 | −0,7 | [−2,9 ; +1,7] |
| TurkMorfBench (morfoloji) | %54,3 | %53,3 | −1,0 | [−3,9 ; +2,0] |
| NIAH geri-çağırma (≤4K) | %100 | %100 | ±0 | — |
| Perplexity (@512/@2048) | 1,00× | 1,03× | +%3 | — |
İki benchmark'ta (MMLU, morfoloji) fark istatistiksel olarak anlamlı değildir.
¹ TurkishMMLU, ko-eğitim checkpoint seçiminde kullanılan 150 sorunun hariç tutulduğu held-out 750 üzerinde raporlanır (seçim sızıntısı yok); tam 900'de fark −0,3'tür. Ham soru-bazlı tahminler repoda.
Verimlilik: kısa-bağlam prefill'inde kazanç yoktur; uzun bağlamda KV-cache belleği azalır — 8 GDN katmanı sabit ~43 MB durum tuttuğu için net tasarruf bağlam uzadıkça %20'ye yaklaşır (4K'da −%14, 64K'da −%20 / ~2,1 GB; GDN durumu dahil ölçüldü). Ayrıntı: teknik rapor.
Kullanım
pip install torch transformers flash-linear-attention safetensors huggingface_hub
from modeling_erk_linear import load_erk_linear # depodaki dosya
model, tokenizer = load_erk_linear()
ids = tokenizer("Türkiye'nin başkenti", return_tensors="pt").to(model.device)
print(tokenizer.decode(model.generate(**ids, max_new_tokens=20)[0], skip_special_tokens=True))
Loader Erk-14B tabanını ve 8 katmanın Gated DeltaNet ağırlıklarını indirip hibridi kurar. GDN sarmalayıcısı cache'li üretimde (use_cache=True) recurrent + convolution durumunu adımlar arası devreder; model.generate() çıktısı tam-yeniden-hesaplamayla sayısal gürültüye kadar aynıdır. Adımlar: GitHub deposu.
Sınırlamalar
- %20 lineer — muhafazakâr, kalite-öncelikli bir orandır (kayıpsıza-yakın sınır ~%22; ötesi kapasite duvarına çarpar).
- TurkishMMLU checkpoint'i 150 MMLU-probe sorusuyla seçildi; sonuç bu sorular hariç held-out 750'de raporlanır.
- Değerlendirme iki benchmark + iki kontrolle sınırlıdır; ≥16K uzun-bağlam geri-çağırma ve decode hızı gelecek iştir.
- Referans loader tek-dizi kullanım içindir (eş zamanlı/batch servis ayrı durum yönetimi gerektirir).
- Erk, Qwen3-14B üzerine kuruludur.
Lisans
Apache-2.0 (kod). Ağırlıklar temel modelin lisansına tabidir.
- Downloads last month
- -