21 / 22
Что такое обрезка градиентов — по норме и по значению — и зачем она при обучении RNN и LLM?
Gradient clipping ограничивает grad'ы между loss.backward() и optimizer.step(), чтобы предотвратить exploding gradients в RNN и глубоких сетях. Два варианта: clip by norm (clip_grad_norm_) масштабирует все grad'ы вниз, сохраняя направление — стандарт для LLM с max_norm=1.0; clip by value (clip_grad_value_) обрезает каждый элемент отдельно в [-v, v] — грубее, ломает направление. С AMP обязательно делать scaler.unscale_(optimizer) перед clip.