AI-hardware en softwarestack
Welke uitspraak over gradient checkpointing (herberekening van activaties) bij training is juist?
- ASlechts een deel van de tussenresultaten van de voorwaartse propagatie wordt opgeslagen en de rest wordt bij backpropagation opnieuw berekend wanneer nodig, waardoor geheugen wordt bespaard ten koste van meer rekenwerk
- BTijdens de training worden de gewichten van het model op schijf opgeslagen
- CEr wordt getraind zonder gradiënten te berekenen
Antwoord en toelichting tonen
Antwoord: A. Slechts een deel van de tussenresultaten van de voorwaartse propagatie wordt opgeslagen en de rest wordt bij backpropagation opnieuw berekend wanneer nodig, waardoor geheugen wordt bespaard ten koste van meer rekenwerk
Backpropagation heeft de tussenresultaten van de voorwaartse propagatie van elke laag nodig, maar als alles wordt opgeslagen, groeit het geheugen evenredig met het aantal lagen en de batchgrootte. Bij gradient checkpointing worden alleen de resultaten van elke enkele lagen opgeslagen en wordt, als backpropagation bij dat traject komt, de voorwaartse propagatie vanaf het opgeslagen punt opnieuw berekend om de benodigde waarden terug te maken. Het rekenwerk van de voorwaartse propagatie neemt met circa één keer toe, in ruil voor een sterke afname van het activatiegeheugen.