- Andrej Karpathy'nin saf C/CUDA ile yazdığı basit LLM eğitim kodu
- Artık Flash Attention ile birlikte bfloat16 kullanarak çoklu GPU eğitimi yapabiliyor
- Yaklaşık 3000 satırlık C/CUDA koduyla gerçekleştirilmiş olup, genel olarak PyTorch'tan yaklaşık %7'ye kadar daha hızlı
- Şimdiye kadar yapılan çalışmalar
- karma hassasiyetli eğitim (bfloat16)
- birçok kernel optimizasyonu; bunlar arasında, normalize edilmiş logit'leri somutlaştırmayan (mevcut
torch.compile'ın aksine) FusedClassifier da var
- Flash Attention (doğrudan cuDNN'den)
- A100'ü 128 bit yükleme (
LDG.128) ve saklama (STS.128) komutlarını kullanmaya zorlayan Packed128 veri yapısı
- Artık çoklu GPU eğitimi de mümkün
- MPI+NCCL kullanan çoklu GPU eğitiminin ilk sürümü
- NVIDIA Nsight Compute ile tüm eğitim çalışmasının profillenmesi
- ZeRO (optimizer state sharding) 1. aşama birleştirme PR'ı
- Hedef, 124M ile 1.6B arasındaki tüm model boyutları için GPT-2 mini serisini doğrudan C/CUDA içinde yeniden üretmeye yönelik;
kararlı, temiz, test edilmiş, minimal, güçlendirilmiş ve yeterince optimize edilmiş bir LLM yığını oluşturmak
1 yorum
llm.c - ham C/CUDA ile LLM eğitimi