TurboGPT: Train een kleine GPT in minder dan een minuut (alleen CUDA)

Bouwen

Linux/NixOS: nix-build -o build/nix-result

Windows (Visual Studio 2022 C++ tools en CUDA 13.4): .\build.ps1 -CudaArch 86

Opmerking: CudaArch verwijst naar de GPU compute capability uit de CUDA GPU-lijst van NVIDIA.

Uitvoeren

Start de applicatie met het volgende commando: .\build\turbogpt.exe --data hn1g.txt --log-to runs/ctx4

Checkpoints en voortgang

De uitvoering slaat het checkpoint op in runs/ctx4/ctx4.pt. Dit bestand bevat de status van het model, de optimizer, de scheduler en de trainer. Om een training te hervatten, kan het commando --load CHECKPOINT.pt worden gebruikt.

Logging

Het bestand runs/ctx4/report.json is afgeleid van de log-directory. De logs zijn compatibel met TensorBoard en hebben de volgende kenmerken:

  • Er wordt één rapport per batch gegenereerd.
  • Het aantal rapporten is begrensd op 8 miljoen.
  • Logs worden geflusht bij periodieke checkpoints of bij het definitieve checkpoint.

Resultaat

Voor de dataset hn1g na 1,5 miljard training tokens is een resultaat van 2,5295 BPB (Bits Per Byte) behaald.

Tests

Om de functionaliteit te verifiëren, kan het volgende commando worden uitgevoerd: python tests\verify.py