<EbeneX/>
Grundlagen · Updated 3. März 2026

Epoch / Batch / Iteration

Definition

Die drei Zeiteinheiten des Machine-Learning-Trainings: Eine Epoch ist ein kompletter Durchlauf aller Daten, ein Batch ist eine Teilmenge, und eine Iteration ist ein Trainingsschritt.

Einsteiger 3 Min. Lesezeit EN: Epoch / Batch / Iteration

Einfach erklärt

Epoche, Batch und Iteration sind die drei Zeiteinheiten des Modell-Trainings. Eine Epoche bedeutet, dass das Modell den gesamten Trainingsdatensatz einmal gesehen hat. Da Datensätze oft zu groß sind, um sie auf einmal zu verarbeiten, werden sie in Batches aufgeteilt. Eine Iteration ist ein einzelner Trainingsschritt mit einem Batch. Das Verständnis dieser Begriffe ist entscheidend, um Trainings-Hyperparameter richtig einzustellen und Trainingsverläufe zu interpretieren.

Diese drei Begriffe beschreiben, wie das Training eines KI-Modells zeitlich strukturiert ist.

Rechenbeispiel:

Datensatz: 10.000 Beispiele
Batch Size: 100
Epochs: 5

-> 100 Iterationen pro Epoch (10.000 / 100)
-> 500 Iterationen insgesamt (100 × 5)
-> Jedes Beispiel wird 5 Mal gesehen

Visualisierung:

Epoch 1: [Batch 1][Batch 2][Batch 3]...[Batch 100] → Loss: 2.5
Epoch 2: [Batch 1][Batch 2][Batch 3]...[Batch 100] → Loss: 1.8
Epoch 3: [Batch 1][Batch 2][Batch 3]...[Batch 100] → Loss: 1.2
...

Technischer Deep Dive

Batch Size und Auswirkungen

Batch SizeVorteileNachteile
Klein (8-32)Wenig GPU-Speicher, RegularisierungseffektInstabile Gradienten, langsam
Mittel (64-256)Guter Kompromiss-
Groß (512+)Stabile Gradienten, schnell auf GPUsViel Speicher, kann Generalisierung verschlechtern

Gradient Accumulation

Wenn die gewünschte Batch Size nicht in den GPU-Speicher passt:

  • Mehrere kleine Batches verarbeiten
  • Gradienten akkumulieren
  • Erst nach N Schritten ein Update durchführen
  • Effektive Batch Size = Micro-Batch × Accumulation Steps

Shuffling

Daten werden vor jeder Epoch zufällig gemischt, damit das Modell nicht die Reihenfolge lernt. Besonders wichtig bei sortierten oder gruppierten Datensätzen.

Learning Rate Scheduling

Die Learning Rate wird oft über Epochs hinweg angepasst:

  • Warmup: Langsam starten, dann erhöhen (erste 5-10% der Iterationen)
  • Decay: Gegen Ende reduzieren für Feintuning
  • Cosine Annealing: Sanfte Reduktion nach Cosinus-Kurve

Code-Beispiel (PyTorch)

from torch.utils.data import DataLoader

# Datensatz mit 10.000 Beispielen
dataset = MyDataset()  # len(dataset) = 10000

# Batch Size 32 → 313 Iterationen pro Epoch (10000/32 = 312.5, aufgerundet)
loader = DataLoader(dataset, batch_size=32, shuffle=True)

num_epochs = 10
for epoch in range(num_epochs):
    for iteration, (inputs, labels) in enumerate(loader):
        # Forward + Backward + Update
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        optimizer.zero_grad()
        
        if iteration % 100 == 0:
            print(f"Epoch {epoch+1}/{num_epochs}, Iter {iteration}, Loss: {loss.item():.4f}")

Typische Werte in der Praxis

ModelltypEpochsBatch SizeBegründung
CNN (ImageNet)90-300256-4096Viele Epochs, große Batches
BERT Fine-Tuning2-416-32Wenige Epochs reichen
LLM Pre-Training1-21M+ TokensRiesige Datenmenge, wenige Durchläufe
Stable Diffusion12048Einmal durch die Daten

Stell dir vor, du lernst mit einem Stapel Karteikarten: Eine Epoch ist einmal den ganzen Stapel durchgehen. Ein Batch ist eine Handvoll Karten, die du gleichzeitig anschaust. Eine Iteration ist das Lernen aus einer Handvoll.

Epoch: Ein kompletter Durchlauf durch den gesamten Trainingsdatensatz

Batch: Eine Teilmenge der Daten, die in einem Schritt verarbeitet wird

Iteration: Ein einzelner Trainingsschritt (Forward + Backward Pass für einen Batch)

Training konfigurieren

Festlegen, wie lange und in welchen Portionen ein Modell trainiert wird

GPU-Speicher managen

Batch Size bestimmt, wie viel GPU-Speicher pro Schritt benötigt wird

Training überwachen

Loss pro Epoch oder Iteration tracken, um Fortschritt zu bewerten

Wie viele Epochs braucht man?

Das variiert stark. Klassisches ML: 10-100 Epochs. Deep Learning: 1-50 Epochs. LLM Pre-Training: oft nur 1-2 Epochs über den gesamten Datensatz. Zu viele Epochs → Overfitting.

Welche Batch Size ist optimal?

Typisch 16-512. Größere Batches: stabilere Gradienten, schnelleres Training, aber mehr GPU-Speicher. Kleinere Batches: mehr Rauschen (kann als Regularisierung wirken), weniger Speicher.

Was ist der Zusammenhang zwischen den drei Begriffen?

Iterationen pro Epoch = Datensatzgröße / Batch Size. Bei 10.000 Beispielen und Batch Size 100 gibt es 100 Iterationen pro Epoch.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.