Slovník výrazov AI/Optimalizácia a trénovanie

Optimalizácia a trénovanie

orezávanie gradientu

Anglický výraz gradient clipping

pokročiléheslo č. 3735 otázok a odpovedí2 odborné zdroje

Presná definícia

Čo znamená orezávanie gradientu?

Orezávanie gradientu obmedzuje extrémne gradienty pred krokom optimalizátora. Clip-by-norm preškáluje celý vektor alebo skupiny, ak norma prekročí prah; clip-by-value oreže jednotlivé zložky do intervalu. Metóda nemení forward výpočet a neodstraňuje príčinu nestability, ale zabraňuje jednej explózii vytvoriť neúmerne veľkú aktualizáciu.

Skúsenosť a kontext

Ako sa pojem používa v praxi

Clipping je bežný pri RNN, transformátoroch a mixed precision. Poradie je dôležité: po škálovanom backward sa gradient najprv odškáluje, potom oreže a až potom optimizer vykoná krok. Tím loguje normu pred orezaním aj podiel orezaných krokov. Ak sa clipping aktivuje takmer stále, prah alebo learning rate môžu zakrývať chybnú stratu, vstupy či architektúru. Pri distribuovanom tréningu sa normy počítajú zo synchronizovaných gradientov podľa implementácie.

Overiteľnosť

Odborné zdroje

  1. Pascanu et al. · Training recurrent networksproceedings.mlr.press
  2. PyTorch · clip_grad_norm_docs.pytorch.org

Praktické odpovede

Často kladené otázky

Ako funguje clip-by-norm?

Zachová smer a zmenší vektor, keď jeho norma prekročí limit.

Čím sa líši clip-by-value?

Každú zložku samostatne obmedzí na interval, a tým môže zmeniť smer.

Kedy pri AMP?

Po unscale a pred optimizer.step.

Čo reportovať?

Pôvodnú normu, prah a podiel krokov, v ktorých sa gradient zmenil.

Lieči explodujúce gradienty?

Obmedzuje následok; zdroj môže byť v dátach, loss, lr alebo dynamike siete.