2 puan yazan GN⁺ 2023-09-24 | 1 yorum | WhatsApp'ta paylaş
  • Yazar, basit dizileri tahmin eden ve transformer ile attention mekanizmasını daha derinlemesine anlamasını sağlayan, GPT-2 benzeri bir transformer modeli elle kurdu.
  • Transformer, mevcut ağırlıklar kullanılarak eğitilmedi; her ağırlık manuel olarak atandı.
  • Transformer için seçilen görev, sonraki çıktıyı belirlemek üzere önceki iki token’a bakmayı gerektiren "aabaabaabaab..." dizisini tahmin etmekti.
  • Yazar, 'a'yı 0, 'b'yi 1 olarak gösteren bir tokenizasyon şeması kullandı.
  • Modelin kodu, jaymody’nin picoGPT GPT-2 implementasyonunu temel alıyor ve sadeleştirme için bazı değişiklikler içeriyor.
  • Model boyutları; 5’lik bir context length, 2’lik bir vocabulary size ve 8’lik bir embedding size içeriyor.
  • Yazar embedding ağırlıklarını tasarladı; ilk 5 elemanı konum için one-hot embedding, sonraki 2 elemanı ise token id için one-hot embedding olarak kullandı.
  • Transformer bloğu; q, k, v matrisleri üretmek, sonucu yeniden embedding’e projekte etmek ve ardından bunu token embedding ağırlıklarını kullanarak bir sonraki token logit kümesine yeniden projekte etmek üzere tasarlandı.
  • Yazar, attention head tasarımı ve embedding uzayına projeksiyon hakkında ayrıntılı bir açıklama sunuyor.
  • Son adım, transformer bloğunun çalıştırılması sonucunun transpoze edilmiş token embedding ağırlıklarıyla çarpılarak nihai logitlerin elde edilmesini içeriyor.
  • Model, softmax fonksiyonunu çıkarım için kullanıyor ve verilen dizi için makul tamamlamalar üretebiliyor.
  • Model, belirsiz olmayan context ile test edildiğinde %100 başarı oranına ulaştı.
  • Yazar, okuyucuların transformer ve attention hakkında daha sezgisel bir anlayış kazanmasını ve kendi modellerini yapmayı denemesini teşvik ediyor.
  • Yazı, hesaplamaları numpy ile yapan ve tokenizasyon, tahmin ve dizi tamamlama için fonksiyonlar tanımlayan modelin tam kodunu içeriyor.
  • Yazar, context window’u küçültme ve fused multiply-add ile KV caching gibi teknikler kullanarak modelin verimliliğinin artırılabileceğini öne sürüyor.
  • Bu yazı, özellikle makine öğrenmesi ve yapay zeka ile ilgilenen, dil modelleri alanındaki kişilere hitap ediyor.

1 yorum

 
GN⁺ 2023-09-24
Hacker News görüşü
  • Bu yazı, basit dizileri manuel olarak tahmin eden bir transformer oluşturmayı ele alıyor.
  • İlgili çalışma olan "Thinking Like Transformers", transformer bileşenleriyle modellenebilen ilkel bir programlama dili olan RASP'ı tanıtıyor.
  • RASP benzeri programlar, eğitim olmadan model ağırlıklarına derlenebilir.
  • Dropout'un önemi ve token'lar üzerinde eğitimin paralelleştirilmesi dahil olmak üzere anlayışı artırmak için, bir transformer'ı sıfırdan uygulamanın tavsiye edildiği belirtiliyor.
  • Yazı, transformer'larla doğrudan çalışma deneyiminin beklenmedik öğrenme sonuçları doğurabileceğini öne sürüyor.
  • Karpathy ve diğerleri tarafından hazırlanan videolar, transformer'ları anlamaya yardımcı kaynaklar olarak anılıyor.
  • Alan uzmanlarının manuel ince ayarla eğitimi hızlandırabileceği model ağırlıkları için sezgisel bir arayüz fikri öneriliyor.
  • Yazı, transformer'lara dair net açıklamaları sayesinde teknik kavramları daha erişilebilir hale getirdiği için övgü alıyor.
  • Transformer'lar, Turing makinesi ya da düzenli ifadeleri ayrıştıran makineler gibi soyut makinelere benzetiliyor.
  • Yazar, pratik uygulamaların şüpheli olduğunu düşünse de okurları kendi modellerini yapmaya teşvik ediyor.
  • Yazı ilgi çekici ve bilgilendirici bulunuyor; teknik okurlar arasında tartışma ve fikir üretimini tetikliyor.