Systèmes de ML de production: entraînement statique ou dynamique
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 : 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 : 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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[null,null,["Dernière mise à jour le 2025/07/27 (UTC)."],[[["\u003cp\u003eMachine learning models can be trained statically (once) or dynamically (continuously).\u003c/p\u003e\n"],["\u003cp\u003eStatic training is simpler but can become outdated if data patterns change, requiring data monitoring.\u003c/p\u003e\n"],["\u003cp\u003eDynamic training adapts to new data, providing more accurate predictions but demands more resources and monitoring.\u003c/p\u003e\n"],["\u003cp\u003eChoosing between static and dynamic training depends on the specific dataset and how frequently it changes.\u003c/p\u003e\n"],["\u003cp\u003eMonitoring input data is essential for both static and dynamic training to ensure reliable predictions.\u003c/p\u003e\n"]]],[],null,["# Production ML systems: Static versus dynamic training\n\nBroadly speaking, you can train a model in either of two ways:\n\n- [**Static training**](/machine-learning/glossary#static) (also called **offline training**) means that you train a model only once. You then serve that same trained model for a while.\n- [**Dynamic training**](/machine-learning/glossary#dynamic) (also called **online training**) means that you train a model continuously or at least frequently. You usually serve the most recently trained model.\n\n**Figure 2.** Static training. Train once; serve the same built model multiple times. (Images by Pexels and by fancycrave1.)\n\n**Figure 3.** Dynamic training. Retrain frequently; serve the most recently built model. (Images by Pexels and by Couleur.)\n\n**Table 1.** Primary advantages and disadvantages.\n\n| | Static training | Dynamic training |\n| Advantages | **Simpler.** You only need to develop and test the model once. | **More adaptable.** Your model will keep up with any changes to the relationship between features and labels. |\n| Disadvantages | **Sometimes staler.** If the relationship between features and labels changes over time, your model's predictions will degrade. | **More work.** You must build, test, and release a new product all the time. |\n|---------------|---------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|\n\nIf your dataset truly isn't changing over time, choose static training because\nit is cheaper to create and maintain than dynamic training. However, datasets\ntend to change over time, even those with features that you think are as\nconstant as, say, sea level. The takeaway: even with static\ntraining, you must still monitor your input data for change.\n\nFor example, consider a model trained to predict the probability that users\nwill buy flowers. Because of time pressure, the model is trained only once\nusing a dataset of flower buying behavior during July and August.\nThe model works fine for several months but then makes terrible predictions\naround [Valentine's Day](https://wikipedia.org/wiki/Valentine's_Day) because\nuser behavior during that floral holiday period changes dramatically.\n\nFor a more detailed exploration of static and dynamic training, see the\n[Managing ML Projects](/machine-learning/managing-ml-projects/pipelines)\ncourse.\n\nExercises: Check your understanding\n-----------------------------------\n\nWhich **two** of the following statements are true about static (offline) training? \nThe model stays up to date as new data arrives. \nActually, if you train offline, then the model has no way to incorporate new data as it arrives. This can lead to model staleness, if the distribution you are trying to learn from changes over time. \nYou can verify the model before applying it in production. \nYes, offline training gives ample opportunity to verify model performance before introducing the model in production. \nOffline training requires less monitoring of training jobs than online training. \nIn general, monitoring requirements at training time are more modest for offline training, which insulates you from many production considerations. However, the more frequently you train your model, the higher the investment you'll need to make in monitoring. You'll also want to validate regularly to ensure that changes to your code (and its dependencies) don't adversely affect model quality. \nVery little monitoring of input data needs to be done at inference time. \nCounterintuitively, you do need to monitor input data at serving time. If the input distributions change, then our model's predictions may become unreliable. Imagine, for example, a model trained only on summertime clothing data suddenly being used to predict clothing buying behavior in wintertime. \nWhich **one** of the following statements is true of dynamic (online) training? \nThe model stays up to date as new data arrives. \nThis is the primary benefit of online training; you can avoid many staleness issues by allowing the model to train on new data as it comes in. \nVery little monitoring of training jobs needs to be done. \nActually, you must continuously monitor training jobs to ensure that they are healthy and working as intended. You'll also need supporting infrastructure like the ability to roll a model back to a previous snapshot in case something goes wrong in training, such as a buggy job or corruption in input data. \nVery little monitoring of input data needs to be done at inference time. \nJust like a static, offline model, it is also important to monitor the inputs to the dynamically updated models. You are likely not at risk for large seasonality effects, but sudden, large changes to inputs (such as an upstream data source going down) can still cause unreliable predictions.\n| **Key terms:**\n|\n| - [Dynamic training](/machine-learning/glossary#dynamic)\n- [Static training](/machine-learning/glossary#static) \n[Help Center](https://support.google.com/machinelearningeducation)"]]