18 poin oleh xguru 2024-04-09 | 1 komentar | Bagikan ke WhatsApp
  • Kode pelatihan LLM sederhana buatan Andrej Karpathy dengan C/CUDA murni
  • Tidak memerlukan PyTorch/cPython
  • Dapat melatih GPT-2 (CPU, fp32) dengan satu file sekitar 1000 baris
    • Alasan memilih GPT-2 sebagai contoh pertama yang berfungsi adalah karena model ini merupakan kakek dari LLM tempat stack modern pertama kali digabungkan
  • Langsung bisa dikompilasi dan dijalankan, serta hasilnya persis cocok dengan implementasi referensi PyTorch
  • Hal yang sedang dikerjakan saat ini
    • Implementasi CUDA langsung yang jauh lebih cepat dan mungkin akan makin mendekati PyTorch
    • Peningkatan kecepatan versi CPU dengan instruksi SIMD, AVX2 pada x86 / NEON pada ARM (misalnya Apple Silicon)
    • Arsitektur yang lebih modern (misalnya Llama2, Gemma, dll.)

1 komentar

 
xguru 2024-04-09

Komentar Hacker News

  • Sambil mengagumi proyek ini, ada yang menunjukkan bahwa bagian CUDA saat ini masih belum diimplementasikan. Kode GPU juga belum ada di repositori.

    Mereka berharap setelah proyek ini lebih stabil, akan dibuat video terperinci tentang cara membangunnya.

  • Setelah melihat nano GPT yang diimplementasikan dengan JAX, mereka sekarang ingin melihat versi yang diimplementasikan dengan C/CUDA. Mereka juga penasaran apakah nano GPT bisa dibuat di Mojo. Mereka mengakui bahwa Python memiliki banyak fitur praktis dibanding bahasa lain.

  • Ada yang menyampaikan ekspektasi bahwa implementasi CUDA langsung akan jauh lebih cepat daripada PyTorch. Mengingat harga GPU-RAM, mereka penasaran seberapa besar peningkatan kecepatan CPU yang bisa dicapai. Mereka juga bertanya apakah ada kendala teknis untuk menambahkan slot SO-DIMM ke seri RTX agar RAM bisa diperluas sesuai kebutuhan.

  • Ada pertanyaan apakah ada contoh cara menerapkan GPT-2 pada data deret waktu, terutama jika menyertakan kovariat (covariates). Mereka merasa prediksi token berikutnya dari token sebelumnya pada LLM mirip dengan peramalan deret waktu.

  • Ada yang mengira namanya diambil dari proyek llm.f90 milik mereka sendiri. Proyek itu berbasis llama2.c karya Karpathy dan namanya diubah agar mendukung arsitektur lain. Mungkin ini hanya kebetulan.

  • Saat Lex berbicara dengan Andre, Andre disebut memiliki obsesi positif terhadap masalah ini dan berkata, "Hal seperti ini harus ada." Proyek ini kemungkinan adalah salah satu hasil dari sikap tersebut.

  • Ada pertanyaan, jika memulai dari nol, referensi apa yang sebaiknya dipelajari untuk memahami apa yang dilakukan kode ini dan bagaimana cara membacanya. Mereka juga memiliki pengetahuan yang sangat terbatas tentang LLM dan bertanya apakah nama variabel yang ringkas memang merupakan standar di bidang LLM.

  • Ada komentar bahwa akan bagus jika dibuat tutorial yang menjelaskan proyek ini dan cara menjalankan pelatihan uji. Melatih model yang "nyata" di perangkat keras pribadi memang tidak realistis, tetapi pengalaman belajar yang praktis tetap dibutuhkan.

  • Ada yang menyatakan rasa penasaran apakah CUDA masih menjadi satu-satunya opsi utama untuk menjalankan AI, atau apakah dukungan untuk menjalankan AI di AMD/Intel/platform lain kini semakin berkembang.