Bu yazıda Mamba, bu yenilikçi durum alanı modelinin (SSM) dizi modellemesinde nasıl devrim yarattığını inceleyeceğiz. Albert Gu ve Tri Dao tarafından geliştirilen Mamba, dil işleme, genomik ve ses analizi gibi alanlarda karmaşık dizileri işlemedeki verimliliğiyle öne çıkıyor. Seçici durum alanlarıyla doğrusal zamanlı dizi modellemesi, bu farklı yöntemlerde olağanüstü performans sağlıyor.
Mamba'nın, özellikle uzun diziler söz konusu olduğunda, geleneksel Transformatörlerin karşılaştığı hesaplama zorluklarının üstesinden gelme becerisini inceleyeceğiz. Durum uzayı modellerindeki seçici yaklaşımı, dizi uzunluğuna göre daha hızlı çıkarım ve doğrusal ölçekleme sağlayarak verimliliği önemli ölçüde artırır.
Mamba'nın benzersizliği, hızlı işlem kabiliyeti, seçici SSM katmanı ve FlashAttention'dan ilham alan donanım dostu tasarımında yatmaktadır. Bu özellikler, Mamba'nın transformatör yaklaşımına dayalı olanlar da dahil olmak üzere birçok mevcut modeli geride bırakmasını sağlayarak makine öğreniminde kayda değer bir ilerleme sağlamaktadır.
Transformatörler vs Mamba
GPT-4 gibi dönüştürücüler, doğal dil işlemede bir mihenk taşı olmuştur. Ancak verimlilikleri, uzun dizilerde düşüş gösterir. İşte Mamba, uzun dizileri daha verimli bir şekilde işleme yeteneği ve tüm süreci basitleştiren benzersiz mimarisiyle tam da bu noktada öne çıkıyor.
Transformatörler, dil modelleri için metin gibi veri dizilerini işleme konusunda ustadır. Verileri sıralı olarak işleyen önceki modellerden farklı olarak Transformers, tüm sırayı aynı anda işleyerek veriler içindeki karmaşık ilişkileri yakalamalarına olanak tanır.
Tahminlerde bulunurken modelin dizinin farklı bölümlerine odaklanmasını sağlayan dikkat mekanizmasını kullanırlar.
Bu dikkat, girdi verilerinden türetilen sorgular, anahtarlar ve değerler olmak üzere üç ağırlık kümesi kullanılarak hesaplanır. Bir dizideki her öğe, diğer tüm öğelerle karşılaştırılır ve bu da, dizideki bir sonraki öğeyi tahmin ederken her öğenin alması gereken önemi veya "dikkati" belirten bir ağırlık sağlar.
Transformatörlerin iki ana bloğu vardır: giriş verilerini işleyen kodlayıcı ve çıkışı üreten kod çözücü. Kodlayıcı, her biri iki alt katman içeren çok sayıda katmandan oluşur: çok kafalı bir öz-dikkat mekanizması ve basit, konumsal olarak tam bağlı ileri beslemeli ağ. Derin ağların eğitilmesine yardımcı olmak için her alt katmanda normalleştirme ve artık bağlantılar kullanılır.
Kod çözücü de, kodlayıcıya benzer şekilde iki alt katmana sahip katmanlara sahiptir, ancak kodlayıcının çıktısı üzerinde çok başlı dikkat gerçekleştiren üçüncü bir alt katman ekler. Kod çözücünün sıralı yapısı, bir konum için yapılan tahminlerin yalnızca önceki konumları dikkate almasını sağlayarak otoregresif özelliği korur.
Transformers'ın aksine Mamba modeli farklı bir yaklaşım benimsiyor. Transformers uzun diziler sorununu daha karmaşık dikkat mekanizmaları kullanarak ele alırken, Mamba seçici durum uzaylarını kullanarak daha fazla hesaplama olanağı sağlar.
İşte bir transformatörün nasıl çalıştığına dair genel bir bakış:
Giriş İşleme: Transformatörler ilk önce giriş verilerini modelin anlayabileceği bir formatta kodlar ve genellikle dizideki her bir öğenin konumunu da içeren yerleştirmeler kullanır.
Dikkat Mekanizması: Dikkat mekanizması, özünde, mevcut bir öğeyi anlarken girdi dizisinin diğer bölümlerine ne kadar odaklanılması gerektiğini temsil eden bir puan hesaplar.
Kodlayıcı-Kod Çözücü Mimarisi: Transformatör modeli, girişi işleyen bir kodlayıcı ve çıkışı üreten bir kod çözücüden oluşur. Her biri, modelin girdi anlayışını geliştiren birden fazla katmandan oluşur.
Çok Kafalı Dikkat: Hem kodlayıcı hem de kod çözücü içinde, çok kafalı dikkat, modelin farklı temsil alanlarından dizinin farklı bölümlerine eşzamanlı olarak katılmasına olanak tanıyarak, farklı bağlamlardan öğrenme yeteneğini geliştirir.
Konum Bazında İleri Beslemeli Ağlar: Dikkatin ardından basit bir sinir ağı, her konumun çıktısını ayrı ayrı ve aynı şekilde işler. Bu, artık bağlantı aracılığıyla girdiyle birleştirilir ve ardından katman normalizasyonu yapılır.
Çıktı Üretimi: Kod çözücü daha sonra kodlayıcının bağlamı ve o ana kadar ürettiği verilerden etkilenerek bir çıktı dizisi tahmin eder.
Transformatörün dizileri paralel olarak ele alma yeteneği ve sağlam dikkat mekanizması, onu çeviri ve metin oluşturma gibi görevler için güçlü kılar.
Buna karşılık, Mamba modeli, dizileri işlemek için seçici durum uzaylarını kullanarak farklı bir şekilde çalışır. Bu yaklaşım, Transformatörler'de uzun dizilerle çalışırken karşılaşılan hesaplama yetersizliğini giderir. Mamba'nın tasarımı, daha hızlı çıkarım sağlar ve dizi uzunluğuna göre doğrusal olarak ölçeklenir; bu da, özellikle diziler giderek uzadıkça daha verimli olabilecek dizi modellemesi için yeni bir paradigma oluşturur.
Mamba
Mamba'yı gerçekten benzersiz kılan şey, geleneksel dikkat ve MLP bloklarından ayrılışıdır. Bu basitleştirme, dizi uzunluğuyla doğrusal olarak ölçeklenen daha hafif, daha hızlı bir modele yol açar; bu, önceki modellerin eşi benzeri olmayan bir başarıdır.
Mamba'nın temel özellikleri şunlardır:
Seçici SSM'ler: Bunlar, Mamba'nın alakasız bilgileri filtrelemesine ve ilgili verilere odaklanmasına olanak tanıyarak dizilerin işlenmesini geliştirir. Bu seçicilik, etkili içerik temelli muhakeme için çok önemlidir.
Donanıma duyarlı Algoritma: Mamba, özellikle GPU'lar olmak üzere modern donanımlar için optimize edilmiş paralel bir algoritma kullanır. Bu tasarım, daha hızlı hesaplama sağlar ve geleneksel modellere kıyasla bellek gereksinimlerini azaltır.
Basitleştirilmiş Mimari: Mamba, seçici SSM'leri entegre ederek dikkat ve MLP bloklarını ortadan kaldırarak daha basit, daha homojen bir yapı sunar. Bu daha iyi ölçeklenebilirlik ve performans sağlar.
Mamba, dil, ses ve genom bilimi de dahil olmak üzere çeşitli alanlarda hem ön eğitimde hem de alana özgü görevlerde üstün performans sergilemiştir. Örneğin, dil modellemede Mamba, daha büyük Transformer modellerinin performansına uyuyor veya onları aşıyor.
Mamba'nın kodu ve önceden eğitilmiş modelleri topluluk kullanımına açıktır. GitHub.
Standart Kopyalama görevleri doğrusal modeller için basittir. Seçici Kopyalama ve İndüksiyon Kafaları, LLM'ler için dinamik, içeriğe duyarlı bellek gerektirir.
Yapılandırılmış Durum Uzayı (S4) modelleri yakın zamanda RNN'lerden, CNN'lerden ve klasik durum uzayı modellerinden gelen özellikleri kapsayan gelecek vaat eden bir dizi modelleri sınıfı olarak ortaya çıkmıştır. S4 modelleri, sürekli sistemlerden, özellikle de tek boyutlu işlevleri veya dizileri örtülü bir gizli durum aracılığıyla haritalayan bir sistem türünden ilham alır. Derin öğrenme bağlamında, verimli ve son derece uyarlanabilir dizi modellerinin tasarlanması için yeni bir metodoloji sağlayarak önemli bir yeniliği temsil ediyorlar.
S4 Modellerinin Dinamiği
SSM (S4) Bu temel yapılandırılmış durum uzayı modelidir. Bir sıra alır x ve bir çıktı üretir y öğrenilen parametreleri kullanma A, B, Cve bir gecikme parametresi ΔDönüşüm, parametreleri ayrıştırmayı (sürekli fonksiyonları ayrık fonksiyonlara dönüştürmeyi) ve zamanla değişmeyen, yani farklı zaman adımlarında değişmeyen SSM işlemini uygulamayı içerir.
Ayrıklaştırmanın Önemi
Ayrıklaştırma, sürekli parametreleri sabit formüller aracılığıyla ayrık parametrelere dönüştüren ve S4 modellerinin sürekli zamanlı sistemlerle bağlantıyı sürdürmesini sağlayan önemli bir süreçtir. Bu, modellere çözünürlük değişmezliği gibi ek özellikler kazandırır ve uygun normalizasyon sağlayarak model kararlılığını ve performansını artırır. Ayrıklaştırma aynı zamanda RNN'lerde bulunan ve ağ üzerinden bilgi akışını yönetmek için kritik olan geçit mekanizmalarıyla da paralellikler kurar.
Doğrusal Zamanla Değişmezlik (LTI)
S4 modellerinin temel özelliği doğrusal zamanla değişmezliğidir. Bu özellik, tüm zaman adımlarında sabit parametrelerle modelin dinamiğinin zaman içinde tutarlı kaldığı anlamına gelir. LTI, dizi modelleri oluşturmak için basitleştirilmiş ancak güçlü bir çerçeve sunan, yineleme ve evrişimlerin temel taşıdır.
Temel Sınırlamaların Aşılması
S4 çerçevesi, uyarlanabilir dinamikler gerektiren verilerin modellenmesinde zorluklar yaratan LTI yapısı nedeniyle geleneksel olarak sınırlandırılmıştır. Son araştırma makalesi, zamanla değişen parametreleri tanıtarak bu sınırlamaların üstesinden gelen ve böylece LTI kısıtlamasını ortadan kaldıran bir yaklaşım sunmaktadır. Bu, S4 modellerinin daha çeşitli dizileri ve görevleri yerine getirmesine olanak tanıyarak uygulanabilirliğini önemli ölçüde artırır.
'Durum uzayı modeli' terimi, gizli bir durumu içeren tekrarlayan tüm süreçleri kapsar ve birçok disiplinde çeşitli kavramları tanımlamak için kullanılır. Derin öğrenme bağlamında, S4 modelleri veya yapılandırılmış SSM'ler, karmaşık dizileri modelleme yeteneğini korurken verimli hesaplama için optimize edilmiş belirli bir model sınıfını ifade eder.
S4 modelleri, bağımsız dizi dönüşümleri olarak işlev görerek uçtan uca sinir ağı mimarilerine entegre edilebilir. Çeşitli sinir ağı mimarilerinde dizi modellemenin omurgasını sağlayan, CNN'lerdeki evrişim katmanlarına benzer olarak görülebilirler.
SSM ve SSM + Seçimi
Dizi Modellemede Seçicilik Motivasyonu
Yapılandırılmış SSM'ler
Makale, dizi modellemenin temel bir yönünün bağlamın yönetilebilir bir duruma sıkıştırılması olduğunu savunuyor. Girdilere seçici olarak odaklanabilen veya girdileri filtreleyebilen modeller, bu sıkıştırılmış durumu korumanın daha etkili bir yolunu sağlayarak daha verimli ve güçlü dizi modellerine yol açar. Bu seçicilik, modellerin bilginin dizi boyutu boyunca nasıl aktığını uyarlanabilir bir şekilde kontrol etmesi açısından hayati öneme sahiptir; bu, dil modelleme ve ötesindeki karmaşık görevlerin üstesinden gelmek için temel bir yetenektir.
Seçici SSM'ler, parametrelerinin girdiye bağımlı olmasına izin vererek geleneksel SSM'leri geliştirir; bu, daha önce zamanla değişmeyen modellerle ulaşılamayan bir düzeyde uyarlanabilirlik sağlar. Bu, artık verimli hesaplama için evrişimleri kullanamayan, bunun yerine doğrusal bir yineleme mekanizmasına dayanan, zamanla değişen SSM'lerle sonuçlanır; bu, geleneksel modellerden önemli bir sapmadır.
SSM + Seçimi (S6) Bu varyant, parametrelere girdi bağımlılığı ekleyen bir seçim mekanizması içerir B ve Cve bir gecikme parametresi Δ. Bu, modelin girdi dizisinin belirli bölümlerine seçici olarak odaklanmasını sağlar x. Parametreler, seçim dikkate alınarak ayrıklaştırılır ve SSM işlemi, öğeleri sırayla işleyen ve odağı zaman içinde dinamik olarak ayarlayan bir tarama işlemi kullanılarak zamanla değişen bir şekilde uygulanır.
Mamba'nın Öne Çıkan Performansları
Mamba, her değerlendirme sonucunda sınıfının en iyisi
Performans açısından Mamba, hem çıkarım hızı hem de doğruluk açısından mükemmeldir. Tasarımı, hem DNA hem de ses modellemesinde kanıtlandığı gibi, daha uzun bağlamların daha iyi kullanılmasını sağlar ve uzun menzilli bağımlılıklar gerektiren karmaşık görevlerde önceki modellerden daha iyi performans gösterir. Çok yönlülüğü, birden fazla görevde sıfırdan değerlendirmelerde de vurgulanarak, verimlilik ve ölçeklenebilirlik açısından bu tür modeller için yeni bir standart belirler.
Mamba'ya Başlarken
Mamba'dan yararlanmak isteyenler için teknik gereksinimler arasında Linux işletim sistemi, NVIDIA GPU, PyTorch 1.12+ ve CUDA 11.6+ yer alıyor. Kurulum, gerekli paketleri yüklemek için basit pip komutlarını içerir. Mamba deposu. PyTorch sürümleriyle uyumluluk sorunları ortaya çıkarsa, pip ile –no-build-isolation bayrağının kullanılması yardımcı olabilir. Pile ve SlimPajama veri kümesi gibi kapsamlı veri kümeleri üzerinde eğitilen bu modeller, çeşitli hesaplama ihtiyaçlarını ve performans ölçütlerini karşılamak üzere tasarlanmıştır.
Mamba, seçici SSM katmanından Mamba bloğuna ve eksiksiz dil modeli yapılarına kadar farklı arayüz seviyeleri sunar. Mimarinin ana modülü olan Mamba bloğu, nedensel bir Conv1d katmanı kullanır ve sinir ağı tasarımlarına kolayca entegre edilebilir. Python'da verilen kullanım örneği, bir Mamba modelinin örneklenmesini ve bu model üzerinden veri işlenmesini göstererek sistemin basitliğini ve esnekliğini vurgular.
Önceden eğitilmiş Mamba modelleri şu adreste mevcuttur: Sarılma Yüz130M ila 2.8B parametreler arasında değişen boyutlarda, kapsamlı Pile veri kümesi ve SlimPajama veri kümesi üzerinde eğitilmiştir. Bu modeller, GPT-3'ün boyut standartlarına bağlı kalarak çeşitli hesaplama ve performans gereksinimlerini karşılamak üzere tasarlanmıştır. Kullanıcılar bu modellerden yüksek verim ve doğruluk bekleyebilirler; bu da Mamba'yı, dil modelleme dahil ancak bununla sınırlı olmamak üzere çeşitli uygulamalar için rekabetçi bir seçim haline getirir.
Mamba'nın Etkisi
Mamba, bilgi yoğun verilerin işlenmesinde Transformer mimarilerine güçlü bir alternatif sunarak, dizi modellemede bir sıçramayı temsil eder. Tasarımı, modern donanımların gereksinimleriyle uyumlu olup hem bellek kullanımını hem de paralel işleme yeteneklerini optimize eder. Mamba'nın kod tabanının ve önceden eğitilmiş modellerinin açık kaynaklı olması, onu yapay zeka ve derin öğrenme alanındaki araştırmacılar ve geliştiriciler için erişilebilir ve sağlam bir araç haline getirir.
Son beş yılımı, Makine Öğrenimi ve Derin Öğrenmenin büyüleyici dünyasına dalarak geçirdim. Tutkum ve uzmanlığım, özellikle AI/ML'ye odaklanarak 50'den fazla farklı yazılım mühendisliği projesine katkıda bulunmamı sağladı. Devam eden merakım, beni daha fazla keşfetmeye hevesli olduğum bir alan olan Doğal Dil İşleme'ye de çekti.