2 puan yazan GN⁺ 2024-02-05 | 1 yorum | WhatsApp'ta paylaş
  • Yaklaşık 10 milyon parametreli decoder-only Transformer, TinyShakespeare üzerinde eğitildikten sonra, öz dikkat sonrasındaki hesaplama sonucunun bir sonraki token olasılığına nasıl dönüştüğü iç durumlar ve deneylerle izleniyor
  • Temel hipotez, her Transformer bloğunun prompt’u eğitim derlemindeki belirli bir dizge kümesiyle ilişkilendirdiği ve bu dizgelerden sonra gerçekten gelen token’ların frekans dağılımının bloğun bir sonraki token tahminine yakın olduğu
  • Uygulanan yaklaşık prosedür, her bloğun feed-forward network çıktısına benzeyen eğitim dizgelerini buluyor, ardından gelen karakter dağılımlarını topluyor ve blok bazlı ağırlıklı toplamla model çıktısını yeniden kuruyor
  • Uzunluğu 10 olan 20.000 prompt üzerinde yaklaşık çıktı ile gerçek Transformer çıktısının ortalama Hellinger distance değeri yaklaşık 0,17; aynı yapıyı farklı seed’lerle eğitilmiş alternatif modeller ile özgün model arasındaki mesafe ise yaklaşık 0,11 ± 0,08 oldu
  • Analiz, feed-forward çıktısının blok dönüşümünde büyük paya sahip olduğu ve attention’ın prompt’u doğru eğitim dizgesi sınıfına eşlediği yorumunu destekliyor; ancak bunun küçük modelin ötesine genellenip genellenemeyeceği bilinmiyor

Deneyde kullanılan model ve soru

  • Andrej Karpathy’nin Let’s build GPT: from scratch, in code, spelled out içeriğini izleyerek yaklaşık 10 milyon parametreli bir Transformer uygulandı ve eğitildi
    • Temel dil modeli kodu Karpathy’nin çalışmasına ait; iç analiz ve yardımcı kodlar ayrı bir katkı
    • İlgili kod transformer-experiments içinde yer alıyor
  • Model, 6 bloktan oluşan decoder-only Transformer
    • Eğitim verisi TinyShakespeare; Shakespeare oyunlarından 40.000 satır içeriyor
    • RTX 4000 GPU’da yaklaşık 1 saat eğitildikten sonra yapısal olarak makul görünen sahte Shakespeare metinleri üretiyor
  • Token’lar kelime değil, karakter
    • Sözlük boyutu 65; giriş prompt’undan sonra gelecek karakterin olasılık dağılımını tahmin ediyor
    • Örneğin 'my most gr' sonrasındaki karakter için a olasılığını 0,819, e olasılığını 0,081, i olasılığını 0,059 olarak tahmin ediyor
  • Temel soru öz dikkatin kendisi değil, attention sonrasındaki sonucun nihai bir sonraki token olasılığına nasıl dönüştüğü

Blok yapısı ve feed-forward network’ün payı

  • Her Transformer bloğu multi-head self-attention ve feed-forward network içeriyor
    • PyTorch yapısında blok çıktısı, x + self.sa(self.ln1(x)) sonrasında x + self.ffwd(self.ln2(x)) eklenen biçimde
    • Ara değişkenlerle yazıldığında blok çıktısı x + sa_out + ffwd_out olarak görülebilir
  • Analiz edilen modelde feed-forward network, tüm eğitilebilir parametrelerin %65,71’ini oluşturuyor
    • Feed-forward parametreleri: 7.089.408
    • Toplam eğitilebilir parametre: 10.788.929
  • Feed-forward network çıktısı, blok girdisini çıktıya dönüştüren başlıca unsur gibi görünüyor
    • Sonraki deneylerde de self-attention çıktısına kıyasla feed-forward çıktısının nihai olasılık dağılımı üzerinde daha büyük etkisi olduğu görülüyor

