1 puan yazan GN⁺ 2024-09-01 | 1 yorum | WhatsApp'ta paylaş
  • Hafta sonunda birkaç saat ayırarak LLM’lerin nasıl çalıştığını kod üzerinden adım adım izleyip uygulama, eğitme ve kullanma akışını tek seferde görebileceğiniz bir atölye
  • Uygulamalı çalışma, LLM tanıtımıyla başlayıp girdi verisi, tokenizer ve model mimarisinin uygulanmasına doğru adım adım ilerliyor
  • Mimari uygulamasının ardından GPT-2 ve Llama 2, ön eğitim ve önceden eğitilmiş ağırlıkların yüklenmesi ele alınıyor; böylece gerçek model kullanım akışına bağlanıyor
  • LitGPT ile ağırlık kullanımı, instruction fine-tuning, benchmark değerlendirmesi ve diyalog performansı değerlendirmesi de içeriliyor
  • Kitap, GitHub deposu, atölye kodları, Lightning Studio ve LitGPT deposu birlikte sunulduğu için birebir takip etmek kolay

3 saatlik atölye videosunun akışı

  • LLM’leri uygulama, eğitme ve kullanma süreci tek bir kodlama atölyesinde ele alınıyor
  • Tıklanabilir bölüm işaretleri sayesinde doğrudan istediğiniz konuya geçebilirsiniz
  • Temeller ve girdi işleme

    • 0:00 Atölyeye genel bakış
    • 2:17 LLM tanıtımı
    • 9:14 Atölye materyalleri
    • 10:48 LLM girdi verisini anlama
    • 23:25 Basit bir tokenizer sınıfı
  • Model uygulaması ve eğitim

    • 41:03 LLM mimarisini kodlama
    • 45:01 GPT-2 ve Llama 2
    • 1:07:11 Ön eğitim
    • 1:29:37 Önceden eğitilmiş ağırlıkları yükleme
    • 1:45:12 LitGPT ile ön eğitim ağırlıklarını kullanma
  • Fine-tuning ve değerlendirme

    • 1:53:09 Instruction fine-tuning
    • 2:08:21 LitGPT ile instruction fine-tuning
    • 2:26:45 Benchmark değerlendirmesi
    • 2:36:55 Diyalog performansı değerlendirmesi
    • 2:42:40 Kapanış

Takip etmek için gereken materyaller

