Her şey RNN’lerden mi ibaretti?
(arxiv.org)- Transformer, 2017’den sonra derin öğrenmeyi yeniden şekillendirdi; ancak uzun dizilerde self-attention maliyeti büyüdükçe, paralel eğitilebilen yinelemeli modellere yeniden ilgi artıyor
- Transformer’dan önceki 20 yıl boyunca dizi modellemede yaygın biçimde kullanılan LSTM ve GRU, kapıların önceki duruma bağımlılığı azaltıldığında paralel eğitim olanağını açıyor
- Basitleştirilmiş minLSTM ve minGRU, mevcut LSTM ve GRU’dan daha az parametreye sahip, eğitim sırasında tamamen paralelleştirilebiliyor ve birçok görevde Transformer dahil güncel modellerle rekabetçi performans gösteriyor
- Transformer’ı verimli hale getirme çalışmaları seyreklik, düşük rütbeli yaklaştırma ve tiling yönlerine ilerledi; son dönemde durum-uzayı modelleri, doğrusal hale getirilmiş attention ve doğrusal RNN gibi alternatif yinelemeli modeller de güçlü performans sergiliyor
- Ek bölümdeki birkaç satırlık plain PyTorch uygulaması sayesinde minGRU ve minLSTM, yeni başlayanlar, uygulayıcılar ve araştırmacılar için denemesi kolay hafif modeller olarak görülebilir
Transformer sonrası yeniden gündemde olan yinelemeli modeller
- RNN, 1990’lardan beri makine çevirisi ve metin üretimi gibi dizi modelleme görevlerinde yaygın olarak kullanılıyordu
- Temsilci modeller LSTM (1997) ve GRU (2014)
- Özünde sıralı bir yapıya sahip oldukları için paralelleştirme sınırlı kalır ve uzun dizilerin eğitiminde hesaplama verimliliği kolayca düşebilir
- Transformer, 2017’de self-attention üzerinden paralel eğitim mekanizmasını devreye sokarak dizi modellemede hızla başarı kazandı
- Sonrasında yalnızca büyük dil modellerine değil, bilgisayarlı görü, pekiştirmeli öğrenme ve biyoinformatiğe de yayıldı
- Self-attention, token’lar arası etkileşimi modeller; ancak hesaplama karmaşıklığı dizi uzunluğuna göre karesel olarak artar
- Uzun dizilerde veya kaynakların kısıtlı olduğu ortamlarda maliyet ciddi biçimde artabilir
- Transformer verimliliğini artırmaya yönelik araştırmalar birkaç farklı koldan ilerledi
- Seyreklik
- Düşük rütbeli yaklaştırma
- Tiling
- Son dönemde daha verimli ölçeklenen, paralelleştirilebilir yinelemeli modeller yeniden yükselişe geçti
- Durum-uzayı modelleri
- Doğrusal hale getirilmiş attention
- Doğrusal RNN
- Bu modern yinelemeli modeller, girdiye bağımlı geçişlerden yararlanıyor ve Transformer’a benzer ölçüde güçlü performans gösteriyor
- Yalnızca büyük dil modellerine değil, görüntü ve grafik tabanlı verilere de uygulanıyor
minLSTM ve minGRU’nun temel fikri
- Bu çalışma, Transformer öncesinde uzun süre kullanılan LSTM ve GRU’yu tarihsel bir bakışla yeniden inceliyor
- Her iki model de erken dönem girdi bağımlı yinelemeli modellerin örnekleri olarak görülebilir
- Kapıların önceki duruma bağımlı kısmı kaldırıldığında LSTM ve GRU da paralel eğitim için uygun hale geliyor
- Ek sadeleştirmelerle minLSTM ve minGRU adlı asgari sürümler elde ediliyor
- Mevcut LSTM ve GRU’ya göre daha az parametre içeriyor
- Eğitim sırasında tamamen paralelleştirilebiliyor
- Basit yapısına rağmen birçok görevde rekabetçi performans gösteriyor
- Karşılaştırma yapılan modeller arasında Transformer da yer alıyor
- Bu sonuç, model yapısını ve algoritmik karmaşıklığı sürekli büyütme eğilimini sorgulatıyor
- Ek bölümde minGRU ve minLSTM’in plain PyTorch uygulaması birkaç satır kodla veriliyor
- Model hafif ve uyarlaması kolay
- Yeni başlayanlar, uygulayıcılar ve araştırmacılar için kullanımı kolay bir yapı sunuyor
1 yorum
Hacker News yorumları
Tekrarlamalı yapıları IIR filtre, yalnızca ileri beslemeli yapıları da FIR filtre olarak düşününce dijital sinyal işleme ile birçok benzerlik var gibi görünüyor
IIR filtreler çoğu zaman aynı yanıtı veren FIR filtrelerden çok daha az elemana ihtiyaç duyar; FIR filtreler ise genelde uygulaması, kontrolü ve ölçümü daha kolaydır
Sabit noktalı aritmetik donanımı, GPU’larda iyi çalışan makine öğrenimi yapılarına benziyor gibi geliyor; yapay zekanın gerçekten ürkütücü, üstel bir aşamaya geçmesi için temelde tekrarlamalı bir yapıya ihtiyaç var gibi görünüyor
LSTM, bu benzetmede dinamik katsayılara sahip bir FIR gibi ara bir hack’e daha yakın; uzun vadede ise nöromorfik yaklaşım verimlilik açısından en iyi seçenek gibi görünüyor
Aksi halde IIR filtre ya üstel olarak 0’a sönümlenir ya da üstel olarak sonsuza büyür
LSTM gibi RNN hücreleri, sönümlenmeyi engellemek ve bir şeyi “hatırlamak” için doğrusal olmayan kapılar eklenmiş bir sönümlü filtreye daha yakındır
FIR filtrelerin tasarımı çok daha basittir ve böyle hack’ler olmadan da bellek taşıyabilir
Konunun dışından biri olarak ilk izlenimim, bunun yalnızca nöronları simüle etmekten ziyade, birden fazla “ajan”ın veya alt sistemin çeşitli biçimlerde etkileşime girdiği 《The Society of Mind》 tarzı fikirlere benzediği yönünde
Tekrarlamalılık daha nöromorfik olabilir ve uzun vadede önemli olabilir; ancak süper zekâ için şart olmayabilir
Yine de ilgili bilgisi sığ olan konunun dışından biri olduğum için tamamen yanılıyor da olabilirim
Alanın tamamı uzun ufuk problemi konusunda yetersiz görünüyor
Bugün yaygın kullanılan çözüm ölçek büyütmek, ancak bu, küçük memeli beyinlerinin işlediği ufuk ölçeğine bile hiç yaklaşmıyor
Bir model trilyonlarca parametreye sahip olabilir, ama uzun vadeli görevler ve verimlilikte bir farenin beyni hâlâ kazanacak gibi geliyor
Küçük bir hesaplama bütçesi içinde neredeyse en uygun yolu bulan ve öğrenmeye devam eden küçük, basit ve zarif bir arama algoritması var sanki
Gelecekte mühendislerin bu tür problemleri bir dizüstü bilgisayarda 100 satırlık bir Jupyter Notebook ile çözeceğini düşününce biraz imreniyorum
Uzun ufuk problemine uygun bir yöntem ya da algoritma bulunursa, 2 milyar parametreli bir model bile kısa ve uç düzey akıl yürütme problemleri dışındaki tüm alanlarda mevcut modelleri geride bırakabilir
Olası bir çözüm olarak kusursuz ağırlıklar yerine modelin boyutsallığını zaman içinde genişletmeyi düşündüm
Boyutsallık arttıkça teorik depolama kapasitesi büyür; bir katman birden fazla aykırı noktanın süperpozisyonu gibi çalışırken başka bir katman bunları nasıl kullanacağını bilen iki katmanlı bir modele benzeyebilir
Kayıp yüzeyinde belirli bir görev için birden fazla minimum olduğunu düşünürsek, gerektiğinde modeli yeniden yapılandırıp bu minimumlar arasında hareket ettirerek neredeyse sonsuz yerel minimuma, yani daha yüksek boyutlu belleğe sahip tek bir model oluşturmak da mümkün olabilir
İnsan beyni bir gün içinde binlerce bağlantı kurup koparıyorsa, bu bağlantılar o gün ihtiyaç duyulan farklı minimumlar arasında iç kayıp yüzeyini yönlendiriyor olabilir
Ama spam e-posta sınıflandırmak için bir fare beynine ihtiyaç yok
2 milyardan fazla parametreli büyük modeller hâlâ pratikte çalıştırılması çok zor, özel amaçlı kullanım alanlarına daha yakın; sınırlı donanım ve veri kümelerinde yalnızca yararlı problemleri çözen akıllı ve küçük modellere geniş yer var
İhtiyaca göre boyutu değişen modeller de denendi, ancak sınırlı güç bütçelerinde ya fazla verimsiz kaldılar ya da optimize edilmeleri zordu
Yine de giderek daha büyük ölçeklere çıkmaya devam edilecekse, sonunda bu tür modellere ihtiyaç duyulması olası görünüyor
Asıl darboğaz eğitimin kendisindeki bir atılım olabilir
Geri yayılım kaybı mevcut modelleri bile mükemmel biçimde optimize etmek için fazla basit; gelecekteki daha büyük modeller içinse daha da yetersiz
Daha iyi bir alternatifin var olduğunun garantisi de yok; bu yüzden mevcut makine öğrenimi yaklaşımının sabit bir sınırı olabilir
Tartışmaların birden fazla yere dağılması hem avantaj hem dezavantaj
Twitter/X’te gördüğüm François Chollet’nin yazısı ilginçti: https://x.com/fchollet/status/1841902521717293273
“RNN’leri yeniden canlandıran ilginç bir çalışma. https://arxiv.org/abs/2410.01201 — Genel olarak farklı yönlerden çıkan son mimarilerin kabaca Transformer’larla başa baş olması, eğri uydurma paradigmasının, yani derin öğrenmede mimarinin temelde önemli olmadığının kanıtıdır.
Eğri uydurma, veri kümesini bir eğri üzerine gömme işidir. Asıl belirleyici veri kümesidir; eğrinin şeklini kısıtlayan belirli hard-code edilmiş süslemeler değil. Eğrinin ifade gücü yeterliyse, büyük ölçekli veri ortamında tüm mimariler aynı performansa yakınsar.”
Veri kümeleri uzun zamandır çoktu; son 10 yıldaki ilerleme, eğriyi nasıl tasarlayıp veriye uydurduğumuzdan ve daha fazla hesaplama kullanmanın yollarından geldi
Eski modellerin yaklaşık 1 milyon kat daha fazla hesaplama kullanırsa yeni problemleri aynı şekilde çözebileceği teorik olarak anlamlı olabilir; ama buna “sadece optimizasyon” demek, algoritma tasarımında karmaşıklık analizinin önemini yok sayıp bogosort ile quicksort’un aynı olduğunu söylemeye benziyor
Aşırı uyumu azaltan düzenlileştirme tekniklerini katman katman eklemeyi ve Deep Q Learning ya da OpenAI o1’in arama uzayı tasarımı gibi daha ajanvari yapıları da düşününce, bunun basit bir optimizasyon olduğu bakışı pek ikna edici değil
Eski yapılar yalnızca daha fazla hesaplamayla bu tür problemleri çözemiyordu
“Eğitim sırasında tamamen paralelleştirilebilir ve uzunluğu 512 olan dizilerde 175 kat daha hızlı” gibi ifadeler var
Çeşitli mimariler zamanla aynı kayba yakınsasa bile, büyük ölçekli GPU maliyetleri düşünüldüğünde en hızlı yakınsayan mimariyi bulmak oldukça değerli
CNN’lerin bilgisayarlı görüyü domine etmesinin nedeni yoğun sinir ağlarının yapamadığı bir şeyi yapmaları değil, pek önemli olmayan birçok bağlantıyı kaldırarak eğitim bütçesinin daha derin ağlara harcanabilmesini sağlamalarıydı
Benzer şekilde Transformer’ların iyi olmasının nedeni, devasa ağları bir ölçüde verimli biçimde eğitebilmeyi sağlamaları
Bu makale de RNN eğitimini çok daha hızlı hale getirince pratikte oldukça iyi olabildiğini gösteriyor
Büyük darboğaz, mimarinin gerçek ifade gücünden çok eğitim hızı ve verimliliği
Devasa bir MLP de Transformer ile aynı sonuçları verebilir
Sorun ölçek; yeterince büyük bir MLP’yi eğitemiyoruz
Transformer bir performans optimizasyonu olduğu için yararlı
Ayda bir kez yeniden eğitmek değil, sürekli yeniden eğitmek istiyoruz; bir ajanın 5 LLM ile konuşması değil, binlerce LLM’in birlikte çalışmasını istiyoruz
Yanıt “hayır”a yakın görünüyor
Bu tür RNN’ler bazı durumlarda yeterince iyi olabilir ve bazı durumlarda Transformer’ı geçebilir; ancak LLM’lerde Transformer’ın evrensel yerine geçeceğini sanmıyorum
Örneğin kullanıcı uzun bir metin verip “bunu Almancaya çevir” derse, Transformer tüm geçmişe geri dönüp bakabilir
RNN’de bağlam uzunluğu sınırsız olsa bile, herhangi bir anda hatırladığı bilgi miktarı gizli durumun içinde bulunanlarla sınırlıdır
İlgili makale: https://arxiv.org/abs/2402.01032
Transformer da sonuçta sonlu bir duruma bağlı; sadece bu durum farklı bir şekilde organize edilmiş durumda
Eski durumun kaç bit aktarması gerektiğine dair bilgi hassasiyeti sorunu, bilgi eskidikçe zayıflayan sönümleme sorunu ve temsillerin karışması ya da üst üste eklenmesi sorunu var
Merak edilen şey, kayan nokta işlem sayısı sabitlendiğinde RNN’nin Transformer ile rekabet edip edemeyeceği; ancak asıl makale bu kısmı doğru dürüst ele almıyor gibi
Bunun yerine “aşağıdakini Almancaya çevir” derseniz, gereken tek şey mevcut görevi ve çok daha az miktarda yakın tarihli girdiyi hatırlamak olur
Elbette girdiyi işlerken paralel olarak çıktı üretebilme yeteneği de gerekir
Anladığım kadarıyla Transformer’ın sonraki patlamayı mümkün kılmasının nedeni, RNN’in iki büyük sorununu çözmüş olmasıydı
Gradyan sönümlenmesi bağlamı ve model boyutunu sınırlıyordu; paralelleştirmenin zor olması da eğitim verisi boyutunu sınırlıyordu
Şimdi bu iki sorun için çözümler olup olmadığını merak ediyorum
RNN ise belleği sürekli güncelleyip üzerine yazdığı için, ileride yararlı olacak bilgiyi önceden tahmin edip saklamak zorundadır
ChatGPT gibi etkileşimli kullanım senaryolarında bu, Transformer için muazzam bir avantajdır
Bir bağlam verip birkaç tur boyunca soru sorduğunuzda, hangi bağlamın belirli bir soru için önemli olduğu ancak token dizisinin daha ilerilerinde anlaşılabilir
Daha doğrusu bunun dikkat tabanlı modellerin avantajı olduğunu söylemek gerekir; Jamba gibi iki yaklaşımı başarıyla karıştıran hibrit modeller de var
İlk olarak 1997’de önerilen LSTM önce bir çözüm sundu: https://www.semanticscholar.org/paper/Long-Short-Term-Memory...
Bu bilginin neredeyse unutulmuş gibi görünmesi ilginç
2014 civarında LSTM son derece popülerdi: https://karpathy.github.io/2015/05/21/rnn-effectiveness/
https://colah.github.io/posts/2015-08-Understanding-LSTMs/
Bununla birlikte, yinelemeli birimi basitleştirirken ikisini de iyileştirmiş gibi görünüyor
Oldukça zekice ve ilginç bir çalışma
Makale sürekli “10 yıllık mimari” diye adlandırıyor ama aslında çeşitli alanlara uyarlanması kolay olduğu için bugün de muazzam ölçüde kullanılıyor
Bunu Transformer’ın “rakibi” olarak konumlamak da tamamen adil değil; çünkü Transformer ve RNN birbirini dışlayan şeyler değil, ikisini birleştirmenin de birçok yolu var
RNN iyileştirmeleri beklenmedik pek çok yerde iyileşmeye yol açabilir
minGRU mimarisinin sadeliğini gerçekten beğendim
Temelde token’dan önerilen gizli durumu ve karışım katsayısını ayrı ayrı doğrusal dönüşümlerle üretip
torch.lerp(proposed_hidden_state, previous_hidden_state, mix_factors)ile karıştırıyorHer katmanın önerilen gizli durumu ve karışım katsayısı yalnızca mevcut token’a bağlı olduğundan, eğitimde olduğu gibi tüm diziyi önceden biliyorsanız hepsini paralel hesaplayıp ardından paralel scan ile doğrusal zamanda birleştirebiliyorsunuz
Küçük ölçekli deneylerde Transformer ve durum uzayı modelleriyle rekabetçi olması, “en iyi PR kod silen PR’dır” diye düşünen tarafımın hoşuna gidiyor
Yine de, güncel en iyi modellerle benzer parametre ve veri ölçeğine büyütmeden bunun büyük B ile bir Breakthrough olup olmadığını bilemeyiz
Eke bakınca tüm hesaplamaları log uzayında yapıyor gibi görünüyor; bunun sayısal kararlılık için olduğu söyleniyor
Çıkıştan tanh kaldırılıp doğrusal uzayda hesaplama yapılırsa değerler patlayabileceği için mi, sezgisel olarak tam oturtamıyorum
Ayrıca bu tür dizi modellemenin çalışıyor olması başlı başına ilginç
Sanki bir kitabın tüm sayfalarını yırtıp rastgele sırayla veriyor, önceki sayfaları hiç bilmeden her sayfa vektörünü ve “bu vektörü önceki tüm sayfa vektörüyle nasıl karıştıracağını” üretmesini istiyor, sonra da ben bunları yeniden sırayla karıştırıp nihai vektörün kitabın tamamının özeti olarak ne kadar iyi olduğuna not veriyorum
Şu anda token’ı önerilen gizli duruma ve interpolasyon karışım katsayısına dönüştürmek için yalnızca iki yoğun doğrusal katman kullanılıyor; bu dönüşüm tek bir doğrusal katman yerine MLP yapılırsa ne olacağını da merak ediyorum
En azından pumping lemma türü bir sorun çıkacak gibi
[the ][cat ][is ][black ]belirli bir vektöre yakın bir çıktı üretiyorsa,[the ][cat ][is ][black ]dizisini üç kez tekrarlayan bir girdinin o vektöre daha da yaklaşması ve “neden aynı cümleyi üç kez tekrarladın?” vektöründen uzaklaşması gerekmez mi diye düşünüyorumGirdi token’ları ile gizli durum arasında doğrusal olmayan bir karışım yoksa, benzer token dizileri arasında epey doğrusal benzerlik kalacak gibi
Eğitim ve performansı iyileştiren bir basitleştirmeyse, bunun üzerine daha üst düzeyde yeniden karmaşıklık inşa edilecek bir zemin sağlar
Maksimum olabilirlik uyumlamasının her zaman log olabilirlik üzerinden yapılmasının bir nedeni var
Üniversite projesi olarak RNN yapmıştım; o zamanlar yok olmuş tarihî teknolojilere ilgim olduğundan, okuldan ayrılınca sinir ağları hakkında bir daha bir şey duymayacağımı düşünüp fırsatı değerlendirmem gerektiğine inanmıştım
Yaptığım şey çalışıyordu ama çok basitti ve eski bir dizüstü bilgisayarda inanılmaz yavaştı
O dizüstünde hiçbir şey hızlı olamazdı ama RNN’in ileri beslemeli ağlardan epey yavaş olduğu aklımda kalmış
Bunun 1980–1990’ların akademik merak konusu olan ölü bir teknoloji olduğuna emindim; bunun ne kadar hızlı değiştiğini görmek tuhaf gelecek kadar şaşırtıcıydı
2000 civarında dinamik sistem öğrenimi, örneğin kontrol amaçlı RNN üzerine yüksek lisans tezi yazmıştım; o dönemde oldukça yeni bir konuydu
Geri yayılımı C++ ile yazıp gece boyunca çalıştırırdım; küçük gradyanlar yüzünden gerçekten yavaştı
Ağ mimarisi de tek bir gizli katmanda 5 ya da 10 nöron civarındaydı
Sinir ağları, dersini bulabilirseniz şanslı sayılacağınız küçük bir konuydu; kısa süreliğine gözlerimi kapatıp 2015’te tekrar baktığımda her şey tamamen değişmişti
Yazarların — aralarında Yoshua Bengio da var — makaleyi cevabı bildiklerini öne sürerek değil, bir soruyla bitirmeleri takdir edilecek bir nokta
Bu modeller akademik ölçütlere göre bile çok küçük; bu yüzden herhangi bir sonucun bugünkü LLM ölçeğine mutlaka genişleyeceği söylenemez
Temel sonuç, RNN ailesi ağların da modern alternatifler kadar verimli biçimde eğitilebildiği, ancak nihai performansın rekabetçi olduğunun yalnızca küçük ölçekte doğrulandığı
Sonucun da “nihai performansın rekabetçi olduğu yalnızca küçük ölçekte doğrulandı” şeklinde olması gerekmez mi diye düşünüyorum
Makaledeki model, paralelleştirilebilir hale getirildiği için https://arxiv.org/abs/2404.08819 içinde açıklanan nedenlerle “gerçek” bir RNN değil; dolayısıyla teorik olarak geleneksel RNN’lerden daha az güçlü
RNN’lerin aslında iyi olduğu bazı problem sınıflarında zorlanıyor
Buna karşılık https://arxiv.org/abs/2405.04517 “gerçek” RNN bileşenleri içeriyor ve Transformer’ın zorlandığı durum izleme problemlerinde büyük iyileşme gösteriyor
Hâlâ önceki gizli duruma bağlılar; yalnızca gating ona bağlı değil
Temel RNN denklemi paralel prefix scan algoritması ile paralelleştirilebilir
Makaleyi ayrıntılı incelemedim; biri yanıtlayabilirse iyi olur
Söylediğiniz gibi RNN’den gizli durumu kaldırınca geriye ne kalıyor? Tek bir tokenden tahmin yapan bir MLP mi?
Makaleyi tamamen sindirmiş değilim ama GRU için bunun, gizli durum güncelleme maskelemesinin — yani makaledeki formüllerde
z_tver_tdeğerlerinin — yalnızca yeni girdiye bağlı olduğu, girdi ile önceki gizli durumun toplamına bağlı olmadığı anlamına geldiği anlaşılıyorHâlâ gizli durum var
Mamba’da yapılan işle bir ölçüde benzer