Benzer feed-forward çıktılarıyla dizge bulma

  • Yaklaşık prosedür, prompt ile eğitim derlemi dizgelerinin feed-forward çıktı benzerliğini kullanıyor
    1. Prompt modele veriliyor ve her bloğun feed-forward network çıktısı kaydediliyor
    2. Her blok için eğitim derleminde feed-forward çıktısı benzer olan dizgeler bulunuyor
    3. Bu dizgelerden sonra gelen token’ların frekans dağılımları toplanıyor
    4. Blok bazlı dağılımlar ağırlıklı toplanıp normalize edilerek olasılık dağılımı oluşturuluyor
  • Demo prompt’u 'And only l' için, 1. bloğun feed-forward çıktısıyla cosine similarity değeri 0,95’in üzerinde olan uzunluğu 10 olan 94 dizge bulundu
    • Bulunan dizgeler hat only l, \nMy only l, I dearly l, ng Henry l, And only l gibi genel olarak y l veya ly l ile bitiyor
    • Bu dizgelerden sonra gelen karakterlerin normalize edilmiş frekans dağılımı, gerçek modelin bir sonraki karakter tahminine çok benziyordu
  • 'And only l' örneğinde yaklaşık tahmin ile gerçek model tahmini birbirine yakın çıktı
    • Model: i 0,437, o 0,204, a 0,195, e 0,160
    • Yaklaşık: i 0,389, o 0,250, a 0,222, e 0,139
    • Hellinger distance 0,0711
  • Yalnızca tek bir blokla başarısız olunan durumlar da var
    • 'hing tremb' prompt’unda yalnızca 1. blok kullanıldığında model l için 0,999 tahmin ederken, yaklaşık sonuç e 0,543, l 0,343 oluyor ve Hellinger distance 0,6305 çıkıyor
    • Tüm bloklar hesaba katıldığında aynı örnekte yaklaşık tahmin l için 0,997 oluyor ve Hellinger distance 0,0233’e düşüyor

Hesaplama ölçeği ve elle ayarlama

  • Verimlilik için tüm analizler çoğunlukla uzunluğu 10 olan dizgelerle yapıldı
    • Eğitim derlemi 1.115.394 karakterden oluşuyor; benzersiz uzunluğu 10 olan alt dizge sayısı 858.923
    • Feed-forward çıktısı 384 boyutlu float32 vektör; 6 blokta birer tane üretiliyor
  • Uzunluğu 10 olan 20.000 dizge rastgele seçilip deney prompt’u olarak kullanıldı
    • Her prompt ile 858.923 benzersiz alt dizge arasındaki blok bazlı cosine similarity önceden hesaplanıp diske kaydedildi
    • İlgi çekici eşleşmeler cosine similarity 0,7’nin altında görülmediği için, yalnızca 0,7 ve üzeri önceden filtrelendi
  • Blok bazlı similarity threshold değerleri elle ayarlanarak belirlendi
    • Blok 0: 0,95
    • Blok 1: 0,94
    • Blok 2: 0,85
    • Blok 3: 0,76
    • Blok 4: 0,81
    • Blok 5: 0,89
  • Blok bazlı frekans dağılımlarını birleştirirken de elle belirlenmiş ağırlıklar kullanıldı
    • Kullanılan ağırlıklar [0.01, 0.01, 0.1, 1.5, 6, 0.01]
    • Derin öğrenme yöntemiyle ağırlık araması da denendi, ancak elle ayarlamadan daha iyi sonuç elde edilemedi

20.000 prompt değerlendirmesi

  • Toplam 20.000 prompt için yaklaşık dağılım ile model çıktı dağılımının Hellinger distance değeri hesaplandı
    • Ortalama: 0,1677
    • Standart sapma: 0,1215
    • Minimum: 0,0013
    • Maksimum: 0,9994
  • Hellinger distance, olasılık dağılımları arasındaki örtüşmeyi ölçer; 0 aynı, 1 ise örtüşme yok anlamına gelir
  • Yaklaşık kalitesini karşılaştırmak için aynı mimari farklı random seed’lerle 3 kez daha eğitildi
    • Özgün model seed’i: 1337, tahmini training loss 0,9334, validation loss 1,5063
    • Alternate 1 seed: 1442, training loss 0,9293, validation loss 1,5038
    • Alternate 2 seed: 88, training loss 0,9294, validation loss 1,4991
    • Alternate 3 seed: 99999, training loss 0,9339, validation loss 1,4941
  • Özgün model ile alternatif modellerin ortalama Hellinger distance değeri yaklaşık 0,11 ± 0,08
    • Original vs Alternate 1: 0,1064 ± 0,0823
    • Original vs Alternate 2: 0,1057 ± 0,0817
    • Original vs Alternate 3: 0,1053 ± 0,0828
  • Yaklaşık sonuç ile model arasındaki ortalama mesafe 0,17; alternatif modeller arasındaki 0,11 mesafeden yüksek, ancak standart sapma aralığı içinde olduğundan yaklaşımın oldukça iyi olduğuna dair bir dayanak sağlıyor

