Gradient checkpointing nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Gradient checkpointing, dərin neyron şəbəkələrinin təlimində yaddaşın optimallaşdırılması texnikasıdır. Fikri odur ki, irəli keçid zamanı bütün müvəqqəti aktivləşdirmələri saxlamaq əvəzinə, yalnız bəzi nəzarət nöqtələrini (checkpoints) saxlayırsınız. Geriyə yayılma zamanı (backpropagation) çatışmayan aktivləşdirmələr yenidən hesablanaraq bərpa olunur.
Bu, yaddaş istifadəsini əhəmiyyətli dərəcədə azaltmağa imkan verir ki, bu da çox dərin modellərin və ya məhdud GPU resursları ilə təlim zamanı xüsusilə vacibdir. Ancaq bu, təlim vaxtını artırır, çünki bəzi hesablamalar təkrarlanmalıdır.
PyTorch-də istifadə nümunəsi:
from torch.utils.checkpoint import checkpoint
def custom_forward(x):
# mürəkkəb model hissəsi
return x * x
output = checkpoint(custom_forward, input_tensor)
Beləliklə, gradient checkpointing vaxt və yaddaş arasında kompromisdir və məhdud resurslarla böyük modellərin təliminə imkan verir.