Implementare la logica di training

Modelli di AI scalabili con PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Definire il training step

  • Processa batch di input e label
  • Calcola le predizioni con il forward pass
  • Calcola la cross entropy loss per la classificazione
  • Logga la training loss per il monitoraggio
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
Modelli di AI scalabili con PyTorch Lightning

Configurare gli optimizer

  • Seleziona un optimizer adatto per gli aggiornamenti
  • Collega i parametri del modello per il gradiente
  • Imposta un learning rate adeguato alla convergenza
  • Ritorna l’istanza dell’optimizer per l’integrazione con Lightning
def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
    return optimizer
Modelli di AI scalabili con PyTorch Lightning

Training con Lightning Trainer

  • Integra la logica di training con Lightning Trainer
  • Gestisci automaticamente loop ed epoche
  • Monitora le metriche in tempo reale

Flusso LightningTrainer

Modelli di AI scalabili con PyTorch Lightning

Usare trainer.fit e trainer.validate

$$

  • Avvia l’addestramento con trainer.fit
  • Valida il modello con trainer.validate

$$

trainer.fit(model, train_dataloader)

trainer.validate(model, val_dataloader)
  • Automatizza i cicli di training e validazione
  • Monitora le metriche in entrambe le fasi
Modelli di AI scalabili con PyTorch Lightning

Esempio completo di logica di training

$$

  • Definisci un LightningModule personalizzato con un classificatore
  • Implementa training_step per calcolare e loggare la loss
  • Configura gli optimizer per aggiornare i parametri
  • Allena e valida il modello
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)
Modelli di AI scalabili con PyTorch Lightning

Applicazioni industriali

Perché la logica di training è importante?

  • Tracciare con precisione la loss per il controllo qualità
  • Ottimizzare le pipeline per il deploy su scala

Esempi reali:

  • Migliorare l’analisi immagini nella diagnostica sanitaria
  • Supportare il rilevamento frodi nei servizi finanziari

Imaging sanitario

Modelli di AI scalabili con PyTorch Lightning

Applicazioni industriali

Perché la logica di training è importante?

  • Tracciare con precisione la loss per il controllo qualità
  • Ottimizzare le pipeline per il deploy su scala

Esempi reali:

  • Migliorare l’analisi immagini nella diagnostica sanitaria
  • Supportare il rilevamento frodi nei servizi finanziari

Imaging sanitario e rilevamento frodi

Modelli di AI scalabili con PyTorch Lightning

Passons à la pratique !

Modelli di AI scalabili con PyTorch Lightning

Preparing Video For Download...