3 puan yazan GN⁺ 2023-08-11 | 1 yorum | WhatsApp'ta paylaş
  • Küçük modellerde keşfedilen grokking, eğitim verilerini önce ezberleyip ancak çok daha uzun süre eğitildikten sonra görmediği girdileri birden doğru tahmin etme olgusudur; ezberleme ile genellemeyi ayırt etmeye dair ipuçları sunar
  • Modüler toplama deneyindeki 1 katmanlı MLP, başlangıçta gürültülü ağırlıklar gösterirken, test doğruluğunun yükseldiği anda periyodik bir yapı oluşturarak genelleme yapar
  • 30 basamaklı 0/1 dizisi deneyinde genelleyen model, dikkat dağıtıcı son basamakların ağırlıklarını azaltıp ilk 3 basamağa odaklanarak ezberleme çözümü ile genelleme çözümü arasındaki farkı ortaya koyar
  • Geçişin temel baskıları kayıp minimizasyonu ve **ağırlık sönümlemesi (weight decay)**dir; test kaybı birden düşmüş gibi görünse de iç ağırlıklar iki çözüm arasında görece pürüzsüz biçimde hareket eder
  • Grokking, model boyutu, veri boyutu ve ağırlık sönümlemesi gibi hiperparametreler uygun olduğunda ortaya çıkar; büyük modellerde de aynı şekilde yorumlanıp yorumlanamayacağı hâlâ açık bir sorudur

Grokking’in ortaya attığı soru

  • 2021’de araştırmacılar, oyuncak bir görevde küçük modellerin eğitim verilerini doğru tahmin ettikten sonra bir süre test verilerini doğru tahmin edemediğini, daha uzun eğitimden sonra ise aniden genelleme yaptığını keşfetti
  • Bu olgu grokking olarak adlandırılır ve eğitim verisine uyum sağlandıktan epey sonra genellemenin ortaya çıktığı öğrenme dinamiklerini ifade eder
  • Büyük dil modelleri dünyayı anlıyormuş gibi görünebilir, ancak devasa eğitim metinlerinin bazı bölümlerini ezberleyip geri söylüyor da olabilir
  • Küçük modellerden başlamak, bugünün en büyük modellerine doğrudan uygulanması zor olan yorumlama teknikleri hakkında sezgi geliştirmeyi kolaylaştırır
  • Yaklaşım, küçük bir modelin öğrenme sürecini gözlemlemek ve modelin bulduğu çözümü tersine mühendislikle inceleyerek mekanik yorumlanabilirlik örneği göstermektir

Modüler toplamada ortaya çıkan periyodik yapı

  • Modüler toplama, grokking’i gözlemlemenin kolay olduğu küçük bir görev olarak kullanılır
    • İki giriş sayısı a, b ve bir modül verildiğinde, a + b sonucunu modüler aritmetikle tahmin etme problemidir
    • Örnek deney 0’dan 66’ya kadar sayıları kullanır; 67, görselleştirme ne çok basit ne de çok karmaşık olsun diye seçilmiş bir değerdir
  • Deney modeli, 24 nöronlu 1 katmanlı bir MLP’dir
    • Tüm a, b çiftleri eğitim verisi ve test verisi olarak rastgele bölünür
    • Eğitim verisi model ağırlıklarını ayarlamak için kullanılır; test verisi ise yalnızca genel bir çözümün öğrenilip öğrenilmediğini kontrol etmek için kullanılır
  • Model, a ve b girdilerine karşılık gelen embedding sütunlarını seçip toplar, negatif değerleri 0’a çevirir ve çıktı matrisindeki en yakın sütunu tahmin olarak kullanır
  • Eğitimin başlarında ağırlıklar gürültülüdür, ancak test doğruluğu yükselip model genelleme yaptıkça periyodik örüntüler ortaya çıkar
    • Eğitim bittiğinde her nöron, giriş sayısı 0’dan 66’ya artarken yüksek ve düşük değerler arasında birkaç kez gidip gelir
    • Nöronlar nihai periyot frekanslarına göre gruplandığında bu örüntü daha belirgin hâle gelir
  • Bu periyodiklik, modelin bir matematiksel yapı öğrendiğini düşündürür ve test örneklerini çözmeye başladığı zamanla örtüşür

