Epoch
Eine Epoch beschreibt einen vollständigen Durchlauf des gesamten Trainingsdatensatzes durch ein neuronales Netz – ein zentrales Konzept beim Training von ML-Modellen.
Epoch
Eine Epoch bezeichnet genau einen vollständigen Durchlauf aller Trainingsbeispiele durch das neuronale Netz. Nach jeder Epoch wurden alle Gewichte (Weights) basierend auf den berechneten Gradienten aktualisiert. In der Praxis trainiert man Modelle über viele Epochen hinweg, bis der Loss konvergiert.
Wie funktioniert das?
Der Trainingsdatensatz wird in Batches aufgeteilt. Pro Epoch durchläuft das Modell alle Batches einmal:
Epoch 1: [Batch 1] → [Batch 2] → ... → [Batch N] → Gewichte aktualisiert
Epoch 2: [Batch 1] → [Batch 2] → ... → [Batch N] → Gewichte aktualisiert
...
Praxisbeispiel (PyTorch)
num_epochs = 10
for epoch in range(num_epochs):
total_loss = 0
for batch_X, batch_y in dataloader: # ein Batch pro Iteration
optimizer.zero_grad()
predictions = model(batch_X)
loss = criterion(predictions, batch_y)
loss.backward()
optimizer.step()
total_loss += loss.item()
print(f"Epoch {epoch+1}/{num_epochs} – Loss: {total_loss/len(dataloader):.4f}")
Zu viele oder zu wenige Epochen?
| Situation | Symptom | Lösung |
|---|---|---|
| Zu wenige Epochen | Underfitting, hoher Trainingsloss | Mehr Epochen |
| Zu viele Epochen | Overfitting, guter Train- aber schlechter Val-Loss | Early Stopping |
| Optimal | Train- und Val-Loss konvergieren | ✓ |
Early Stopping ist ein gängiges Mittel: Das Training wird automatisch abgebrochen, sobald der Validierungsloss nicht mehr sinkt.
Epochen beim Fine-Tuning
Beim Fine-Tuning von LLMs reichen oft 1–5 Epochen, da das Modell bereits vortrainiert ist. Mehr Epochen erhöhen hier schnell das Risiko von Overfitting oder sogar Model Collapse.
Verwandte Begriffe
Inhouse statt Nachschlagewerk
Für den Transfer ins Unternehmen sind die Inhouse-Schulungen der passende nächste Schritt.