TurboGPT is een open-source project (MIT-licentie) waarmee kleine GPT-modellen op byte-niveau getraind kunnen worden met behulp van CUDA C++. Het is compatibel met Linux (via NixOS) en Windows (via Visual Studio 2022).
De belangrijkste kenmerken zijn:
- Training & Herstel: Het model slaat checkpoints op, waardoor trainingen eenvoudig hervat kunnen worden.
- Logging: Er worden TensorBoard-compatibele logs gegenereerd voor het monitoren van de voortgang.
- Prestaties: Bij gebruik van de
hn1g-dataset werd na 1,5 miljard tokens een resultaat van 2,5295 BPB behaald.
- Verificatie: Er is een Python-script beschikbaar om de functionaliteit van de training te testen.
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
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