0 ve 1 göreviyle ezberleme ve genellemeye bakış

  • Daha basit bir deney, uzunluğu 30 olan 0/1 dizilerinde ilk 3 basamakta bulunan 1’lerin sayısının tek olup olmadığını tahmin ettirir
    • Örneğin 000... ile başlıyorsa 0, 010... ile başlıyorsa 1 olabilir
    • Özünde biraz daha zor bir XOR problemidir; arkadaki basamaklar dikkat dağıtıcı gürültüdür
  • Genelleyen model yalnızca ilk 3 basamağı kullanmalıdır
    • Eğitim verisini ezberleyen bir model, arkadaki dikkat dağıtıcı basamakları da birlikte kullanır
  • Bu deney de 1 katmanlı MLP kullanır ve sabit 1.200 dizi ile eğitilir
    • Başta yalnızca eğitim doğruluğu artar, test doğruluğu ise neredeyse rastgele düzeyde kalır
    • Daha sonra test doğruluğu hızla yükselir ve genel çözüm öğrenilir
  • Ezberleme aşamasındaki model, yüksek büyüklükteki ağırlıkların birden çok girdiye yayıldığı yoğun ve gürültülü bir yapı gösterir
  • Genelleme tamamlandığında dikkat dağıtıcı basamaklara bağlı ağırlıklar çok düşer ve model ilk 3 giriş basamağına odaklanır

Ağırlık sönümlemesinin genelleme çözümünü itme biçimi

  • Öğrenme sırasında model aynı anda iki baskı altındadır
    • Doğru etiketlere yüksek olasılık vermek için kaybı (loss) azaltmalıdır
    • Ağırlık büyüklüklerini düşük tutmak için ağırlık sönümlemesinin etkisi altındadır
  • 0/1 görevinde, model genelleme yapmadan hemen önce eğitim kaybı biraz artar
    • Çünkü doğru olasılığını yükselten kaybın bir kısmından vazgeçip daha düşük ağırlıklı bir çözüme geçer
  • Test kaybındaki ani düşüş, modelin sanki birden genellemeye geçmiş gibi görünmesine yol açar
  • Ancak eğitim sırasında ağırlıklara bakıldığında çoğu, ezberleme çözümü ile genelleme çözümü arasında pürüzsüz biçimde interpolasyon yapar
  • Hızlı genelleme, dikkat dağıtıcı basamaklara bağlı son ağırlıklar ağırlık sönümlemesiyle ortadan kaldırıldığında gerçekleşir

Grokking’in ortaya çıkma koşulları

  • Grokking her zaman görülen bir olgu değil; model boyutu, ağırlık sönümlemesi ve veri boyutu gibi koşullara bağlı bir olgudur
  • Ağırlık sönümlemesi çok küçükse model, eğitim verisine aşırı uyumdan kurtulamaz
  • Sönümleme artırıldığında model önce ezberler, sonra genelleme yapar
  • Daha da artırıldığında test kaybı ve eğitim kaybı birlikte düşer ve model doğrudan genelleme yapar
  • Sönümleme çok büyük olduğunda model hiçbir şey öğrenemez
  • 0/1 görevinde farklı hiperparametrelerle 1.000’den fazla model eğitilmiş ve eğitim gürültüsünü hesaba katmak için her hiperparametre kombinasyonunda 9 model eğitilmiştir

Beş nöronla oluşturulan modüler toplama çözümü

  • Modüler toplama, toplam 67’yi aşınca başa dönen periyodik bir problemdir
  • Giriş sayılarını bir çember üzerindeki noktalar olarak yerleştirirseniz, bu periyodikliği model yapısına doğrudan yansıtabilirsiniz
    • Olası her giriş sayısı için sin ve cos değerleri hesaplanarak embedding matrisi oluşturulur
  • Bu başlangıç noktasına sahip 1 katmanlı MLP’de yalnızca bazı matrisler eğitilirse, sadece 5 nöronla kusursuz doğrulukta bir çözüm bulunur
  • Eğitilmiş parametrelere bakıldığında nöronlar neredeyse aynı büyüklüğe yakınsar; sin ve cos bileşenleri çizildiğinde çember üzerinde neredeyse eşit aralıklarla yerleşir
  • Komşu nöronlar bağlandığında, unembedding tarafının embedding tarafına göre çember etrafında iki kat hızlı döndüğü bir örüntü ortaya çıkar
  • Bu yapı, modüler toplamayı çözen 20 parametreli bir çözüm sağlar

