- Einfacher LLM-Trainingscode von Andrej Karpathy, geschrieben in reinem C/CUDA
- Führt jetzt Multi-GPU-Training in
bfloat16 zusammen mit Flash Attention aus
- Implementiert in ~3000 Zeilen C/CUDA-Code und insgesamt bis zu etwa 7 % schneller als PyTorch
- Bisher erledigte Arbeiten
- Mixed-Precision-Training (
bfloat16)
- Viele Kernel-Optimierungen, darunter ein
FusedClassifier, der normalisierte Logits nicht materialisiert (anders als das aktuelle torch.compile)
- Flash Attention (direkt aus cuDNN)
- Die Datenstruktur
Packed128, die A100 zur Verwendung von 128-Bit-Lade- (LDG.128) und Speicherbefehlen (STS.128) zwingt
- Jetzt auch Multi-GPU-Training möglich
- Erste Version von Multi-GPU-Training mit MPI+NCCL
- Profiling eines vollständigen Trainingslaufs mit NVIDIA Nsight Compute
- Merge-PR für ZeRO (Sharding des Optimizer-Status) Stufe 1
- Ziel ist es, einen stabilen, sauberen, getesteten, minimalen, gehärteten und ausreichend optimierten LLM-Stack zu schaffen, der die GPT-2-Miniserie in allen Modellgrößen von 124M bis 1.6B direkt in C/CUDA reproduziert
1 Kommentare
llm.c - LLM-Training in rohem C/CUDA
unterstützt jetzt Multi-GPU-Training und ist etwa 7 % schneller als PyTorch