State Space Models (SSM)
Durum uzayı modelleri (SSM), bir dizi boyunca sabit boyutlu bir gizli durumu taşır ve böylece dizileri doğrusal zamanda modeller. S4'ü, Mamba'yı ve hibrit modelleri ele alır.
Bir durum uzayı modeli (SSM), her adımda güncellediği gizli durum vektörü aracılığıyla bir girdi dizisini çıktı dizisine dönüştürür; bu nedenle dizi ne kadar uzarsa uzasın belleği aynı boyutta kalır. Bu fikir, doğrusal bir sistemin h' = Ah + Bx durum güncellemesi ve y = Ch + Dx çıktısı olarak yazıldığı ve Kalman filtresinin 1960'tan beri gürültülü ölçümlerden bu tür durumları tahmin ettiği kontrol kuramından gelir. Derin öğrenme SSM'leri A, B ve C'yi verilerden öğrenir ve bu katmanlardan birçok tane üst üste dizer. 2021'deki S4'ten ve 2023'teki Mamba'dan bu yana, hesaplama maliyetleri dizi uzunluğuyla doğrusal olarak artarken metin, ses ve zaman serisi verilerindeki uzun dizilerde Transformer'larla rekabet ediyorlar.
SSM'ler Nasıl Çalışır#
Bir sinir ağı SSM katmanı, sürekli denklemleri öğrenilmiş Δ adım boyutunu ve Ā = exp(ΔA) sıfırıncı dereceden tutma kuralını kullanarak ayrık bir özyinelemeye dönüştürür. Ardından her adımda h_t = Ā h_(t-1) + B̄ x_t ve y_t = C h_t hesaplanır. A, B ve C zaman adımları boyunca sabit kaldığında, özyinelemenin açılımı çıktının (CB̄, CĀB̄, C²B̄, ...) çekirdeğine sahip bir girdi evrişimi olduğunu gösterir. Bu nedenle aynı katman, eğitim sırasında GPU üzerinde dizinin tamamını paralel işleyen bir evrişim olarak; üretim sırasında ise belirteç başına sabit boyutlu tek bir durum güncellemesi yapan özyineleme olarak çalışabilir. PyTorch içinde bu iki görünüm aynı çıktıları verir:
import torch
torch.manual_seed(0)
L, N = 64, 16 # dizi uzunluğu, durum boyutu
x = torch.randn(L)
# Adım boyutu delta ile ayrıklaştırılmış köşegen sürekli zamanlı SSM (sıfırıncı dereceden tutma)
A = -(torch.rand(N) + 0.5)
B, C, delta = torch.randn(N), torch.randn(N), 0.1
A_bar = torch.exp(delta * A)
B_bar = (A_bar - 1) / A * B
# Özyinelemeli görünüm: üretimdeki gibi her adımda bir durum güncellemesi
h, y_rec = torch.zeros(N), []
for t in range(L):
h = A_bar * h + B_bar * x[t]
y_rec.append(C @ h)
y_rec = torch.stack(y_rec)
# Evrişimli görünüm: eğitimdeki gibi K_k = C . (A_bar^k * B_bar) çekirdeğini önceden hesapla
K = torch.stack([C @ (A_bar**k * B_bar) for k in range(L)])
y_conv = torch.stack([K[: t + 1].flip(0) @ x[: t + 1] for t in range(L)])
print("Same outputs:", torch.allclose(y_rec, y_conv, atol=1e-5))Same outputs: True yazdırır. Özyineleme, her adımda yalnızca 16 durum değerini tutarken önceden hesaplanan çekirdek, eğitimin 64 çıktının tamamını paralel hesaplamasını sağlar.
S4'ten Mamba'ya#
İlk derin SSM'ler, büyük ölçekte eğitim için fazla yavaş ve bellek açısından fazla maliyetliydi. Albert Gu, Karan Goel ve Christopher Ré'nin S4 modeli, evrişim çekirdeğinin hesaplanmasını ucuzlatan bir yapı ve uzun geçmişleri hatırlamak üzere tasarlanmış bir başlatma yöntemiyle durum matrisini geliştirdi. Long Range Arena kıyaslamasının her görevinde en ileri sonuçları elde etti, 16 bin adımlı dizilerden oluşan Path-X görevini çözen ilk model oldu ve bir Transformer'dan 60 kat daha hızlı üretim yaptı.
Sabit bir çekirdek her girdiyi aynı şekilde işlediğinden, dolgu metnini atlayıp önemli bir bilgiyi saklamaya karar veremez. Albert Gu ve Tri Dao'nun Mamba modeli, Δ, B ve C'yi geçerli belirtecin işlevleri hâline getirerek modelin durumuna ne yazacağına ve neleri unutacağına karar vermesini sağlar. Bu seçici parametreler evrişim görünümünü geçersiz kıldığından Mamba, özyinelemeyi donanım farkındalıklı bir paralel taramayla hesaplar. Mamba, Transformer'ların beş katı çıkarım verimine ulaştı; Mamba-3B aynı boyuttaki Transformer'ları geçti ve boyutunun iki katı Transformer'larla eşleşti. Her Mamba bloğu, seçici SSM'yi kısa bir evrişim ve bir SiLU kapısıyla çevreler:
Mamba-2, seçici SSM'lerin ve bir tür doğrusal dikkatin aynı hesaplamanın ikili görünümleri olduğunu gösterdi. Yazarların durum uzayı ikiliği adını verdiği bu çerçeve, temel katmanı 2 ila 8 kat hızlandırmak için kullanıldı.
SSM'ler ve İlgili Mimariler#
- Transformer'lar: Öz dikkat, her belirteci diğer tüm belirteçlerle karşılaştırır; bu sayede önceki herhangi bir belirteci tam olarak kopyalayabilir. Bunun maliyeti karesel olarak artar ve KV önbelleği de bağlam penceresi büyüdükçe büyür. SSM geçmişi sabit boyutlu bir duruma sıkıştırır; bu daha ucuzdur ama bilgi kaybettirir. 2024 tarihli Repeat After Me makalesi, Transformer'ların uzun girdilerden kopyalama ve bilgi getirme konusunda sabit durumlu SSM'lerden daha iyi olduğunu gösterdi.
- Yinelemeli sinir ağları (RNNs): Bir RNN veya LSTM, doğrusal olmayan bir güncelleme uygular; bu nedenle eğitimde dizinin belirteçleri tek tek işlenmelidir. SSM güncellemeleri durum üzerinde doğrusaldır; bu da evrişim veya paralel tarama kullanımını mümkün kılar.
- Gizli Markov modelleri (HMMs): Bir HMM, geçiş olasılıkları olan sonlu sayıda ayrık duruma sahiptir. Kalman filtresinin temelindeki doğrusal-Gauss durum uzayı modeli, bunun sürekli karşılığıdır; derin SSM'ler de bu sürekli durum vektörünü korur.
SSM'lerin Kullanım Alanları#
Üretimdeki kullanımların çoğu, kesin hatırlama için birkaç dikkat katmanı bulunduran hibrit büyük dil modellerindedir (LLMs). AI21'in Jamba modeli, Transformer ve Mamba katmanlarını uzman karışımı (MoE) katmanlarıyla iç içe geçirir, tek bir 80 GB GPU'ya sığar ve 256K belirtece kadar olan bağlamlarda güçlü sonuçlar bildirmiştir. IBM'in hibrit Granite 4.0-H modelleri ise Mamba-2 ve Transformer katmanlarını 9:1 oranında birleştirir. Vision Mamba, seçici taramaları görüntü parçalarına uygular; SSM'ler ayrıca tam dikkatin işleyemeyeceği kadar uzun olan ham ses ve DNA dizilerini de modeller. Klasik biçimi, Ultralytics YOLO26 takibinde çalışır: ByteTrack ve BoT-SORT gibi varsayılan TrackTrack izleyicisi, her nesnenin sonraki kutusunu Kalman filtresiyle tahmin eder. Filtrenin 8 boyutlu durumu kutunun merkezini, boyutunu ve bunların hızlarını tutar; durum, sabit hızlı geçiş matrisiyle ve dört kutu koordinatını okuyan doğrusal bir gözlem matrisiyle güncellenir.










