18 puan yazan xguru 2024-04-09 | 1 yorum | WhatsApp'ta paylaş
  • Andrej Karpathy'nin saf C/CUDA ile yazdığı basit bir LLM eğitim kodu
  • PyTorch/cPython gerektirmez
  • Yaklaşık 1000 satırlık tek bir dosyayla GPT-2 (CPU, fp32) eğitilebiliyor
    • İlk çalışan örnek olarak GPT-2'nin seçilme nedeni, modern yığının ilk kez bir araya geldiği LLM'lerin büyükbabası olması
  • Anında derlenip çalıştırılabiliyor ve PyTorch referans uygulamasıyla birebir örtüşüyor
  • Şu anda üzerinde çalışılanlar
    • Çok daha hızlı ve muhtemelen PyTorch'a daha da yaklaşacak doğrudan CUDA uygulaması
    • SIMD komutları, x86 üzerinde AVX2 / ARM üzerinde NEON (ör. Apple Silicon) ile CPU sürümünü hızlandırma
    • Daha modern mimariler (ör. Llama2, Gemma vb.)

1 yorum

 
xguru 2024-04-09

Hacker News görüşleri

  • Projeye hayranlığını dile getirirken, mevcut CUDA kısmının henüz uygulanmadığını belirtiyor. GPU kodu henüz depoda yok.

    Proje biraz daha olgunlaştığında, bunun nasıl inşa edildiğine dair ayrıntılı bir video hazırlanmasını umduğunu söylüyor.

  • JAX ile yazılmış nano GPT'yi gördükten sonra, şimdi de C/CUDA ile yazılmış bir sürüm görmek istiyor. Mojo'da nano GPT'nin mümkün olup olmadığını merak ediyor. Python'ın diğer dillere kıyasla birçok kullanışlı özelliğe sahip olduğunu kabul ediyor.

  • Doğrudan CUDA uygulamasının PyTorch'tan çok daha hızlı olacağını düşündüğünü ifade ediyor. GPU-RAM fiyatları düşünüldüğünde, CPU tarafındaki hız artışının ne kadar olacağını merak ediyor. RTX serisine SO-DIMM yuvaları ekleyip RAM'i gerektiğinde genişletmenin önünde teknik bir engel olup olmadığını soruyor.

  • GPT-2'nin zaman serisi verilerine nasıl uygulanacağına dair, özellikle eşdeğişkenler (covariates) içeren durumlar için bir örnek olup olmadığını soruyor. LLM'lerin önceki token'lardan bir sonraki token'ı tahmin etmesiyle zaman serisi tahmini arasında benzerlik olduğunu düşünüyor.

  • İsmin muhtemelen kendi llm.f90 projesinden alınmış olabileceğini düşünüyor. Bunun Karpathy'nin llama2.c projesine dayandığını ve başka mimarileri de desteklemesi için adını değiştirdiğini söylüyor. Muhtemelen sadece bir tesadüf.

  • Lex'in Andre ile konuştuğunda, Andre'nin soruna olumlu anlamda takıntılı yaklaşıp "bunun mutlaka var olması gerek" dediğini aktarıyor. Bu projenin de böyle sonuçlardan biri olduğunu düşünüyor.

  • Sıfırdan başlayacak olsa, bu kodun ne yaptığını ve nasıl okunması gerektiğini anlamak için hangi kaynaklara bakması gerektiğini soruyor. LLM'ler hakkındaki bilgisinin çok sınırlı olduğunu ve bu alanda kısa değişken adlarının standart olup olmadığını merak ediyor.

  • Bu projeyi açıklayan ve test eğitiminin nasıl çalıştırılacağını gösteren bir eğitim içeriği hazırlanmasının iyi olacağını söylüyor. Kişisel donanımda "gerçek" bir modeli eğitmenin gerçekçi olmadığını, ancak pratik bir öğrenme deneyimine ihtiyaç duyduğunu belirtiyor.

  • CUDA'nın yapay zeka çalıştırmak için hâlâ tek gerçek seçenek olup olmadığını, yoksa AMD/Intel/diğer yöntemlere verilen desteğin artıp artmadığını merak ettiğini ifade ediyor.