Kurs
Dil modelleri, doğal dil üzerinde bir olasılık dağılımı kurmak üzere eğitilen bir makine öğrenimi modeli türüdür. Mimarileri temel olarak yinelemeli katmanlar, ileri beslemeli katmanlar, gömme (embedding) katmanları ve dikkat (attention) katmanları gibi birden çok sinir ağı katmanından oluşur. Bu katmanlar bir araya gelerek verilen bir girdi metnini işler ve çıktı tahminleri üretir.
2023’ün sonlarında, Carnegie Mellon ve Princeton Üniversitelerinden araştırmacılar, Mamba adlı bir araştırma makalesi yayımladı ve Büyük Dil Modelleri (LLM) için yeni bir mimari ortaya koydu. Mamba, dizilim modellemeyle ilgili yeni bir durum uzayı (state space) model mimarisidir. Özellikle uzun dizilimleri işlerken transformer modellerinin bazı sınırlamalarını ele almak üzere geliştirildi ve umut verici performans göstermektedir.
Mamba LLM mimarisini ve makine öğrenimindeki önemini inceleyelim.
Mamba nedir?
Mamba, uzun veri dizilimlerini yönetmek için Yapılandırılmış Durum Uzayı dizilim (S4) modelini entegre eden yeni bir LLM mimarisidir. Yinelemeli, evrişimsel ve sürekli zamanlı modellerin en iyi özelliklerini birleştiren S4, uzun vadeli bağımlılıkları etkili ve verimli bir şekilde simüle edebilir. Bu sayede düzensiz örneklenmiş verileri işleyebilir, sınırsız bağlama sahip olabilir ve eğitim ile test boyunca hesaplama verimliliğini korur.
S4 paradigmasını genişleten Mamba, özellikle zamana bağlı (time-variant) işlemleri ele alma konusunda dikkate değer iyileştirmeler getirir. Mimarisi, girdiye göre yapılandırılmış durum uzayı modeli (SSM) parametrelerini değiştiren özel bir seçim mekanizması etrafında döner.
Bunun sonucunda Mamba, dizilimlerde yalnızca kritik bilgilere odaklanarak daha az önemli verileri başarıyla filtreleyebilir. Vikipedi’ye göre, "Model zamanla değişmeyen bir çerçeveden zamanla değişen bir çerçeveye geçer; bu da sistemin hem hesaplamasını hem de verimliliğini etkiler."
Temel Özellikler ve Yenilikler
Mamba’nın geleneksel attention ve MLP bloklarından sapması onu farklı kılar. Bu sadeleşme, modeli daha hafif, daha hızlı ve dizi uzunluğuyla doğrusal olarak ölçeklenir hale getirir; bu, seleflerinden hiçbirinin başaramadığı bir başarıdır.
Mamba’nın temel bileşenleri şunlardır:
- Seçmeli Durum Uzayları (SSM): Mevcut girdiye bağlı olarak bilgiyi seçmeli şekilde işleyen yinelemeli modeller, Mamba SSM’lerinin temelini oluşturur. Bu, gereksiz verileri filtreleyip ilgili bilgilere yoğunlaşmalarını sağlar; bu da daha verimli işlemeye yol açabilir.
- Sadeleştirilmiş Mimari: Mamba, Transformer’ların karmaşık attention ve MLP bloklarının yerine tek ve bütünleşik bir SSM bloğu koyar. Bu, çıkarımı hızlandırmayı ve hesaplama karmaşıklığını düşürmeyi amaçlar.
- Donanım Farkındalığı ile Paralelleştirme: Mamba, özellikle donanım verimliliği için tasarlanmış paralel bir algoritma ile yinelemeli kip kullandığından daha da iyi performans gösterebilir.
Bir diğer önemli bileşen Doğrusal Zaman Değişmezliği (LTI)’dir; LTI, S4 modellerinin temel özelliklerinden biridir. Bu özellik, modelin parametrelerinin tüm zaman adımları boyunca sabit kaldığını, böylece model dinamiklerinde tutarlılık sağlandığını ifade eder. LTI, yineleme ve evrişimlerin temeli olup dizi modelleri kurmayı daha kolay ve etkili hale getirir.
Mamba LLM Mimari Ayrıntıları
Mamba’nın mimarisi, makine öğreniminde kaydedilen ilerlemelerin önemini daha da vurgular. Seçilmiş bir durum uzayı modeli (SSM) katmanı sunarak modellerin dizilimleri işleme biçimini değiştirir. Bu, Mamba’nın iki son derece önemli şeyi yapabilmesini sağlar:
- İlgili bilgiye odaklanma – Mamba, her girdiye farklı bir ağırlık vererek görev için daha öngörücü verileri önceliklendirebilir.
- Girdilere dinamik uyum – Modelin girdiye uyum sağlayabilmesi sayesinde Mamba, çeşitli dizilim modelleme görevlerini kolayca ele alabilir.
Sonuç olarak Mamba, dizilimleri benzeri görülmemiş bir verimlilikle işleyebilir; bu da onu uzun veri dizilimlerini içeren görevler için ideal bir seçenek haline getirir.
Mamba’nın tasarım felsefesi, çağdaş donanım yeteneklerinin farkındalığına dayanır. GPU hesaplama gücünden tam yararlanacak şekilde tasarlanmıştır ve şunları garanti eder:
- Optimiz edilmiş Bellek Kullanımı: Mamba’nın durum genişlemesinin GPU’ların yüksek bant genişlikli belleğine (HBM) sığacak şekilde tasarlanması, veri aktarım sürelerini azaltır ve işlemleri hızlandırır.
- Maksimum Paralel İşleme: Mamba, hesaplamalarını GPU hesaplamasının paralel doğasıyla uyumlu hale getirerek dizi modelleri için yeni bir ölçüt belirleyen bir performans düzeyine ulaşır.
Mamba ve Transformer’lar
Transformerların, örneğin GPT-4’ün, doğal dil işleme (NLP) alanına girişi birçok doğal dil görevi için ölçütler belirledi. Uzun dizilimler, verimliliklerini önemli ölçüde sekteye uğrattığından, uzun süredir transformer’ların yumuşak karnı olmuştur.
Mamba’nın parladığı yer de bu eksikliktir. Özgün mimarisi sayesinde Mamba, uzun dizilimleri transformer’lardan daha hızlı ve daha sade bir şekilde işleyebilir.
Transformer mimarisi
Transformer’lar, dil modelleri için metin gibi veri dizilimleriyle çalışmada son derece yeteneklidir. Verileri sıralı işleyen önceki modellerin aksine, tüm dizilimleri aynı anda işlerler. Bu doğal özellik, veriler içindeki karmaşık ilişkileri yakalamalarını sağlar.
Tahmin üretirken modelin dizilimin çeşitli bölümlerine yoğunlaşmasını sağlayan bir dikkat (attention) mekanizması kullanırlar. Bu dikkat, girdiden elde edilen değerler (values), anahtarlar (keys) ve sorgular (queries) olmak üzere üç ağırlık kümesiyle hesaplanır.
Bir dizilimdeki her bir öğe, serideki bir sonraki öğeyi öngörmek için ne kadar ağırlık—ya da "dikkat"—alması gerektiğini belirtmek üzere diğer tüm öğelerle ilişkilendirilerek tartılır.
Transformer’lar iki ana bloktan oluşur: çıktıyı oluşturan kod çözücü (decoder) ve girdiyi işleyen kodlayıcı (encoder).
Kodlayıcı, her biri iki alt katmandan oluşan birkaç katmandan meydana gelir: temel, konuma göre (position-wise) tam bağlantılı bir ileri beslemeli ağ ve çok başlı öz-dikkat (multi-head self-attention) mekanizması. Derin ağların eğitimine yardımcı olmak için her alt katmanda artık bağlantılar (residual connections) ve normalleştirme kullanılır.
Kodlayıcıya benzer şekilde, kod çözücü de iki alt katmanlı iki katmandan oluşur; ancak ayrıca kodlayıcının çıktısı üzerinde çok başlı dikkati ele alan üçüncü bir alt katman ekler. Kod çözücünün ardışık doğası nedeniyle, bir konum için yapılan tahminlerin yalnızca önceki konumları dikkate alması sınırı, kod çözücünün otoregresif özelliğini korur.
Dolayısıyla Transformer’lar, daha karmaşık dikkat mekanizmalarını kullanarak uzun dizilim sorununu çözmeye çalışırken, Mamba farklı bir yaklaşım benimser.
Mamba mimarisi
Mamba, seçmeli durum uzaylarından yararlanır. Bu yöntem, Transformer’ların uzun dizilimlerle yaşadığı hesaplama verimsizliklerini çözer.
Mamba’nın mimarisi, daha hızlı çıkarıma ve dizi uzunluğu ile doğrusal ölçeklenmeye imkân tanır; bu da dizilim modelleme için, diziler uzadıkça daha etkili olabilecek yeni bir paradigma yaratır.
Mamba’nın mimarisini yukarıda ayrıntılı ele aldığımız için burada tekrar girmeyeceğiz.
Mamba ve Transformer’ların nasıl karşılaştırıldığını daha iyi kavramsallaştırmak için Vikipedi’den bir grafik:
|
Özellik |
Transformer |
Mamba |
|
Mimari |
Dikkat (attention) tabanlı |
SSM tabanlı |
|
Karmaşıklık |
Yüksek |
Daha düşük |
|
Çıkarım Hızı |
O(n) |
O(1) |
|
Eğitim Hızı |
O(n2) |
O(n) |
Şunu da belirtmek gerekir ki, SSM’lerin Transformer’lara göre pek çok avantajına rağmen, ikincisi SSM’lerin bellekte saklayabileceğinden çok daha uzun dizilimleri işleyebilir, benzer görevleri öğrenmek için çok daha az veriye ihtiyaç duyar ve daha az parametreyle bile, bağlamdan geri getirme ya da kopyalama gerektiren görevlerde SSM’leri geride bırakır.
Mamba ile Başlarken
Mamba’yı denemek veya bir projede kullanmak istiyorsanız, aşağıdakilere sahip olmalısınız:
- Linux
- NVIDIA GPU
- PyTorch 1.12+
- CUDA 11.6+
Mamba deposundan gerekli paketleri kurmak için birkaç basit pip komutu kullanın:
- [Seçenek]
pip install causal-conv1d>=1.2.0: Mamba bloğu içinde kullanılan basit bir nedensel Conv1d katmanının verimli bir uygulaması. pip install mamba-ssm: ana Mamba paketi.
Ayrıca bu depodan pip install . ile kaynak koddan da derlenebilir.
PyTorch sürümleri uyumluluk sorunlarına yol açarsa, pip komutu --no-build-isolation anahtarıyla kullanılabilir. Bu modeller Pile ve SlimPajama gibi büyük veri kümeleri üzerinde eğitildi ve çeşitli hesaplama gereksinimleri ve performans ölçütlerini karşılayacak şekilde oluşturuldu.
Mamba modelinin birden fazla arayüz düzeyi vardır; ancak ana modül, seçmeli SSM’i saran Mamba mimari bloğudur.
Her şey kurulduktan sonra şu şekilde kullanılabilir:
# Source: Mamba Repository
import torch
from mamba_ssm import Mamba
batch, length, dim = 2, 64, 16
x = torch.randn(batch, length, dim).to("cuda")
model = Mamba(
# This module uses roughly 3 * expand * d_model^2 parameters
d_model=dim, # Model dimension d_model
d_state=16, # SSM state expansion factor
d_conv=4, # Local convolution width
expand=2, # Block expansion factor
).to("cuda")
y = model(x)
assert y.shape == x.shape
Mamba’nın Uygulamaları
Mamba LLM’in ortaya çıkışı, LLM mimarisi alanında önemli bir potansiyel değişimi işaretler. Daha hızlı, daha verimli ve ölçeklenebilir olan Mamba, uzun dizilimleri yüksek performans standartlarıyla zahmetsizce işler; bu da geleceğin gelişmiş yapay zekâ sistemlerinin şekillenmesinde neden kritik bir rol üstlenmeye hazır olduğunu açıklar.
Özellikle, Mamba’nın etkinliği ve performansı, giderek daha karmaşık modellerin ve uygulamaların oluşturulmasının önünü açarak bir sonraki yapay zekâ inovasyon dalgasını getirebilir. Potansiyel etkisi; ses ve konuşma işleme uygulamaları, uzun metin analizi, içerik üretimi, gerçek zamanlı dil çevirisi ve daha fazlasını kapsayacak kadar geniştir.
Devrim yaratabileceği sektörler şunlardır:
- Sağlık: Mamba, genetik verileri hızla analiz ederek kişiselleştirilmiş tedavilerin geliştirilme sürecini hızlandırabilir.
- Finans: Mamba, uzun vadeli piyasa eğilimlerini analiz etmek için devreye alınarak daha isabetli hisse senedi tahminleri sağlayabilir.
- Müşteri Hizmetleri: Mamba, uzun süreli konuşmaları izleyebilen sohbet botlarına güç vererek müşteri iletişimini iyileştirebilir.
Mamba için Yol Haritası
Mamba, karmaşık dizilim modelleme sorunlarını ele almak için yeni fırsatlara işaret eden yenilikçi bir işaret fişeği olarak öne çıkıyor. Tanıtımı, dizilimleri eşi benzeri görülmemiş bir derinlikle anlayıp işleyebilen daha akıllı, ölçeklenebilir ve verimli sistemlere atılan bir adımdır.
Her ne kadar Mamba önemli bir teknik dönüm noktası olduğunu kanıtlamış olsa da başarısı yalnızca teknolojik yeteneklerine bağlı değildir – işbirlikçi araştırmalar, paylaşılan kaynaklar ve açık kaynak katkıları da hayati rol oynar:
- Açık Kaynak Katkıları: Araştırmacı ve geliştiricilerin Mamba kod tabanına katkıda bulunmasını teşvik etmek, daha dayanıklı ve uyarlanabilir modeller ortaya çıkarabilir.
- Paylaşılan Kaynaklar: Topluluk bilgi ve kaynaklarını bir araya getirip önceden eğitilmiş modelleri paylaşarak ilerlemeyi hızlandırabilir.
- İşbirlikçi Araştırmalar: Akademi ve iş dünyası arasındaki işbirlikleri, Mamba’nın yeteneklerini genişletebilir.
Sonuç
Mamba, mevcut dizi modellerine yalnızca kademeli bir iyileştirme sunmakla kalmıyor; mümkün olanı yeniden tanımlıyor. Onunla birlikte yapay zekâ tarihinde, hesaplama verimsizliklerinin ve dizi uzunluğu sınırlamalarının nihayet geçersiz hale gelmeye başladığı yeni bir bölüm yazılıyor.
Son birkaç yılda yapay zekânın RNN’lerden Transformer’lara ve şimdi de Mamba’ya evrildiğine tanık olduk; her adım, insanlara benzer derin düşünme ve bilgi işleme yeteneğine sahip yapay zekâya biraz daha yaklaştırdı. Mamba, seçmeli durum uzayı yaklaşımı ve doğrusal zaman ölçeklemesiyle alanı ileriye taşıyan devrimci ruhu somutlaştırır.
Mamba, yapay zekâda umut verici bir gelişimin başlangıcını işaret ediyor. Gelecek için tasarlanmış bir paradigma ve sınırsız potansiyeliyle yapay zekâ üzerinde önemli bir etki yaratmaya hazırlanıyor.
Öğrenmeye devam etmek için şunlara göz atın:

