snapshot checkpoint

En snapshot checkpoint er en gemt kopi af en models vægte, optimeringsstat og tilhørende metadata på et bestemt tidspunkt under træning, så træningen kan genoptages eller evalueres senere.

Kort fortalt

Det er som et 'gem spil'-punkt i træningen, hvor du gemmer alt, hvad modellen har lært, så du kan fortsætte senere.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En gemt tilstand af en model under træning, der indeholder vægte, optimeringsparametre og evt. andre træningsvariable, så træningen kan genoptages præcist fra dette punkt.

    • Hver 5. epoch gemmer vi en snapshot checkpoint for at kunne rulle tilbage, hvis modellen overfit.
    • Snapshot checkpointen inkluderer både modelvægte og Adam-optimizerens momentestimater.

Hvornår bruges det

Snapshot checkpoints bruges typisk under langvarig træning for at sikre mod nedbrud, til at evaluere modellen på forskellige tidspunkter, og til at implementere early stopping eller model selection. De gemmes ofte periodisk (f.eks. hver epoch) eller når en metrik forbedres.

Kodeeksempel

import torch

# Gem snapshot checkpoint
torch.save({
    'epoch': epoch,
    'model_state_dict': model.state_dict(),
    'optimizer_state_dict': optimizer.state_dict(),
    'loss': loss,
}, 'checkpoint_{}.pt'.format(epoch))

# Genoptag træning fra checkpoint
checkpoint = torch.load('checkpoint_10.pt')
model.load_state_dict(checkpoint['model_state_dict'])
optimizer.load_state_dict(checkpoint['optimizer_state_dict'])
epoch = checkpoint['epoch'] + 1

Eksempel på at gemme og genindlæse en snapshot checkpoint i PyTorch.

Oprindelse

Termen er sammensat af 'snapshot' (et øjebliksbillede) og 'checkpoint' (kontrolpunkt), begge fra datalogi. 'Snapshot' refererer til en øjeblikstilstand, og 'checkpoint' til et gemt punkt, man kan vende tilbage til.

Afledte ord

2