1 yorum

 
GN⁺ 2024-09-01
Hacker News yorumları
  • Cahilce bir soru olabilir ama bunun Andrej Karpathy’nin https://www.youtube.com/watch?v=kCc8FmEb1nY içeriğinden farklı olup olmadığını merak ediyorum
    • Andrej’in serisi de harika; Sebastian’ın kitabı ve bu videosu da harika
      Çok örtüşen kısım var ama bazı konuları daha ayrıntılı ele alıyorlar ya da odakları farklı. Andrej’in tüm serisi kesinlikle izlemeye değer; ileride gelecek Eureka Labs çalışmaları da çok iyi görünüyor. Sebastian’ın blogu ve kitabı da zaman ve para ayırmaya değer bence
  • Sebastian’ın yazılarını seviyorum, kitabını da merakla bekliyorum. LLM’lerin nasıl inşa edildiğine dair çok ayrıntı var; uzun vadede savaş alanı oraya kayıyor gibi göründüğünden, Llama ve OpenAI’ın eğitim verilerini nasıl temizleyip yapılandırabildiğine de daha fazla değinse güzel olurdu
  • PyTorch kullanmak sıfırdan LLM yapmak değildir
    İyi bir PyTorch eğitimi olabilir ama düşük seviye gibi davranmayalım demek istiyorum
    • Elmalı turtayı sıfırdan yapmak istiyorsan önce evreni icat etmen gerekir
    • Sebastian’ın içeriklerini gerçekten seviyorum ama bu konuda katılıyorum. Karpathy serisindeki gibi otomatik türev alma motorunu sıfırdan yaparak başlamadan derin öğrenmeye doğru dürüst girememiştim
      Ondan önce fast.ai ile öğrenmeye çalışmıştım ama doğrudan Pytorch ile ağ kurmaya başladığı için çabucak bıraktım. Lisede Java öğrenmek kadar sıkıcı gelmişti; neyle uğraştığımı anlamam gerekiyordu
    • Bach çalmayı öğrenmek: işe kendi piyanonu yapmakla başlamak
    • Hangi ölçüte göre düşük seviye değil? Python’da yalnızca socket API kullanarak IRC istemcisi yazmak da sıfırdan sayılmaz mı?
    • LLM bağlamında pytorch.nn bile düşük seviyedir. Eğitimde önemli olan, çok fazla soyutlama katmanını aynı anda ele almamaktır
  • Eskiden Azure’da nanoGPT’yi sıfırdan eğitmek için uygulamalı bir rehber yazmıştım. Elle takip etmesi kolay ve pratik sayılır
    https://16x.engineer/2023/12/29/nanoGPT-azure-T4-ubuntu-guid...
    • Gerçekten maliyetin yalnızca 200 dolar olup olmadığını merak ediyorum
      Böyle oluşturulan şeyle neler yapabildiğini ve güncel olayları nasıl öğrettiğini de merak ediyorum
  • Mantıksız olabilir ama programming ya da development yerine coding kelimesinin kullanılmasına karşı içimde temel olarak olumsuz bir his oluşuyor
    • Bu toplulukta dile en takıntılı kesimde yer alan birinin gönderisinde böyle bir tepki çıkması epey gürültülü geliyor
      Şimdi inceleyecek olursak, "code" codex denen ortamın içeriğiyle oluşturulan şeydir. Tarihsel arka plan için https://en.wikipedia.org/wiki/Codex görülebilir; hukuk alanındaki kurallar bütününden başlayıp İngilizcede en azından 16. yüzyıl ortalarından itibaren başka alanlara yayılmıştır
      "program" ise bir niyetler bütününü içerecek şekilde yayımlamak gibidir; örneğin "önce Bach çalınır, ardından Mozart çalınır" gibi bir anlamı taşır. Bu kullanım, "kurallar bütünü" anlamındaki code’dan birkaç yüzyıl sonra ortaya çıkmıştır
      "develop" açıp ortaya çıkarmak anlamına geldiği için güzel ama önceki iki kelime gibi kural ya da sıralı prosedür çağrıştırmaz
    • Brezilyalıyım; bunun ilginç olmasının nedeni, arkadaşlarım ve iş arkadaşlarım arasında İngilizce konuşurken genelde coding kullanmamız, Brezilyalılar kendi aralarında ise Portekizce bir fiil gibi codar dememiz
      Kesin nedenini bilmiyorum ama Brezilya Portekizcesinde "program"ın fuhuşla güçlü biçimde ilişkilendirilmesinden kaynaklanıyor gibi
    • Tamamen katılıyorum. Bir yıl önce de bu konuyu tartışmıştık: https://news.ycombinator.com/item?id=36924239
    • Artık muhtemelen popüler olmayan bir görüş olabilir ama böyle bir değerlendirmenin yargılayıcılık ya da kapı bekçiliği olarak algılandığı bir ortamda bile katılıyorum
    • Bu biraz daha Avrupai bir duyarlılığa yakın
  • Aradığım ayrıntı seviyesi tam olarak bu. Derin öğrenme ve pytorch deneyimim oldukça var; onun sıfırdan uygulanmasını görmek istemiyorum
    Andrej’in materyalleri benim için fazla düşük seviyeli; ayrıntılara dalıp yolumu kaybediyorum. Bu bir eleştiriden çok, benimle benzer durumda olanlara yardımcı olabilecek bir yorum
  • Harika. Daha dün transformer/attention ve LLM’lerin tam olarak nasıl çalıştığını merak ediyordum
    Uzun zaman önce derin RNN’lerde geri yayılımın nasıl çalıştığını takip etmişliğim vardı; geri kalanını görmek de eğlenceli olur diye düşündüm
    • Sezgi kazanmak istiyorsan 3b1b videoları oldukça iyi açıklıyor. Yine de çok ince ayrıntılara inmiyorlar
  • Güzel. Windows 11’de de çalışsa iyi olurdu
    Windows açıkça belirtilmediğinde genelde o ortamda test edilmemiş oluyor ve keyfi sorunlar nedeniyle çoğu zaman düzgün çalışmadığını görüyorum
    • WSL2’de GPU’ya erişilebildiği için sorunsuz çalışacak gibi. Cuda toolkit kurmayı unutmamak gerekiyor; NVidia’nın WSL2’ye özel sunduğu bir seçenek de var
      https://developer.nvidia.com/cuda-downloads?target_os=Linux&...
    • Windows 11’de olmuyorsa WSL’de (Windows Subsystem for Linux) denemek de bir seçenek
  • Bu sayfa aslında YouTube videosunu barındıran bir kapsayıcıdan ibaret. Sayfa açıklamasında aynı bağlantılar bulunduğuna göre, HN bağlantısını doğrudan videoya yönlendirecek şekilde değiştirmek iyi olurdu
    • Aksine, Sebastian Raschka’nın yazı deposunu bulmak için gereken ek adımı azaltmış oluyor
    • O çok sayıda video ve kod paylaşıyor; materyallerinin değeri gerçekten büyük. Sadece üreticiyi desteklemek gerekmez mi?
    • Yazarın kendi web sitesini desteklememek için bir neden var mı? Site de iyi görünüyor