Sobes.tech
Middle+

Mi az a gradient checkpointing?

sobes.tech MI

Válasz az MI-től

A gradient checkpointing egy memória-optimalizációs technika mély neurális hálózatok tanítása során. Az ötlet az, hogy ne tároljuk az összes közbenső aktivációt az előrehaladás során, hanem csak néhány ellenőrzőpontot (checkpoints). Visszaterjesztéskor (backpropagation) a hiányzó aktivációk újraszámításával állítják helyre.

Ez jelentősen csökkenti a memóriahasználatot, ami különösen fontos nagyon mély modellek vagy korlátozott GPU-erőforrások esetén. Azonban ez megnöveli a tanulási időt, mivel néhány számítást meg kell ismételni.

Példa a PyTorch-ban:

from torch.utils.checkpoint import checkpoint

def custom_forward(x):
    # összetett modellrész
    return x * x

output = checkpoint(custom_forward, input_tensor)

Így a gradient checkpointing kompromisszum a idő és a memória között, lehetővé téve nagy modellek tanítását korlátozott erőforrásokkal.