Büyük 1 katmanlı MLP içindeki aynı algoritma

  • Başlangıçtaki 3.216 parametreli model en baştan eğitilir ve gömülü bir periyodiklik olmadan başlar
  • Oluşturulan küçük çözümden farklı olarak bu model birden çok frekans kullanır
  • Ayrık Fourier dönüşümü (DFT) kullanılarak girdiler boyunca öğrenilmiş periyodik örüntüler ayrıştırılabilir
    • Her nöron için olası periyot frekansları 1’den 33’e kadar olan sin ve cos değerleri elde edilir
    • Nöronlar, en büyük sin ve cos değerlerine sahip frekansa göre gruplanabilir
  • Model genelleme yaptıkça ağırlık sönümlemesi bu temsili daha seyrek hâle getirir
  • Nöronlar nihai frekanslarına göre gruplanıp DFT bileşenleri çizildiğinde, beş nöronlu yapıda görülen yıldız şekli ortaya çıkar
  • Eğitilmiş model, oluşturulan çözümle aynı algoritmayı kullanır
    • Her frekans nöron grubunun çıktı katkısına bakıldığında, a + b mod 67 hesabına karşılık gelen dalga biçimini oluşturduğu görülür
    • 45.000 adım civarındaki kısa bir duraklamadan sonra test kaybı iyileştiğinde, frekans 7 nöron grubu yıldız şekline hizalanır ve çıktı dalga biçimine daha çok yaklaşır
  • Model, daha büyük ağırlıklar kullanmadan kaybı düşürmek için birden çok frekans kullanır ve yapıcı girişimden yararlanır
  • Frekans 4, 5, 7 ve 26’nın kendisi özel değildir; farklı eğitim çalıştırmalarında bu algoritmanın varyasyonları öğrenilir

Hâlâ açık kalan sorular

  • Doğrudan W = W_L W_R biçiminde bir modeli eğitmek tek başına, ağırlık sönümlemesi eklense bile modüler aritmetikte genelleme ortaya çıkarmaz
    • En az bir matrisin çarpanlara ayrılması (factoring) gerekir
    • DFT sonrasında genelleme çözümü seyrek olsa da birleştirilmiş matris büyük bir norma sahiptir
    • W ve U üzerine doğrudan ağırlık sönümlemesi uygulamak, bu göreve uygun endüktif yanlılığı sağlamaz
  • Ağırlık sönümlemesi, çeşitli modelleri eğitim verisini ezberlemekten uzaklaştırabilir
    • Aşırı uyumu önlemeye yönelik diğer teknikler arasında dropout, daha küçük model ve sayısal olarak kararsız optimizasyon algoritmaları bulunur
    • Bu yaklaşımlar karmaşık ve doğrusal olmayan biçimlerde etkileşir; hangi ayarın genellemeyi teşvik edeceğini önceden kestirmek zordur
  • Ezberlemenin genellemeden önce gerçekleşmesine dair bir teori, eğitim kümesini ezberleme yollarının genelleme çözümünden çok daha fazla olabileceğidir
    • Düzenlileştirme yoksa veya zayıfsa, istatistiksel olarak ezberlemenin önce gerçekleşme olasılığı artar
    • Ağırlık sönümlemesi gibi düzenlileştirme teknikleri, yoğun çözümler yerine seyrek çözümler gibi belirli çözümleri öncelemeye yöneltir
  • İyi yapılandırılmış temsiller genellemeyle ilişkili olabilir, ancak ne gerekli ne de yeterli koşuldur
    • Simetrik girdileri olmayan bazı MLP varyantları, modüler toplamayı çözerken daha az dairesel temsiller öğrenir
    • Ağırlık sönümlemesi olmadan eğitilen küçük model, genellemeye başladıktan sonra periyodik embedding’e sahipken tekrar ezberlemeye dönebilir
    • Bazı hiperparametrelerde genelleme → ezberleme → genelleme geçişi de mümkündür

