EMZETT.
Login

Batch, Epoche und Lernrate

Kurz: Ein Batch ist ein Stapel von Beispielen, mit dem ein Trainingsschritt gemacht wird. Eine Epoche ist ein Durchgang durch alle Trainingsdaten. Die Lernrate bestimmt die Schrittgröße.

Genauer: Statt ein Beispiel nach dem anderen oder alle auf einmal zu verwenden, nimmt man Mini-Batches. Das nutzt Grafikkarten gut aus und glättet den Gradienten.

Im Detail

  • Batchgröße: Typisch 32 bis 512 bei Bildern, bei Sprachmodellen Millionen Token pro Schritt (über viele GPUs).
  • Schritt (Iteration): Ein Gewichts-Update pro Batch. Schritte pro Epoche = Datenmenge / Batchgröße.
  • Epoche: Kleine Modelle trainieren viele Epochen. Große Sprachmodelle sehen die Daten oft nur ein- bis viermal.
  • Gradienten-Akkumulation: Mehrere kleine Batches nacheinander verrechnen, um einen großen zu simulieren, wenn der Speicher knapp ist.
  • Lernrate: Üblich 1e-3 (kleine Netze) bis 1e-5 (Feinabstimmung großer Modelle). Gleichzeitig mit der Batchgröße einstellen.
  • Verlustkurve: Man beobachtet Trainings- und Validierungsverlust. Springt die Kurve, ist die Lernrate zu hoch.
  • Checkpoint: Zwischenstände speichern, um nach Absturz weiterzumachen.

Siehe auch: Optimierer: SGD, Momentum und Adam, Training, Validierung und Test