2024 başlarında Albert Gu ve Tri Dao’nun yayımladığı Mamba makalesi, dil modeli araştırma camiasında gerçek bir kırılma yarattı. Çünkü iddia yalındı: dikkat mekanizması olmadan da dil modellemesi yapılabilir. Hem daha hızlı, hem daha az bellekle. Bu yazı Mamba’nın temelindeki State Space Model (SSM) matematiğini, transformer’dan farkını ve hangi koşullarda doğru tercih olduğunu açıklıyor.
Transformer’ın Darboğazı
Bugün kullanılan büyük dil modellerinin neredeyse tamamı transformer mimarisine dayanıyor. Transformer’ın gücü, dizideki her token’ın diğer tüm token’larla ilişkisini aynı anda hesaplamasından geliyor; buna “tam dikkat” (full self-attention) deniyor.
Ama bu gücün bir bedeli var. Dizi uzunluğu n iken dikkat matrisinin hesaplama karmaşıklığı O(n²) büyüyor. 10 kat uzun dizi, 100 kat fazla işlem anlamına geliyor. Bellek de aynı oranda artıyor. Uzun bağlam modelleri bu sorunu kısmen çözüyor ama temel mimari engel ortadan kalkmıyor.
Flash Attention gibi kernel-level optimizasyonlar pratikte hatırı sayılır kazanımlar getirdi. Yine de dikkat matrisini hesaplamak ya da saklamak, üstel ölçeklenme problemini ortadan kaldırmıyor; sadece sabitini küçültüyor.
Uzun belgeler, uzun konuşmalar, genomik diziler, ses sinyalleri gibi alanlarda bu darboğaz ciddi bir kısıt. SSM’ler tam da bu kısıtı aşmayı hedefleyen bir sinyal işleme çerçevesinden geliyor.
State Space Model Temelleri
State Space Model, kontrol teorisinden gelen bir formülasyon. Temel fikir: bir girdiye (input) verilen yanıtı, doğrudan hesaplamak yerine gizli bir “durum” (state) üzerinden aktarmak. Sistemin tüm geçmişi bu gizli durumda özetleniyor.
Sürekli zamanda SSM şu şekilde yazılır:
h'(t) = A·h(t) + B·x(t)
y(t) = C·h(t) + D·x(t)
Burada:
x(t)girdi sinyalih(t)gizli durum (hidden state)y(t)çıktıA, B, C, Döğrenilen parametre matrisleri
Dikkat edin, buradaki h(t) bir RNN’deki gizli duruma benzer ama sürekli-zaman formülasyonu farklı stabilizasyon ve öğrenme özelliklerine yol açıyor.
Ayrık Zamana Geçiş
Nöral ağ eğitimi ayrık adımlarla çalıştığı için bu denklemler bir adım boyutu Δ ile ayrıklaştırılıyor. Zero-order hold (ZOH) yöntemiyle:
Ā = exp(Δ·A)
B̄ = (Δ·A)⁻¹·(exp(Δ·A) - I)·Δ·B
Ayrıklaştırılmış formülde her adım şöyle yazılıyor:
hₜ = Ā·hₜ₋₁ + B̄·xₜ
yₜ = C·hₜ
Bu iki formülasyon birbiriyle eşdeğer. Birini recurrent (adım adım) mod, diğerini konvolüsyon (paralel) mod olarak kullanmak mümkün. Eğitimde paralel mod verimli; çıkarımda recurrent mod daha az bellek istiyor.
S4 ve Öncülü
Mamba’dan önce Gu ve arkadaşlarının 2022’de önerdiği S4 (Structured State Spaces for Sequences) mimarisi, A matrisini diagonal-plus-low-rank yapıya kısıtlayarak hem verimli hem de uzun aralıklı bağımlılıkları öğrenebilen bir SSM elde etti. S4, uzun dizi görevlerinde (PathX, Long Range Arena) o döneme kadar kimsenin yapamadığı başarıları gösterdi. H3 ve Hyena modelleri de bu çizgide ilerledi.
Ne var ki bu modellerin input’tan bağımsız, sabit parametreleri vardı; yani sistemin dinamikleri gelen veriye göre değişmiyordu. “Doğal dilde hangi bilgi önemli?” sorusu bağlama göre değişir: “elma” kelimesinin önemi önceki cümlede meyve mi yoksa teknoloji şirketinden mi söz edildiğine bağlıdır. Sabit parametreli bir SSM bu ayrımı yapamaz, dikkat matrisinin tokenler arası ilişkiyi dinamik hesaplaması gibi davranamaz. Bu kısıt dil modellemesindeki esnek bağımlılıkları yakalamayı güçleştirdi ve SSM’leri transformer’a rakip olmaktan uzak tuttu.
Mamba’nın Yeniliği: Selective SSM
Mamba’yı S4’ten ayıran temel fark: parametreleri girdiye bağımlı (input-dependent) kılmak. Buna Selective State Space mekanizması deniyor.
Klasik SSM’de B, C, Δ sabitti. Mamba’da bu değerler her token için ayrı ayrı ağdan üretiliyor:
Bₜ = Linear_B(xₜ)
Cₜ = Linear_C(xₜ)
Δₜ = softplus(Linear_Δ(xₜ))
Basit görünüyor ama etkisi büyük. Artık model hangi bilgiyi gizli duruma yazacağına, hangisini görmezden geleceğine ve ne kadar süre tutacağına her adımda karar verebiliyor. Bu, transformer’ın token bazlı dikkat hesaplamasına işlevsel açıdan benzer, ama O(n) karmaşıklıkla gerçekleşiyor.
Paralel Tarama Algoritması
Selectivity getirince S4’ün saf konvolüsyon formülasyonu çalışmıyor. Her adımın parametresi farklı, dolayısıyla global konvolüsyon kernel’ı hesaplanamıyor.
Mamba bu sorunu paralel önek taraması (parallel prefix scan) ile çözüyor. Donanım paralel hesaplamaya çok uygun olan bu algoritma, sıralı bağımlılıkları O(log n) derinlikte paralel adımlarla çözüyor. Bu da GPU üzerinde eğitimi neredeyse transformer kadar verimli kılıyor.
Çekirdek düzeyinde (kernel-level) flaş bellek optimizasyonuyla birleşince Mamba eğitim hızında transformer’ın yalnızca %20-30 gerisinde kalıyor; bunun karşılığında çıkarımda ciddi kazanımlar elde ediyor.
Karmaşıklık Karşılaştırması
| Özellik | Transformer | Mamba (SSM) |
|---|---|---|
| Eğitim karmaşıklığı | O(n²) | O(n) |
| Bellek (eğitim) | O(n²) | O(n) |
| Çıkarım (autoregressive) | O(n) × KV-cache | O(1) × sabit durum |
| Bağlam penceresi | Uzatılabilir (maliyetli) | Sınırsız (recurrent) |
| Paralel eğitim | Tam paralel | Paralel tarama |
Çıkarım tarafında fark en çarpıcı: transformer, önceki token’ların key-value önbelleğini saklamak zorunda. Bu önbellek dizi uzandıkça lineer büyüyor. Mamba ise sabit boyutlu gizli durumu güncelliyor; bellek kullanımı dizi uzunluğundan bağımsız. Gerçek zamanlı akış (streaming) ve sonsuz bağlam gerektiren görevlerde bu avantaj pratik bir fark yaratıyor.
Karakter başına çıkarım hızında Mamba, transformer’a kıyasla 5× yakınına kadar hızlanma gösterebilir; bu fark özellikle uzun dizilerde belirginleşiyor.
Mamba-2 ve Güncel Gelişmeler
2024 sonunda Gu ve Dao Mamba-2’yi yayımladı. Buradaki temel katkı State Space Duality (SSD) teoremi: belirli koşullar altında SSM formülasyonunun sınırlı dikkat penceresine sahip bir dikkat mekanizmasıyla matematiksel olarak eşdeğer olduğunu gösteriyor.
Bu denklik, SSM katmanlarının dikkat katmanlarıyla değiştirilebilir olduğunu matematiksel olarak göstererek hibrit mimarilerin önünü açtı.
Hibrit Modeller: Jamba, FalconMamba, Zamba
Saf Mamba mimarisinin keşfinden kısa süre sonra hibrit yaklaşımlar gündeme geldi. En dikkate değeri Jamba: AI21 Labs’ın geliştirdiği, Mamba SSM katmanlarını transformer dikkat katmanlarıyla ve Mixture of Experts (MoE) bloklarıyla birleştiren model.
Jamba’nın 52 milyar parametre içerip aktif olarak 12 milyar kullanması, MoE’nin seyreltme mantığıyla SSM’nin hız avantajını aynı anda almanın mümkün olduğunu gösterdi. 256K token bağlam penceresi, saf transformer’da çok daha yüksek kaynaklarla karşılanır.
FalconMamba (TII), transformer katmanı içermeksizin tamamen SSM tabanlı bir 7B model. Zamba ise Zyphra’nın Mamba-dikkat hibrit mimarisi, özellikle küçük-model verimliliğinde rekabetçi sonuçlar verdi.
Bu modeller birlikte SSM’nin sadece akademik bir rakip değil, üretimde kullanılabilir bir seçenek olduğunu ortaya koydu.
Pratik Kullanım: Ne Zaman Mamba?
SSM mimarisi her göreve eşit oranda uygun değil.
Genomik, ses sinyali ve uzun belgeler gibi dizi uzunluğunun belirleyici olduğu görevlerde O(n) karmaşıklık doğrudan bir avantaj. Aklını yürüten modeller gibi test-time compute ağır işlerde de uzun bağlamı sabit bellekle işlemek rekabetçi bir konum kazandırıyor. Gömülü cihazlarda ve IoT ortamlarında transformer’ın büyüyen KV önbelleği yönetilemez hale gelirken Mamba’nın sabit boyutlu gizli durumu sabit kalıyor. Gerçek zamanlı ses transkripsiyon veya canlı çeviri gibi sürekli akış görevlerinde recurrent mod her token’ı aynı maliyetle işliyor.
Transformer ise recall-yoğun görevlerde hâlâ önde. Bağlamın rastgele bir noktasındaki bilgiyi doğrudan çekmek gerektiğinde tam dikkat matrisi, sıkıştırmalı gizli durumun aksine hiçbir şeyi kaçırmıyor. Az örnekle yeni görev yapısını kavramak (in-context learning) da transformer’ın güçlü tarafı; Mamba varyantlarının bu alandaki performansı henüz transformer’a yaklaşmadı. Kısa ve orta dizilerde ise fark pratikte anlamlı olmadığından transformer’ın oturmuş ekosistemi ve pretrained ağırlıkları tartışmasız avantaj sağlıyor.
Sınırlılıklar ve Açık Sorular
Mamba ailesi güçlü ama bazı sorular yanıtsız kalıyor.
In-context learning zayıflığı: Birkaç örnekle yeni görev yapısını kavramakta transformer kadar hızlı öğrenemiyor. Bunun gizli durum sıkıştırmasından mı yoksa eğitim pratiklerinden mi kaynaklandığı hâlâ araştırılıyor.
Recall-intensive benchmark’lar: RULER, Needle-in-a-Haystack gibi derin bağlam erişim testlerinde saf Mamba modelleri transformer tabanlı rakiplerin gerisinde kalabiliyor. Hibrit modeller bu açığı kısmen kapatıyor.
Eğitim stabilitesi: Büyük ölçekte Mamba eğitimi, transformer’a kıyasla daha fazla mühendislik gerektiriyor. Özellikle A matrisinin negatif gerçek kısımda kalmasını zorlayan stabilizasyon kritik; bu olmadan durum patlar ya da yok oluyor.
Pretrained model ekosistemi: HuggingFace, transformer için zengin bir ekosisteme sahip. Mamba modelleri için bu kütüphane derinliğine henüz ulaşılmadı.
Teorik anlayış boşlukları: SSD teoremi belirli koşullarda SSM-dikkat denkliğini kanıtlıyor ama genel öğrenme dinamikleri iki mimari arasında hâlâ farklı. Hangi görevde hangisi neden iyi yaptığına dair sistematik bir anlayış eksik. Bu belirsizlik araştırmacıları hibrit mimarilere itiyor; hem SSM hem dikkat katmanı kullanıp hangisinin ne öğrendiğini ablasyon çalışmalarıyla çözmeye çalışıyorlar.
Nasıl Denerim?
Mamba’yı yerel ortamda çalıştırmanın en hızlı yolu resmi PyPI paketi:
pip install mamba-ssm causal-conv1d
CUDA zorunlu; CPU-only ortamlarda çalışmıyor. Temel metin üretimi için:
import torch
from mamba_ssm.models.mixer_seq_simple import MambaLMHeadModel
from transformers import AutoTokenizer
model_name = "state-spaces/mamba-2.8b"
model = MambaLMHeadModel.from_pretrained(model_name, device="cuda", dtype=torch.float16)
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-neox-20b")
input_ids = tokenizer("Türkiye'nin başkenti", return_tensors="pt").input_ids.to("cuda")
output = model.generate(input_ids, max_length=100)
print(tokenizer.decode(output[0]))
HuggingFace’te birkaç hazır checkpoint mevcut:
state-spaces/mamba-130m: 130M parametre, giriş deneyleri içinstate-spaces/mamba-1.4b: 1.4B parametre, karşılaştırma testlerinde yaygınstate-spaces/mamba-2.8b: 2.8B parametre, en iyi dil modelleme sonuçları
transformers kütüphanesi 4.39 itibarıyla MambaConfig ve MambaForCausalLM destekliyor. Resmi mamba-ssm paketi gerekmeden standart HuggingFace arayüzüyle model yüklenebiliyor:
from transformers import MambaForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("state-spaces/mamba-130m-hf")
model = MambaForCausalLM.from_pretrained("state-spaces/mamba-130m-hf")
Mamba-2 varyantları için mamba2-ssm ek paketi gerekiyor. Jamba’yı denemek isteyenler ai21labs/Jamba-v0.1 checkpoint’ini HuggingFace üzerinden doğrudan yükleyebilir; standart transformers arayüzüyle çalışıyor, ek paket gerektirmiyor.
GPU bütçesi kısıtlıysa 130M model NVIDIA T4’te (Colab ücretsiz tier) rahatça çalışıyor. 2.8B model için minimum 16GB VRAM öneriyor, float16 yüklemeyle 14GB’a sığıyor.
Mamba’nın Yeri Nereye Oturacak?
Transformer’ın tamamen yerini alıp almayacağı henüz belli değil. Büyük ölçekli dil modellemesinde transformer hâlâ tartışmasız lider. Ama uzun dizi görevlerinde, bellek kısıtlı ortamlarda ve sürekli akış gerektiren sistemlerde Mamba ciddi bir alternatif.
Jamba, FalconMamba ve Zamba gibi hibrit mimariler her iki tarafın güçlü yanını aynı anda almaya çalışıyor. Bu çizgi büyüme eğiliminde. Mamba’yı anlamak, sonraki nesil mimari tartışmalarını takip edebilmek için gerçek bir ön koşul.
İlgili Okumalar:
- Transformer Mimarisi Nedir?: Mamba’nın yerini almaya çalıştığı mimari
- Long Context LLM Nedir?: Uzun dizi sorununa alternatif yaklaşımlar
- Mixture of Experts (MoE) Nedir?: Jamba’nın MoE bileşeni
- Flash Attention Nedir?: Transformer tarafındaki bellek optimizasyonu



