12 poin oleh xguru 2024-05-06 | 1 komentar | Bagikan ke WhatsApp
  • Kode pelatihan LLM sederhana buatan Andrej Karpathy dalam C/CUDA murni
  • Kini dapat menjalankan pelatihan multi-GPU dengan bfloat16 bersama Flash Attention
  • Diimplementasikan dalam ~3000 baris kode C/CUDA, dan secara keseluruhan hingga sekitar 7% lebih cepat daripada PyTorch
  • Hal-hal yang sudah dikerjakan sejauh ini
    • Pelatihan presisi campuran (bfloat16)
    • Banyak optimasi kernel termasuk FusedClassifier yang tidak mewujudkan normalized logit (berbeda dengan torch.compile saat ini)
    • Flash Attention (langsung dari cuDNN)
    • Struktur data Packed128 yang memaksa A100 menggunakan instruksi load 128-bit (LDG.128) dan store (STS.128)
  • Kini pelatihan multi-GPU juga dimungkinkan
    • Versi pertama pelatihan multi-GPU menggunakan MPI+NCCL
    • Profiling seluruh proses pelatihan dengan NVIDIA Nsight Compute
    • PR merge ZeRO (sharding status optimizer) tahap 1
  • Tujuannya adalah membuat stack LLM yang stabil, bersih, teruji, minimal, tangguh, dan cukup teroptimasi untuk mereproduksi mini-seri GPT-2 secara langsung di C/CUDA untuk semua ukuran model dari 124M hingga 1.6B