Daha büyük modellere uzanan yorumlanabilirlik

  • Grokking, küçük Transformer ve MLP’lerin algoritmik görevlerinde gözlemlenmiş; daha sonra görüntü, metin ve tablo biçimli verilerdeki daha karmaşık görevlerde de belirli hiperparametre aralıkları içinde bulunmuştur
  • Birden çok türde görevi yerine getirebilen en büyük modeller, eğitim sırasında farklı hızlarda çeşitli şeyleri grokking ediyor olabilir
  • Grokking gerçekleşmeden önce onu tahmin etmeye çalışan sonuçlar da vardır
    • Bazı yöntemler genelleme çözümü ya da tüm veri alanı hakkında bilgi gerektirir
    • Bazı yöntemler yalnızca eğitim kaybı analizini kullanır ve daha büyük modellere de uygulanabilir
  • İleriye dönük yollardan biri, daha basit modelleri tekrarlı biçimde kullanmaktır
    • Daha güçlü endüktif yanlılığa ve daha az hareketli parçaya sahip basit bir model eğitilir
    • Bu modelle büyük modelin yorumlanması zor bölümleri açıklanır
    • Gerekirse bu süreç tekrarlanır
  • Bu mekanik yorumlanabilirlik yaklaşımı, sinir ağlarının öğrendiği algoritmaları ortaya çıkaran örüntüleri belirlemeye veya otomatikleştirmeye yardımcı olabilir