Transformer’ın iç işleyişine dair yorum

  • Model, embedding sonrasında çok aşamalı uzay dönüşümleri olarak görülebilir
    • 6 Transformer bloğu, 384 boyutlu embedding uzayı içinde giriş embedding’ini çıkış embedding’ine dönüştürüyor
    • Son LayerNorm ve linear layer, embedding uzayını 65 boyutlu logit uzayına dönüştürüyor; softmax ise bir sonraki token olasılığını üretiyor
  • Blok içi dönüşüm vektör toplamı olarak görülebilir
    • Blok çıktısı, giriş x, self-attention çıktısı sa_out ve feed-forward çıktısı ffwd_out toplamıdır
    • Analizde feed-forward çıktı vektörlerinin genelde self-attention çıktısından daha büyük norm’a sahip olduğu ve blok bazında iki çıktının genel olarak benzer yönleri gösterdiği bir desen gözlendi
  • Yalnızca feed-forward çıktısı eklendiğinde bile nihai çıktı vektörüyle yön genellikle benzer
    • Yalnız feed-forward kullanılan çıktının norm’u daha küçük, ancak yönü özgün çıktıya yakın
    • Son LayerNorm nedeniyle norm farkı, nihai linear layer girdisinde çok önemli değil
  • Bu sonuç, self-attention hesaplamasının kaldırılabileceği anlamına gelmiyor
    • Feed-forward network, ffwd_out = self.ffwd(self.ln2(x + sa_out)) biçiminde self-attention çıktısını girdiye dahil ettiği için, self-attention kaldırılırsa feed-forward çıktısının kendisi değişir

Token subspace hipotezi

  • Belirli embedding’ler, modelin belirli bir token’ı neredeyse kesin olarak tahmin etmesini sağlayabilir
    • Örneğin, son bloktan sonra LayerNorm ve linear layer’a girecek embedding optimize edilerek token a olasılığı neredeyse 1 yapılabilir
    • Transformer ağırlıkları sabit tutulur, yalnızca embedding tensörü optimize edilir
  • Her token için tek bir embedding değil, birden fazla embedding bulunur
    • Bu, her token’a karşılık gelen karmaşık doğrusal olmayan bir embedding subspace olarak yorumlanır
    • Her token için binlerce benzersiz embedding kolayca öğrenilebildi
  • Subspace matematiksel olarak tam çıkarılamasa da son aşamada doğrusal yaklaşık iyi çalışıyor
    • Her token için öğrenilen embedding’ler üst üste konup SVD uygulanıyor
    • İlk right singular vector, ilgili token subspace’i için 1 boyutlu doğrusal yaklaşık olarak iyi iş görüyor
  • Birden fazla token’ın subspace yaklaşık vektörleri doğrusal birleştirilirse, olasılığı birden fazla token’a yayan embedding’ler oluşturulabilir
    • a ve b için yaklaşık vektörler toplandığında, olasılığı iki token’a dağıtan bir dağılım oluşuyor
    • Ancak yaklaşık hatası, subspace vektörlerinin ortogonal olmaması ve token bazlı logit büyüklüğü farkları nedeniyle tam 50:50 dağılım oluşmuyor

