Einfach erklärt
Batch – Kleine Datenportion fürs Training. Ein Batch ist eine kleine Gruppe von Trainingsbeispielen, die das Modell auf einmal verarbeitet. Statt jedes Beispiel einzeln zu nehmen, packt man mehrere zusammen, rechnet vorwärts und rückwärts darüber und aktualisiert die Gewichte. Das spart Zeit, nutzt die Hardware besser aus und macht die Schätzungen stabiler.
Kurz: Mehrere Beispiele zusammen → ein Rechenschritt → Gewichte updaten.
Ganz einfache Beispiele
• Wäsche waschen: Du füllst die Maschine mit einer Ladung. Diese Ladung ist der Batch. Danach kommt die nächste Ladung.
• Backblech beim Bäcker: Viele Brötchen kommen gemeinsam aufs Blech und gehen zusammen in den Ofen – ein Batch.
• Aufzug: Es fahren mehrere Personen gleichzeitig nach oben. Dann kommt die nächste Gruppe – der nächste Batch.
Professionelle Definition
Ein Batch ist die Teilmenge des Trainingsdatensatzes, die in einem Optimierungsschritt verarbeitet wird. Die Batch‑Größe beeinflusst Rechenaufwand, Speicherbedarf, Rauschen des Gradienten, Durchsatz und oft auch die Generalisierung.
Abgrenzungen und Varianten:
- Sample/Beispiel: Ein einzelner Datensatz.
- Batch: Mehrere Beispiele in einem Schritt; Step/Iteration = Verarbeitung eines Batches.
- Epoch: Einmal alle Trainingsbeispiele gesehen; besteht aus vielen Steps.
- Mini‑Batch: Gebräuchlicher Begriff für „Batch“ in der Praxis (weil kleiner als der ganze Datensatz).
- Micro‑Batch & Gradient Accumulation: Wenn der Batch nicht in den Speicher passt, werden mehrere kleine Micro‑Batches nacheinander gerechnet und die Gradienten aufsummiert, bevor ein Update erfolgt. So simuliert man eine größere effektive Batch‑Größe.
- Global Batch Size (verteiltes Training): Lokale Batch‑Größe pro Gerät × Anzahl Geräte × Accumulation‑Schritte.
- Dynamisches Batching/Bucketing: Beispiele mit ähnlicher Länge (z. B. Token‑Anzahl) zusammenlegen, um Padding zu reduzieren und den Durchsatz zu erhöhen.
Praxisaspekte:
- Große Batches erhöhen den Durchsatz und nutzen GPUs effizient, können aber mehr Speicher brauchen und teils zu schlechterer Generalisierung führen.
- Kleine Batches sind rauschiger (mehr Stochastik), passen leichter in den Speicher und können robuster generalisieren, sind aber langsamer.
- Bei BatchNorm braucht man genügend Beispiele pro Batch; sonst Alternativen wie LayerNorm/GroupNorm nutzen.
- In NLP/Transformer‑Setups ist oft die Anzahl Tokens pro Batch entscheidend, nicht nur die Zahl der Sequenzen.
Praxis‑Tipps
- Batch‑Größe am Speicher limitieren und ggf. Gradient Accumulation verwenden, um eine größere effektive Batch‑Größe zu erreichen.
- Lernrate an Batch‑Größe koppeln (z. B. lineare Skalierung bei größerem Batch) und Warmup nutzen.
- Dynamisches Batching/Bucketing einsetzen, um Padding zu reduzieren und Durchsatz zu steigern.
- Bei BatchNorm ausreichend große Batches oder Norm‑Alternative wählen; bei sehr kleinen Batches LayerNorm/GroupNorm bevorzugen.
- Shuffle pro Epoch aktivieren; bei verteiltem Training den Sampler pro Epoch synchronisieren.
- Tokens statt Sätze als Limit in Sequenz‑Tasks verwenden, damit die Speicherauslastung stabil bleibt.
- Logging: Batch‑Größe, effektive Batch‑Größe (mit Accumulation), Steps pro Epoch und Throughput dokumentieren.
Quellen
- Goodfellow, Bengio, Courville (2016) – Deep Learning (Minibatch‑Training, Optimization)
https://www.deeplearningbook.org/ - Goyal, P. et al. (2017) – Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour
https://arxiv.org/abs/1706.02677 - Smith, S. L., Kindermans, P.-J., Ying, C., Le, Q. V. (2018) – Don’t Decay the Learning Rate, Increase the Batch Size
https://arxiv.org/abs/1711.00489 - Hoffer, E., Hubara, I., Soudry, D. (2017) – Train longer, generalize better: closing the generalization gap in large batch training of neural networks
https://arxiv.org/abs/1705.08741 - PyTorch – DataLoader, Sampler & verteiltes Laden
https://pytorch.org/docs/stable/data.html - Hugging Face Transformers – Trainingsargumente (Batch‑Größe, Accumulation)
https://huggingface.co/docs/transformers/main_classes/trainer#transformers.TrainingArguments
Mehr dazu finden Sie in unseren KI Kursen & Schulungen
und über KI Grundlagen