Systèmes de ML de production: entraînement statique ou dynamique

De manière générale, vous pouvez entraîner un modèle de deux manières:

  • L'entraînement statique (également appelé entraînement hors ligne) signifie que vous n'entraînez un modèle qu'une seule fois. Vous diffusez ensuite ce même modèle entraîné pendant un certain temps.
  • L'entraînement dynamique (également appelé entraînement en ligne) consiste à entraîner un modèle en continu ou au moins fréquemment. Vous diffusez généralement le modèle le plus récemment entraîné.
Figure 2. La pâte crue permet de créer trois pains identiques.
Figure 2 : Entraînement statique. Entraînez-vous une seule fois et diffusez le même modèle compilé plusieurs fois. (Images de Pexels et de fancycrave1.)

 

Figure 3. La pâte crue produit des pains légèrement différents à chaque fois.
Figure 3 : Entraînement dynamique. Réentraînez fréquemment le modèle et utilisez le modèle le plus récent. (Images de Pexels et de Couleur.)

 

Tableau 1. Principaux avantages et inconvénients

L'entraînement statique L'entraînement dynamique
Avantages Plus simple Vous n'avez besoin de développer et de tester le modèle qu'une seule fois. Plus adaptable. Votre modèle tiendra compte de toute modification de la relation entre les caractéristiques et les étiquettes.
Inconvénients Parfois plus obsolète. Si la relation entre les caractéristiques et les étiquettes change au fil du temps, les prédictions de votre modèle se dégraderont. Plus de travail. Vous devez créer, tester et publier un nouveau produit en permanence.

Si votre ensemble de données ne change pas vraiment au fil du temps, choisissez l'entraînement statique, car il est moins coûteux à créer et à gérer que l'entraînement dynamique. Toutefois, les ensembles de données ont tendance à changer au fil du temps, même ceux qui comportent des éléments que vous pensez être aussi constants que, par exemple, le niveau de la mer. Conclusion: même avec un entraînement statique, vous devez surveiller les changements de vos données d'entrée.

Prenons l'exemple d'un modèle entraîné pour prédire la probabilité que les utilisateurs achètent des fleurs. En raison de la pression temporelle, le modèle n'est entraîné qu'une seule fois à l'aide d'un ensemble de données sur le comportement d'achat de fleurs en juillet et août. Le modèle fonctionne correctement pendant plusieurs mois, mais effectue ensuite de terribles prédictions autour de la Saint-Valentin, car le comportement des utilisateurs pendant cette période de fête florale change radicalement.

Pour en savoir plus sur l'entraînement statique et dynamique, consultez le cours Gérer des projets de ML.

Exercices: Testez vos connaissances

Parmi les deux affirmations suivantes concernant l'apprentissage statique (hors connexion), lesquelles sont vraies ?
Le modèle reste à jour à mesure que les données arrivent.
En fait, si vous entraînez le modèle hors connexion, il n'a aucun moyen d'intégrer les nouvelles données à mesure qu'elles arrivent. Cela peut entraîner l'obsolescence du modèle si la distribution à partir de laquelle vous essayez d'apprendre change au fil du temps.
Vous pouvez vérifier le modèle avant de l'appliquer en production.
Oui, l'entraînement hors connexion offre de nombreuses possibilités de vérifier les performances du modèle avant de le mettre en production.
L'entraînement hors connexion nécessite moins de surveillance des tâches d'entraînement que l'entraînement en ligne.
En général, les exigences de surveillance au moment de l'entraînement sont plus modestes pour l'entraînement hors connexion, ce qui vous protège de nombreuses considérations de production. Toutefois, plus vous entraînez votre modèle fréquemment, plus vous devrez investir dans la surveillance. Vous devez également effectuer des validations régulières pour vous assurer que les modifications apportées à votre code (et à ses dépendances) n'ont pas d'impact négatif sur la qualité du modèle.
Très peu de surveillance des données d'entrée doit être effectuée au moment de l'inférence.
Contrairement à ce que vous pourriez penser, vous devez surveiller les données d'entrée au moment de la diffusion. Si les distributions d'entrée changent, les prédictions de notre modèle peuvent devenir peu fiables. Imaginons, par exemple, qu'un modèle entraîné uniquement sur des données de vêtements estivales soit soudainement utilisé pour prédire le comportement d'achat de vêtements en hiver.
Parmi les affirmations suivantes concernant l'apprentissage dynamique (en ligne), laquelle est vraie ?
Le modèle reste à jour à mesure que les données arrivent.
C'est l'avantage principal de l'entraînement en ligne. Vous pouvez éviter de nombreux problèmes d'obsolescence en permettant au modèle de s'entraîner sur de nouvelles données à mesure qu'elles arrivent.
La surveillance des tâches d'entraînement est très limitée.
En réalité, vous devez surveiller en permanence les tâches d'entraînement pour vous assurer qu'elles sont opérationnelles et fonctionnent comme prévu. Vous aurez également besoin d'une infrastructure de soutien, comme la possibilité de revenir à un instantané précédent en cas de problème lors de l'entraînement, par exemple en cas de bug ou de corruption dans les données d'entrée.
Très peu de surveillance des données d'entrée doit être effectuée au moment de l'inférence.
Tout comme pour un modèle statique hors connexion, il est également important de surveiller les entrées des modèles mis à jour dynamiquement. Il est peu probable que les effets de la saisonnalité ne soient pas pris en compte par ce modèle, toute modification majeure apportée aux entrées (telle que l'inaccessibilité d'une source de données en amont) peut nuire à la fiabilité des prédictions.