Trainingslogik implementieren

Skalierbare KI-Modelle mit PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

training_step definieren

  • Eingabe- und Label-Batch verarbeiten
  • Vorwärtsdurchlauf: Vorhersagen berechnen
  • Cross-Entropy-Loss für Klassifikation berechnen
  • Trainings-Loss zum Monitoring loggen
def training_step(self, batch, batch_idx):
    x, y = batch

y_hat = self(x)
loss = cross_entropy(y_hat, y)
self.log("train_loss", loss) return loss
Skalierbare KI-Modelle mit PyTorch Lightning

Optimizer konfigurieren

  • Passenden Optimizer für Updates wählen
  • Modellparameter für Gradienten verknüpfen
  • Geeignete Lernrate für Konvergenz setzen
  • Optimizer für Lightning zurückgeben
def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
    return optimizer
Skalierbare KI-Modelle mit PyTorch Lightning

Training mit Lightning Trainer

  • Trainingslogik mit Lightning Trainer integrieren
  • Trainingsschleifen und Epochen automatisch steuern
  • Metriken in Echtzeit überwachen

LightningTrainer-Ablauf

Skalierbare KI-Modelle mit PyTorch Lightning

trainer.fit und trainer.validate nutzen

$$

  • Training mit trainer.fit starten
  • Modell mit trainer.validate validieren

$$

trainer.fit(model, train_dataloader)

trainer.validate(model, val_dataloader)
  • Trainings- und Validationszyklen automatisieren
  • Metriken in beiden Phasen überwachen
Skalierbare KI-Modelle mit PyTorch Lightning

Vollständiges Beispiel der Trainingslogik

$$

  • Eigene LightningModule mit Klassifikator definieren
  • training_step implementieren: Loss berechnen und loggen
  • Optimizer konfigurieren, um Modellparameter zu aktualisieren
  • Modell trainieren und validieren
class LightClassifier(pl.LightningModule):
    def __init__(self):
        super().__init__()
        self.layer=torch.nn.Linear(28 * 28, 10)
    def forward(self, x):
        return self.layer(x.view(x.size(0), -1))

def training_step(self, batch, batch_idx): ...
def configure_optimizers(self): params=self.parameters() optimizer=torch.optim.Adam(params,lr=1e-3) return optimizer
model = LightClassifier() # Define classifier model trainer = Trainer(max_epochs=5) # Define trainer trainer.fit(model, train_dataloader) trainer.validate(model, val_dataloader)
Skalierbare KI-Modelle mit PyTorch Lightning

Brancheneinsatz

Warum ist Trainingslogik wichtig?

  • Präzises Loss-Tracking für Qualitätskontrolle
  • Trainingspipelines für skalierbares Deployment optimieren

Praxisbeispiele:

  • Bildanalyse in der medizinischen Diagnostik verbessern
  • Betrugserkennung in Finanzdiensten unterstützen

Bildgebung im Gesundheitswesen

Skalierbare KI-Modelle mit PyTorch Lightning

Brancheneinsatz

Warum ist Trainingslogik wichtig?

  • Präzises Loss-Tracking für Qualitätskontrolle
  • Trainingspipelines für skalierbares Deployment optimieren

Praxisbeispiele:

  • Bildanalyse in der medizinischen Diagnostik verbessern
  • Betrugserkennung in Finanzdiensten unterstützen

Bildgebung im Gesundheitswesen und Betrugserkennung

Skalierbare KI-Modelle mit PyTorch Lightning

Lass uns üben!

Skalierbare KI-Modelle mit PyTorch Lightning

Preparing Video For Download...