1 yorum

 
GN⁺ 2023-08-11
Hacker News yorumları
  • İnsan belleğinin şaşırtıcı olmasının nedeni, makineler kadar depolama kapasitesine sahip olmaması ama bilgiyi büyük ölçüde azaltarak saklayan bir örüntü sıkıştırma yeteneği olması gibi görünüyor.
    Bu örüntüleri tekrar başka örüntülerle birleştirip sıkıştırıyor ve oradan bir şeyler çıkarıyor; muazzam bir kayıplı sıkıştırma, ama amacına ulaşıyor.

    • Tam olarak öyle değil. Beynin depolama kapasitesi için erişebildiğimiz bir üst sınır yok gibi göründüğünü söyleyen çalışmalar da var.
      Beyin, kelimesi kelimesine ezberlemesi gerekmeyen bilgiyi etkin biçimde temel öğelerine damıtıyor; bu da aşırı uyumdan kaçınıp “genelleştirilmiş sezgi ve anlayış” elde etmeye daha yakın.
      Referans: https://www.scientificamerican.com/article/new-estimate-boosts-the-human-brain-s-memory-capacity-10-fold/
    • Her şeyi hatırlayan nadir insanlar da var.
      https://youtu.be/hpTCZ-hO6iI
    • Çağrışımsal bellek ve bunun matematiksel arka planı için Hopfield Neural Networks’e bakılabilir.
      Üst sınır teknik olarak “sonsuz”, ancak saklanan kavram sayısı ile kavram başına saklanabilen temel bilgi miktarı arasında, belirsizlik ilkesi gibi başka ödünleşim ilkelerine benzeyen bir ödünleşim ilişkisi var.
    • Yapay sinir ağları, geleceği tahmin etme yeteneği açısından çoğu zaman sıkıştırma algoritmaları gibi davranır. Eğitilmiş bir ağ, sıkıştırılmış veriyi saklamaktan ziyade sıkıştırma algoritmasının kendisine daha yakındır.
      Hayvan beyinlerinin de aynı şekilde olup olmadığını bilmiyorum; ama esasen tahmin için kullanılan bir sıkıştırma algoritması olduğundan ve verinin kendisini pek fazla saklamadığından şüpheleniyorum.
    • Matematik ve fizik derslerinde, genel kavramı anladıktan sonra formülleri ezberlemek yerine hatırlaması daha kolay başka olgulardan türetmek gerçekten işe yarıyordu.
      Geometri bu tür bir eğitim için iyi ve fizik kanıtlarında da sık sık yararlı oluyor.
  • Asıl nokta, ağırlık sönümlemesinin seyreklik teşvik ederek aşırı uyum sağlamış temsiller yerine “gerçek” temsilleri öğrenmeye yardımcı olması gibi görünüyor.
    İnsan beyninde de gelişim sürecinde benzer görünen bir mekanizma olan sinaptik budama yaygın biçimde görülüyor. Bunun ağırlık sönümlemesine ya da daha doğrudan sinir ağı budamasına ilham verip vermediğini bu alandaki bir uzmandan duymak isterim.

    • Bir makine öğrenimi araştırmacısı olarak düzelteyim: seyrekliği L1 teşvik eder. Ağırlık sönümlemesi açıkça L2’dir; bu yüzden seyreklik teşvik etmez ve bu yaygın bir yanlış anlamadır.
      Ağırlık sönümlemesinin çalışmasının nedeni, düzenlileştirme olarak uygulandığında ağın minimum betimleme uzunluğuna (MDL) yaklaşmasını sağlayarak eğitim sırasında pişmanlığı (regret) azaltmasıdır. Beyindeki budamayla bir ölçüde bağlantısı var, ancak beyin sıkıştırma için değil, temsili yönlendirmek için temelde seyrekliği kullanıyor gibi göründüğünden aslında farklı bir motife daha yakın. Farklı temsillerin örtük yanlılıklarını ve bunun öğrenilmiş ya da öğrenilebilir temsiller üzerindeki sonraki etkilerini düşünmek yeterli.
    • Ağırlık sönümlemesinin ilhamı, modelin ezberleme kapasitesini azaltarak onu görevin karmaşıklığına tam uydurmaktı. Görevden daha karmaşıksa aşırı uyum, daha az karmaşıksa yetersiz uyum olur; ikisi arasında denge gerekir.
      Ancak aşırı uyumun en iyi ilacı veri kümesini büyütmek ve veri çeşitliliğini sağlamaktır. LLM’lerde veri kümesi o kadar büyüktür ki genellikle yalnızca tek bir epoch eğitim yapılır.
    • İnsan beyninde sinaptik budama vardır. Kesin amacı yalnızca kuramsallaştırılmıştır, gerçekte anlaşılmış değildir; LLM’ler ile insan beyni arasında benzer bir mekanizma olduğunu düşünmek muazzam bir sıçramadır.
    • Bildiğim kadarıyla ağırlık sönümlemesi L2 düzenlileştirmeden gelir; bu da doğrusal regresyona kadar uzanır. L2 düzenlileştirme, ağırlıklar üzerinde ortalaması 0 olan Gauss ön dağılımı varsaymaya denktir.
      L1 düzenlileştirme çok daha fazla seyreklik üretir, ancak performansı o kadar iyi değildir.
  • Yapay zeka tarafı grok kelimesini mahvediyor.
    Aslında kabaca “tamamen, bütünüyle anlamak” demektir; aynı kelimeyi genelleştirme için kullanmak, grokking’i grok etmedikleri anlamına gelir.

    • Yapay zekada “grok” basitçe genelleştirme anlamına gelmez, daha spesifiktir. “Gecikmiş ve oldukça ani genelleştirme”ye daha yakındır.
      Bu fenomen için “aşırı uyumdan nihai toparlanma” denmesini öneren yazının yorumlarında da tartışma vardı: https://www.lesswrong.com/posts/GpSzShaaf8po4rcmA/qapr-5-grokking-is-maybe-not-that-big-a-deal
    • Bir bilimkurgu meraklısı olarak, “grok” Valentine Michael Smith’in Marsçayı insan kulağına ve ses tellerine uyacak şekilde aktardığı bir sözcük; kesin göndergesel anlamı “içmek”.
      Yan anlamı, hem kelimesi kelimesine hem mecazi olarak “derinlemesine içine çekmek”ten sevilen kişinin ortada olmayan bedenini tüketmeye kadar uzanır. Stranger in A Strange Land’i şiddetle öneririm; yaklaşık 1990’da çıkan sansürsüz yeniden basımı seçmek iyi olur.
    • Burada grokking’i yalnızca farklı şekilde tanımlıyorlar.
      Sezgisel anlama ve anlayışta ani, büyük artış unsurlarını çağrıştırdığı için oldukça makul görünüyor; bu da kayıpta yaşanan değişime benziyor.
    • İki kullanım arasında kurulmaya çalışılan farkı gerçekten anlamıyorum.
    • Bir şeyi grok etmede önemli olanın tamlıktan çok sezgisel anlayış olduğunu hep düşünmüşümdür.
  • Hafızam beni yanıltmıyorsa, Mindscape’teki Raphaël Millière röportajında, makine öğrenimi modellerinde boyut sayısı arttığında enterpolasyon ve ekstrapolasyon ayrımının, genellikle akıl yürüttüğümüz alanlardaki kadar net olmadığını söylemişti.
    Bunun bu yazıda ele alınan konuyla benzer bir şey olup olmadığından emin değilim.

  • Bu grafiklerin nasıl yapıldığını merak ediyorum
    Muhtemelen bir kütüphaneyle yarı yarıya üretilip sonra elle düzeltilmiştir; ortaya çıkan animasyonlu SVG çok güzel

  • Bu konunun ayrıntılarını merak ediyorsanız yazıyı bilgisayardan okumak daha iyi. Mobilde keşfedilemeyen görselleştirilmiş veri var

  • Her şeyden önce, çok sayıda iyi örnek içeren güzel bir blog yazısı; eski distill.pub’ı hatırlatıyor
    Yazıda doğru şekilde söylendiği gibi, genelde L2 ağırlık azalması kullanıldığında küçük büyüklükte çok sayıda ağırlık oluşur. Daha iyi genelleyen bir model istiyorsak, seyrekliği teşvik etmek ve daha uzun süre eğitmek için her zaman L1 ağırlık azalması kullanmak daha mı iyi olur, merak ediyorum. Yoğun doğrusal katmanlar yerine yalnızca seyrek Fourier özellikleri kullanan derin öğrenme modelleri daha iyi çalışabilir mi, onu da merak ediyorum

    • Kısa cevap: Girdi Fourier tabanı ile iyi ifade edilebiliyorsa evet. Bu konuda bir patent süreci yürütüyorum, umarım iyi sonuçlanır
      Uzun cevap: Derin öğrenme modelleri genelde girdiyi temsil edecek en iyi doğrusal olmayan tabanı bulmaya çalışır. Girdi, önceden bilinen bir tabanda iyi, yani seyrek biçimde temsil edilebiliyorsa, RF sinyaline FFT uygulamak gibi onu o tabana taşımak genelde yardımcı olur. Ancak genel olarak en iyi taban, herhangi bir yerel minimumun tabanından farklı olabilir; bu yüzden ağı o yöne itmenin püf noktalarına ihtiyaç vardır
    • Biraz ilgili olarak, seyrekliği teşvik eden ReLU aktivasyon fonksiyonu sinir ağlarında sık kullanılır
  • Hedef fonksiyonun ne kadar temsilî olduğunu merak ediyorum
    Modelin girdinin önemli kısımlarını öğrenmesini istemek yaygın bir şey, ama bir bit dizisinde yalnızca ilk üç bite dikkat etmek oldukça yapay geliyor. İlgili parametre boyutu 8 olan bir doğruluk tablosunu 4,8 milyon örnekle mi eğittiler, yoksa ben bir şeyi mi yanlış anladım bilmiyorum

    • Bilgisayarlı görü görevlerinde de bu örüntüyü görmüştüm. Eğitim doğruluğu bir süre düz kalıyor, sonra test doğruluğu yükselmeye başlıyor
      Basit bir görev kullanılmasının nedeni, böyle bir şey olduğunda içeride neler olduğunu yorumlayabilmek
  • HTML’de RSS/Atom otomatik keşif feed’i de RSS feed bağlantısı da yoktu, ama olası feed adlarını ve konumlarını tahmin ederek “Explorables” RSS feed’ini bulabildim: https://pair.withgoogle.com/explorables/rss.xml

  • Izgara hücreleri gibi görünüyor
    https://en.wikipedia.org/wiki/Grid_cell
    Gizli katmandaki nöron ısı haritasını, bir ekseni $a$, diğer ekseni $b$ olan 2D bir grafikte çizersek üçgensel bir ızgara çıkacak gibi. Düşündüğüm şekilde çalışıyorsa, başka bir gizli nörona bakınca farklı yön ve ölçekte başka bir ızgara çıkacaktır. Bunları birbirine ekleyerek 67 tabanında bir toplayıcı da yapılabilir. Ayrıca W_in-proj nöronları arasındaki ilişkiyle W_out-proj nöronları arasındaki ilişkinin, yarım ton çemberi ile beşliler çemberi arasındaki eşlemeye benzediği sezgisinden de kurtulamıyorum
    https://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Pitch_class_space_star.svg/220px-Pitch_class_space_star.svg.png