Aktuelle Beiträge
Lade Beiträge…
📰 Alle Beiträge 📬 Newsletter
Training

Batch Size

Die Batch Size bestimmt, wie viele Trainingsbeispiele ein neuronales Netz gleichzeitig verarbeitet, bevor es seine Gewichte aktualisiert. Sie ist einer der wichtigsten Trainings-Hyperparameter — und einer der unterschätztesten.

Am einen Extrem steht Stochastic Gradient Descent (SGD) mit Batch Size 1: Nach jedem einzelnen Beispiel wird das Netz aktualisiert. Das Lernen ist schnell und verrauscht — der Zufall hilft manchmal, aus lokalen Minima zu entkommen. Am anderen Extrem steht Full-Batch Training: Das gesamte Dataset wird verarbeitet, bevor ein einziger Update-Schritt erfolgt. Das Lernen ist stabil, aber extrem langsam und speicherhungrig.

In der Praxis liegt die Batch Size typischerweise zwischen 16 und 4096. Die Wahl hat fundamentale Auswirkungen. Größere Batches ermöglichen effizientere GPU-Auslastung durch Parallelisierung. Kleinere Batches generalisieren oft besser — ein Phänomen, das Keskar et al. (2016) als „sharp vs. flat minima" analysierten: Kleine Batches finden flachere, robustere Minima in der Verlustlandschaft.

Für große Sprachmodelle sind die Batch Sizes enorm. GPT-3 wurde mit einer effektiven Batch Size von 3,2 Millionen Tokens trainiert. Um solche Mengen auf verteilte GPU-Cluster aufzuteilen, kommen Techniken wie Data Parallelism und Gradient Accumulation zum Einsatz.

Ein häufiger Anfängerfehler: Die Batch Size ändern, ohne die Lernrate anzupassen. Die lineare Skalierungsregel (Lerning Rate ∝ Batch Size) ist eine bewährte Faustregel, die Goyal et al. (Facebook, 2017) für verteiltes Training empirisch bestätigten.

Hyperparameter