Feed-forward çıktısı ile token subspace’i arasındaki karşılık

  • Feed-forward çıktısı, blok çıktısını belirli token subspace’lerine doğru ayarlıyor şeklinde yorumlanıyor
    • Bu token’lar, yaklaşık prosedürün tahmin ettiği token’larla; yani benzer feed-forward çıktısı üreten eğitim dizgelerinden sonra gelen token’larla örtüşüyor
  • med me Aut örneğinde yalnızca son bloğa bakıldığında yaklaşık prosedür, en olası sonraki token olarak oyu, ardından hyi tahmin ediyor
    • Aynı feed-forward çıktı vektörü token subspace yaklaşıklarına projekte edildiğinde en benzer token’lar da sırasıyla o, h, i, u, y oldu
  • if and thy örneğinde de benzer bir karşılık görülüyor
    • Yaklaşık prosedür başlıca tahmin token’ları olarak space, s, newline’ı yakalıyor
    • Feed-forward çıktısıyla en iyi hizalanan subspace’ler de space, s, newline sırasına yakındı
  • 20.000 prompt’un tamamı için keyfi bir ölçüt belirlenip toplulaştırma yapıldı
    • Ölçüt, “yaklaşık tahminde olasılık kütlesinin %90’ını oluşturan token’ların subspace’leri, feed-forward çıktısıyla cosine similarity sıralamasında üst yarıya giriyor mu?” idi
    • Son blok bazında 16.357 prompt, yani %81,78, ölçütü karşıladı

Blok bazlı aggregate sonuçlar ve chance karşılaştırması

  • Her blok konumunda öğrenilen subspace yaklaşıkları kullanıldığında ölçütü karşılama oranı, sonraki bloklarda daha yüksek
    • Blok 6: 16.357, %81,78
    • Blok 5: 10.142, %50,71
    • Blok 4: 7.760, %38,80
  • Son aşamadaki subspace yaklaşıkları tüm bloklara uygulandığında daha iyi sonuç çıkıyor
    • Blok 6: %81,78
    • Blok 5: %68,26
    • Blok 4: %58,15
    • Blok 3: %57,34
    • Blok 2: %52,02
    • Blok 1: %49,71
  • Ölçütün rastgele cosine similarity ile tesadüfen karşılanma olasılığı da simüle edildi
    • Blok 6: %20,76 ± %0,25
    • Blok 5: %20,55 ± %0,26
    • Blok 4: %18,37 ± %0,24
    • Blok 3: %18,20 ± %0,24
    • Blok 2: %17,04 ± %0,23
    • Blok 1: %16,31 ± %0,23
  • Sonuçlar chance’tan çok daha yüksek, ancak ölçüm gürültüsü ve subspace yaklaşımlarının sınırlamaları nedeniyle kesin kanıt olarak görmek zor

Self-attention’ın rolü

  • Bu yoruma göre iyi tahmin, prompt’un eğitim derlemindeki doğru dizge sınıfına eşlenmesine bağlı
  • Bu eşlemeyi yapan eksen self-attention
    • Attention layer, prompt token’ları arasındaki desenleri tanımlar
    • Desenler sondaki y l gibi basit dizge desenleri olabileceği gibi, belirli konumdaki ünlü harfler veya büyük harfler gibi daha genel token türleri de olabilir
  • Attention head’in öğrenilmiş ağırlıkları hangi desenlere tepki verileceğini belirler
    • Attention head çıktısı feed-forward network’ten geçtiğinde, benzer eğitim dizgelerinden sonra görülen token dağılımı bilgisini taşıyan embedding uzayı temsiline dönüşür
  • Analiz edilen modelde 6 blok ve blok başına 6 attention head olduğundan, tek bir prompt birden fazla potansiyel desen açısından değerlendirilebilir

Sonuç ve sınırlamalar

  • Yaklaşık prosedür ile gerçek Transformer çıktısının benzer olduğuna dair kanıt güçlü
  • Yaklaşık prosedürün gerçek Transformer iç hesaplamalarıyla örtüştüğüne dair kanıt daha az net, ancak en azından kısmen doğru olabileceğine işaret ediyor
  • Küçük bir Transformer’dan elde edilen sonuçların daha büyük modellere veya başka veri kümelerine genellenip genellenemeyeceği bilinmiyor
  • Bu proje, modelin içine sorular yöneltme ve deney tasarlama süreci; dil modellerinin “sihri”ni basit bir mekanizmaya indirgemekten çok, karmaşıklığını daha iyi görmeyi sağlıyor

