Intégrer la validation et les tests

Modèles d'IA évolutifs avec PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Pourquoi intégrer validation et tests ?

  • Validation
    • Détecter tôt les problèmes de performance
    • Prévenir surapprentissage et sous-apprentissage
  • Test
    • Performance sur des données inédites

Schéma validation et test

Modèles d'IA évolutifs avec PyTorch Lightning

Implémenter la validation

  • Évaluer les performances à chaque epoch
  • Agréger les métriques pour une vue plus stable
def validation_step(self, batch, batch_idx):
  x, y = batch
  preds = self(x)
  loss = F.cross_entropy(preds, y)
  self.log('val_loss', loss)


def validation_epoch_end(self, outputs): avg_loss = torch.stack([x['loss'] for x in outputs]).mean() self.log('avg_val_loss', avg_loss)
Modèles d'IA évolutifs avec PyTorch Lightning

Implémenter les tests

  • Évaluer la performance finale sur données inédites
  • Mesurer l’efficacité en conditions réelles
  • Fournir des métriques pour le déploiement
def test_step(self, batch, batch_idx):
  x, y = batch
  y_hat = self(x)
  loss = F.cross_entropy(y_hat, y)
  self.log('test_loss', loss)


def test_epoch_end(self, outputs): avg_loss = torch.stack([x['loss'] for x in outputs]).mean() self.log('avg_test_loss', avg_loss)
Modèles d'IA évolutifs avec PyTorch Lightning

Évaluer avec Torchmetrics

$$

  • Suivre des métriques comme l’accuracy
  • Intégration facile au flux Lightning
  • Initialiser l’accuracy
  • Calculer l’accuracy à chaque étape de validation
from torchmetrics import Accuracy

class BaseModel(pl.LightningModule):
    def __init__(self):
        super().__init__()
        self.accuracy = Accuracy()

def validation_step(self, batch, batch_idx): x, y = batch preds = self(x) acc = self.accuracy(preds, y) self.log('val_acc', acc)
Modèles d'IA évolutifs avec PyTorch Lightning

Relier DataModule, validation et tests

  • Logique des données centralisée dans le DataModule

  • Découpage train/val/test cohérent

  • Journalisation automatique des métriques de validation

  • Pipeline reproductible, de la préparation au reporting

Schéma DataModule, validation et tests

Modèles d'IA évolutifs avec PyTorch Lightning

Passons à la pratique !

Modèles d'IA évolutifs avec PyTorch Lightning

Preparing Video For Download...