Implémenter la logique d’entraînement

Modèles d'IA évolutifs avec PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Définir la étape d’entraînement

  • Traiter le lot d’entrées et labels
  • Calculer les prédictions avec la passe avant
  • Calculer la perte cross-entropy pour la classification
  • Consigner la perte d’entraînement pour le suivi
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
Modèles d'IA évolutifs avec PyTorch Lightning

Configurer les optimiseurs

  • Sélectionner un optimiseur adapté aux mises à jour
  • Lier les paramètres du modèle pour le calcul des gradients
  • Définir un taux d’apprentissage approprié
  • Retourner l’optimiseur pour l’intégration Lightning
def configure_optimizers(self):
    optimizer = torch.optim.Adam(self.parameters(), lr=1e-3)
    return optimizer
Modèles d'IA évolutifs avec PyTorch Lightning

Entraîner avec Lightning Trainer

  • Intégrer la logique d’entraînement avec Lightning Trainer
  • Gérer automatiquement boucles et époques
  • Suivre les métriques en temps réel

Flux LightningTrainer

Modèles d'IA évolutifs avec PyTorch Lightning

Utiliser trainer.fit et trainer.validate

$$

  • Lancer l’entraînement avec trainer.fit
  • Valider le modèle avec trainer.validate

$$

trainer.fit(model, train_dataloader)

trainer.validate(model, val_dataloader)
  • Automatiser les cycles d’entraînement et de validation
  • Suivre les métriques dans les deux phases
Modèles d'IA évolutifs avec PyTorch Lightning

Exemple complet de logique d’entraînement

$$

  • Définir un LightningModule personnalisé avec un classifieur
  • Implémenter training_step pour calculer et consigner la perte
  • Configurer les optimiseurs pour mettre à jour les paramètres
  • Entraîner et valider le modèle
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)
Modèles d'IA évolutifs avec PyTorch Lightning

Applications industrielles

Pourquoi la logique d’entraînement est-elle importante ?

  • Assurer un suivi précis de la perte pour le contrôle qualité
  • Optimiser les pipelines d’entraînement pour un déploiement à l’échelle

Exemples concrets :

  • Améliorer l’analyse d’images en santé
  • Aider à la détection de fraude en finance

Imagerie médicale

Modèles d'IA évolutifs avec PyTorch Lightning

Applications industrielles

Pourquoi la logique d’entraînement est-elle importante ?

  • Assurer un suivi précis de la perte pour le contrôle qualité
  • Optimiser les pipelines d’entraînement pour un déploiement à l’échelle

Exemples concrets :

  • Améliorer l’analyse d’images en santé
  • Aider à la détection de fraude en finance

Imagerie médicale et détection de fraude

Modèles d'IA évolutifs avec PyTorch Lightning

Passons à la pratique !

Modèles d'IA évolutifs avec PyTorch Lightning

Preparing Video For Download...