1 yorum

 
GN⁺ 2024-02-05
Hacker News yorumları
  • Ana yazıdaki bazı konular, https://people.math.harvard.edu/~ctm/home/text/others/shanno... okumuş biri için pek de şaşırtıcı olmamalı
    Kendi alanınızın temel literatürünü okumazsanız, zaten ortaya konmuş çalışmaların doğal sonucu olarak beliren olgular bile açıklanamayan bir gizem gibi görünür
    Yine de deneyler ilk bakışta epey kapsamlı görünüyor ve harcanan ayrıntılı emeği çok takdir ediyorum
    Mevcut teoriyi öğrenmek ile her şeyi en baştan yeniden türetmeye çalışmak arasında zor bir denge var. Geleneksel bir temel olmadan yeni keşifler mümkün olabilir; ama bir temel olduğunda belirli olguları daha derinlemesine anlayabilirsiniz
    Buradaki yorumlarda, veri verildiğinde bir dizinin log-olabilirliğini maksimize eden bir modelin çıkarım sırasında sihirli biçimde bu davranışın dışına çıkmamasına şaşıran birkaç kişi görüyorum. Bu bir yoğunluk kestirim modeli; yoksa yoktan Shakespeare okumasını mı bekliyorlar acaba
    Temellere dönünce bu tür deneyler çok daha iyi anlaşılır. Bunu ve sözde ortaya çıkış olgularını açıklayan son derece açık bir matematiksel temel zaten var
    Daha somut olarak birkaç katman var; Shannon’ın ergodik sistemleri ele alışı iyi bir başlangıç noktası. Burada biraz sapma olan kısımlar var, ama genel dinamikleri anlamak için yeterince yakın bir karşılık gibi görünüyor

    • Çok zeki bilgi teorisi araştırmacıları birkaç yıldır sinir ağlarına bilgi teorisi bakış açısıyla bakıyor ve ünlü makaleler de yayımladılar; ama bu, sinir ağlarının büyük bölümünü açıklayamadı. Yine de ilginçti
      Zeki insanların “bu matematiksel yapı şu fikre benziyor; birkaç yapı ekleyip çıkarırsak her şeyi açıklar” demesi nadir değil. Ama gerçekte bilmediğimiz çok şey var
      Bu alandaki teorisyenlerin bir teori getirip yeni bir şey yaptığını ya da işe yarar tahminler sunduğunu görmedim. Genelde sağa sola deniyorlar; çalışırsa sonradan neden çalıştığına makul bir açıklama ekliyorlar, çalışmazsa üstünü kapatıyorlar
      Geçenlerde transformer’ı çekirdek yumuşatma olarak gören bir yazı da vardı: https://arxiv.org/abs/1908.11775
    • Ne demek istediğini anlıyorum, ama farklı derinlikteki alternatif yollar üzerinden yakınsamak da başlı başına bir sinyal
      Tekrarlı yeniden keşif ille de israf değildir; birden fazla ulaşım yolu olan derin bir gerçeği doğrulama ve geçerleme süreci de olabilir
    • Yan taraftaki başka bir başlıkta, sinir ağlarının eğitim verisine belirli bir hata payı içinde uymasının telif hakkı açısından ne anlama geldiği konuşuluyor
      Bilgi teorisi ders kitaplarının önemli bir kısmı bu tür ağların içerik adreslenebilir (content-addressable) niteliğine zaten değiniyor[1] ve bu amaçla sıkıştırma gibi uygulamalarda da kullanılıyorlar[2][3]
      Bu yüzden NYT’nin OpenAI modeline kendi makalelerinden birkaç paragrafı prompt olarak verdiğinde neredeyse aynen yeniden üretilmesi de şaşırtıcı değil
      [1] https://www.inference.org.uk/itprnn/book.pdf
      [2] https://bellard.org/nncp/
      [3] https://pub.towardsai.net/stable-diffusion-based-image-compr...
    • Öyleyse Shannon neden GPT’yi yapamadı diye düşünüyor insan
  • Google'ın, aynı kelimeyi sürekli tekrarlamasını söylerseniz ChatGPT'nin eğitim verilerini olduğu gibi kusmasını sağlayabileceğinizi belirtmesini[0][1] görünce aklıma tam olarak aynı fikir gelmişti. Birinin bunu gerçekten uygulamış olmasına sevindim
    Buradan iki ek soru çıkıyor

    1. Bu “Ey yapay zeka, yapay zekayı yakala” yaklaşımı, eğitim verilerini gradyan inişi geri yayılımıyla modele sıkıştırıp sonra özel bir yapay zeka yardımcı işlemcisinde çalıştırmaktan enerji açısından daha verimli mi?
    2. Bu sonuç, OpenAI ve Stability AI'a karşı devam eden davalarda delil olabilir mi?
      [0] Eskiden mümkündü. OpenAI artık bağlam penceresini tek bir kelimeyle doldurursanız üretimi engelliyor
      [1] https://arxiv.org/abs/2311.17035
    • Bu yaklaşım, özgün modeli çalıştırmaktan daha verimli olamaz. Çünkü aktivasyon değerlerini elde etmek için özgün modeli çalıştırmanız, sonra da bu aktivasyon değerlerine benzer dizeleri derlemde arayıp sonraki token istatistiklerini hesaplamanız gerekir
      Atlanan çok fazla adım yok; aksine üzerine epey ek iş biniyor
      Modelin eğitim derlemi ile benzer aktivasyon dizelerini aramak için kullanılan derlemi tamamen ayırsanız bile neredeyse aynı sonucun çıkacağını düşünüyorum. Zor olan kısım, en başta sonraki token istatistikleri benzer olan dizelerin benzer aktivasyon değerleri üretmesini sağlamak
      Katman ağırlıkları [0.01, 0.01, 0.1, 1.5, 6, 0.01] içinde en önemlisi sondan bir önceki katman ve bu noktada girdi zaten epey dönüştürülmüş durumda. Bu yüzden bununla transformer'ı eğitim verisi üzerinde basit bir grep ile değiştirebileceğinizi beklememek gerekir
      Sondan bir önceki katmanın ağırlığının son katmandan çok daha büyük olmasının nedeni muhtemelen indüksiyon başlıkları. https://transformer-circuits.pub/2021/framework/index.html adresinde olduğu gibi, girdideki tekrar eden dizeleri kopyalama işlevini uygulayan; sondan bir önceki katmanın neyi arayacağını belirlediği, son katmanın da kopyalamayı yaptığı bir yapı olabilir
    • LLM çıktısının, eğitim verilerine dayalı sonraki token olasılıklarına göre geldiği fikrinden söz ediyorsanız, bu zaten iyi bilinen temel bir gerçek; bu yüzden bu sonucun delil olma ihtimali düşük görünüyor
      Bu yazının katkısı, yazarın da söylediği gibi transformer'ın kendisine odaklanan “nasıl uygulanıyor?” yazılarından farklı olarak, doğrudan GPT yapan teknik okura bunu göstermesi
    • Engellenmeden önce denediğim kadarıyla, gerçek eğitim verisi gibi görünen şeyleri halüsinasyon olarak üretiyordu
      Yakından bakınca var olmayan ve başı sonu tutmayan GitHub README'leri, içi boş tanıtım broşürleri, rastgele sohbetler gibi şeylerdi
    • Bağlantısı verilen arXiv makalesinde bunun saldırı, etik ve sorumlu açıklama olarak ele alınması ilginçti
      Ama böyle modelleri eğitmek için tüm interneti kazımaya asla saldırı denmiyor
    • Bir eserin telif hakkı varsa, o eserin zip dosyası üzerindeki haklara da doğal olarak sahip olursunuz
      O halde o eserin içindeki karakter olasılık dağılımı üzerinde de hakkınız olduğunu düşünmemek için neden olsun?
  • Andrej Karpathy'nin NanoGPT'sini öğrenir öğrenmez Rusça Savaş ve Barış üzerinde eğittim; sadece 3 MB'lık bir model olmasına rağmen Rusça dil bilgisini neredeyse çözmüş olması ilginçti
    Rusça karmaşık bir sentetik ve çekimli yapıya sahip. Örneğin “na” (“upon”) edatından sonra belirtme hâlinde bir isim gelmeli; bu, canlı eril isimlerde -a, cansız isimlerde sıfır ek, “soft consonant” ile biten isimlerde -ia, dişil isimlerde -u vb. biçimlerde görülür
    Ayrıca “kullanmak” fiili, araç olarak kullanılan bir isimle izleniyorsa araç hâlini gerektirir
    Kusursuz değildi ve hataları vardı, ama NanoGPT'nin sadece 3 dakikalık eğitimle belirli karmaşık kuralları çıkarımlayabilmiş olması ilginçti. Ürettiği tam örnek cümleleri metinde aradım ama birebir eşleşen bir şey yoktu
    Yine de dil bilgisini bir ölçüde anlasa da, anlamsal olarak tamamen saçmalıktı

    • Ek çekimleri eğitim metnindeki en yaygın token'lar arasında olacağından bu çok da şaşırtıcı değil
  • Aynı sistemi gösteren iyi bir 3D görselleştirme vardı ve birlikte okunursa çok etkili olacağını düşünüyorum
    LLM Visualization (https://bbycroft.net/llm)
    https://news.ycombinator.com/item?id=38505211

    • Bu görselleştirmeye harcanan emeği takdir ediyorum, ama sinir ağlarıyla 9 yıl uğraşmış biri olarak bana yardımcı olmaktan çok daha fazla kafa karıştırıcı geldi
      Bence bunun nedeni her şeyi aynı anda göstermeye çalışması ve soyut kavramlara ertelememesi, ama emin değilim
  • Güzel bir proje, ancak analiz edilen model hem boyut hem de eğitim verisi miktarı açısından fiilen bir oyuncak model
    Bu yüzden bu model daha basit bir modelle, muhtemelen bir n-gram dil modeliyle de yaklaştırılabilir; ama daha büyük dil modellerinin nasıl çalıştığını temsil ettiğini söylemek zor

    • Muhtemelen doğru. Daha küçük bir model yaparsanız, nasıl çalıştığına dair çok daha basit bir açıklama da oluşturabilirsiniz
  • Yazarın LLM’in bir Markov zinciri metin üreticisi olduğunu mu iddia ettiğini merak ediyorum
    Yani üretilen bir sonraki token’ın olasılık dağılımı, eğitim verisindeki ilgili token dizisinin olasılığıyla aynı mı demek istiyor?
    Öyleyse, orijinal eğitim verisinden “öylece” bir Markov zinciri oluşturursak LLM’e benzer bir performans elde edebileceğimiz anlamına mı gelir?

    • LLM şu anlamda bir Markov zinciridir
      Durum, bağlam uzunluğu kadar token vektörüdür ve model geçiş matrisini tanımlar. Verilen bağlam uzunluğu boyutundaki bir token vektörü için, bir sonraki bağlam uzunluğu boyutundaki token vektörünün olasılığını üretir
    • Hayır. LLM aynı metni öylece kopyalamaz; daha çok metni self-attention ile “sınıflandırıp” ardından basit bir Markov zinciri uygulamaya benzer
      Zor kısım, hangi eğitim verisi metninin prompt metnine “benzer” olduğunu bilen sınıflandırmadır
      Blog yazısındaki örnek şöyle
      Original string: 'And only l'
      Similar strings: 'hat only l' 's sickly l' ' as\nthey l' 'r kingly l'
    • Yazıda “transformer’ın yaptığı öne sürülen işi imperatif kodla uyguladım ve transformer’a çok benzer çıktı üretiyor” deniyor
      Bu, transformer’ı baypas edip aynı sonucu elde etmenin bir yolu olabileceği anlamına geliyor. Daha verimli olup olmadığını merak ediyorum
      Örneğin, bir temel model verildiğinde başka bir şeyi eğitip çok daha küçük cihazlarda çalıştırmak mümkün olabilir
  • Yazarın tam olarak neyi gösterdiğini iddia ettiğini anlamak epey zor
    “Interpretation: Why Does the Approximation Work?” bölümünü birkaç kez okudum ama transformer adımlarının mekanik bir açıklaması gibi geldi. Temel iddianın ne olduğunu bilmiyorum

  • attention ve FF displacement’ın genelde aynı yönü işaret etmesi bilinen bir olgu mu merak ediyorum
    Katmanlar boyunca aynı latent uzayda olmaları bile biraz şaşırtıcı. FF ağı keyfi bir rotasyon yapamaz mı? Sanırım bir şeyi yanlış anlıyorum

    • Çok yüksek boyutlu bir vektörün 2D’de temsil edilmiş hâli
      Bir şeylerin kaçınılmaz olarak dışarıda kalması gerekir; yüksek boyutlu uzaydaki keyfi rotasyonu doğru biçimde betimlemek de dışarıda kalanlardan biri
    • Attention toplamasını ölçeklemeyle değiştirip kontrol etmek iyi olur