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 connexion) signifie que vous entraînez un modèle 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), cela signifie que vous entraînez un modèle en continu ou au moins fréquemment. Vous proposez généralement un modèle récemment entraîné.
Figure 2. La pâte brute permet de créer trois miches de pain identiques.
Figure 2 : Entraînement statique. Entraînement unique d'exécuter le même modèle compilé plusieurs fois. (Images de Pexels et de fancycrave1.)

 

Figure 3. La pâte brute crée des miches de pain légèrement différentes
            à chaque fois.
Figure 3 : Entraînement dynamique. Effectuer des réentraînements fréquents servir le plus un modèle 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 d'adaptabilité. Votre modèle s'adapte des changements dans la relation entre les caractéristiques et les étiquettes.
Inconvénients Parfois résistant. Si la relation entre les caractéristiques les étiquettes changent au fil du temps, les prédictions de votre modèle se dégradent. 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, optez pour l'entraînement statique, car est moins coûteux à créer et à gérer que l'entraînement dynamique. Cependant, les jeux de données ont tendance à évoluer au fil du temps, même si leurs caractéristiques constante, comme le niveau de la mer, par exemple. Ce qu'il faut retenir: même avec des images mais vous devez tout de même surveiller vos données d'entrée pour détecter tout changement.

Prenons l'exemple d'un modèle entraîné pour prédire la probabilité que les utilisateurs achètera des fleurs. En raison de la contrainte de temps, 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 en août. Le modèle fonctionne très bien pendant plusieurs mois, mais fait des prédictions très mauvaises autour de la Saint-Valentin, le comportement des utilisateurs au cours de cette période de fête florale change considérablement.

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

Exercices: tester vos connaissances

Parmi les affirmations suivantes, deux sont vraies. Lesquelles ? Entraînement statique (hors ligne) ?
Le modèle reste à jour à mesure que de nouvelles données arrivent.
En fait, si vous effectuez l'entraînement hors connexion, le modèle ne peut pas d’intégrer les nouvelles données dès qu’elles arrivent. Cela peut entraîner des modèles d'obsolescence, si la distribution à partir de laquelle 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 le modèle des performances avant de l'introduire en production.
L'entraînement hors connexion nécessite moins de surveillance des jobs d'entraînement que la formation en ligne.
En général, les exigences de surveillance lors de l'entraînement sont plus modestes pour l'entraînement hors ligne, ce qui vous évite à prendre en compte. En revanche, plus vous entraînez un modèle plus vous devrez investir dans la surveillance. Vous allez doivent également effectuer des validations régulières pour s'assurer que les modifications apportées à votre code (et ses dépendances) n'ont pas d'incidence négative sur la qualité du modèle.
Les données d'entrée nécessitent peu de surveillance l'heure d'inférence.
À l'inverse, vous devez surveiller les données d'entrée lors de l'inférence en temps réel. Si les distributions d'entrée changent, les prédictions risquent de ne plus être fiables. Imaginez, par exemple, un modèle entraînés uniquement sur les données sur les vêtements d'été utilisées soudainement pour prédire le comportement d'achat de vêtements en hiver.
Parmi les affirmations suivantes, laquelle est vraie. Laquelle ? dynamique (en ligne) ?
Le modèle reste à jour à mesure que de nouvelles données arrivent.
C'est le principal avantage de la formation en ligne : vous pouvez éviter de nombreuses les problèmes d'obsolescence en permettant au modèle de s'entraîner sur de nouvelles données quand elle entre en jeu.
Les tâches d'entraînement nécessitent peu de surveillance.
En réalité, vous devez surveiller en permanence les jobs d'entraînement pour vous assurer qu’elles sont saines et fonctionnent comme prévu. Vous aurez également besoin une infrastructure de soutien, comme la possibilité à un instantané précédent en cas de problème lors de l'entraînement, comme une tâche bogue ou la corruption des données d'entrée.
Les données d'entrée nécessitent peu de surveillance l'heure d'inférence.
Tout comme un modèle hors connexion statique, il est également important et de surveiller les entrées des modèles mis à jour dynamiquement. Vous êtes sans risque d'effets saisonniers importants, des changements importants aux entrées (comme une source de données en amont peut toujours entraîner des prédictions peu fiables.