Gradienten-Kappung
Gradient Clipping skaliert den Gradientenvektor neu, wenn seine globale L2-Norm einen Schwellenwert t überschreitet. Die Operation lautet: Wenn ||g|| > t, dann g = g * (t / ||g||). Dadurch bleibt die Gradientenrichtung erhalten, während seine Magnitude auf genau t begrenzt wird, anders als bei elementweisem Wert-Clipping, das die Richtung verzerrt. In der Praxis wird der Schwellenwert zwischen 0,5 und 5,0 gesetzt: GPT-2 und GPT-3 verwenden t = 1,0, LLaMA verwendet 1,0 und PaLM verwendet 1,0, womit 1,0 der De-facto-Standard für das Vortraining von Transformern ist. Ein einzelner anomaler Batch, bei dem die Verlustfunktion auf extreme Eingaben trifft, kann eine Gradientennorm erzeugen, die dem 10- bis 100-fachen des typischen Wertes entspricht; ohne Clipping schickt dies die Gewichte auf einen großen Schritt in eine Region mit hohem Verlust und verursacht einen Verlustausreißer, von dem sich das Training möglicherweise nicht erholt. Das Diagramm zeigt einen Gradientennorm-Ausreißer von 6,1 bei Schritt 34 (gegenüber einem typischen Wert von etwa 0,4): Ohne Clipping divergiert der Trainingsverlust; mit Clipping bei 1,0 wird die Norm neu skaliert und das Training verläuft störungsfrei weiter.