Systèmes de ML de production: questions à se poser
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette leçon se concentre sur les questions que vous devez vous poser sur vos données et votre modèle dans les systèmes de production.
Chaque fonctionnalité est-elle utile ?
Vous devez surveiller en permanence votre modèle pour supprimer les fonctionnalités qui contribuent peu ou pas à sa capacité prédictive. Si les données d'entrée de cette fonctionnalité changent brusquement, le comportement de votre modèle peut également changer brusquement de manière indésirable.
Posez-vous également la question suivante:
- L'utilité de la fonctionnalité justifie-t-elle le coût de son inclusion ?
Il est toujours tentant d'ajouter des fonctionnalités au modèle. Par exemple, supposons que vous trouviez une nouvelle fonctionnalité dont l'ajout améliore légèrement les prédictions de votre modèle. Des prédictions légèrement meilleures semblent certainement mieux que des prédictions légèrement moins bonnes. Toutefois, la fonctionnalité supplémentaire alourdit votre charge de maintenance.
Votre source de données est-elle fiable ?
Voici quelques questions à vous poser sur la fiabilité de vos données d'entrée:
- Le signal sera-t-il toujours disponible ou provient-il d'une source non fiable ? Exemple :
- Le signal provient-il d'un serveur qui plante sous une charge importante ?
- Le signal provient-il d'humains qui partent en vacances en août ?
- Le système qui calcule les données d'entrée de votre modèle change-t-il parfois ? Si c'est le cas :
- À quelle fréquence ?
- Comment saurez-vous quand ce système changera ?
Envisagez de créer votre propre copie des données que vous recevez du processus en amont. Ensuite, ne passez à la version suivante des données en amont que lorsque vous êtes certain de pouvoir le faire en toute sécurité.
Votre modèle fait-il partie d'une boucle de rétroaction ?
Parfois, un modèle peut affecter ses propres données d'entraînement. Par exemple, les résultats de certains modèles deviennent (directement ou indirectement) des caractéristiques d'entrée de ce même modèle.
Parfois, un modèle peut affecter un autre modèle. Prenons l'exemple de deux modèles de prédiction des cours boursiers:
- Modèle A, qui est un mauvais modèle prédictif.
- Modèle B.
Comme le modèle A comporte des bugs, il décide par erreur d'acheter des actions de l'action X.
Ces achats font grimper le cours de l'action X. Le modèle B utilise le prix de l'action X comme caractéristique d'entrée. Il peut donc tirer de fausses conclusions sur la valeur de l'action X. Le modèle B peut donc acheter ou vendre des actions de l'action X en fonction du comportement défectueux du modèle A.
Le comportement du modèle B peut à son tour affecter le modèle A, ce qui peut déclencher une manie des tulipes ou une baisse du cours de l'action de l'entreprise X.
Exercice: Vérifiez votre compréhension
Parmi les modèles suivants, trois sont susceptibles d'entraîner une boucle de rétroaction.
Un modèle de prévision de trafic qui prédit les bouchons sur les sorties d'autoroute près de la plage en utilisant la fréquentation de la plage comme caractéristique
Certains adeptes de la baignade ont tendance à décider de ce qu'ils vont faire en fonction des prévisions de trafic. Si la fréquentation est importante, et qu'une circulation dense est prévue, de nombreuses personnes peuvent préférer changer leurs plans. Le nombre de personnes se rendant à la plage peut ainsi diminuer, ce qui induit des prévisions de trafic plus fluide, qui peuvent aboutir à leur tour à une hausse du nombre de personnes décidant d'aller à la plage, et le cycle se répète.
Un modèle de recommandation de livres qui suggère des romans que les utilisateurs sont susceptibles d'aimer en fonction de leur popularité (c'est-à-dire du volume d'achat des livres)
Les recommandations de livres vont probablement avoir pour effet d'accroître les ventes. Les ventes supplémentaires seront alors réinsérées dans le modèle en tant qu'entrées, ce qui augmentera la probabilité que le modèle recommande ces mêmes livres à l'avenir.
Modèle de classement des universités qui évalue les établissements, en partie sur la base de leur sélectivité, c'est-à-dire du pourcentage d'étudiants acceptés.
Le classement du modèle peut accroître l'intérêt des étudiants pour les établissements les mieux cotés, ce qui augmente le nombre de dossiers reçus par ceux-ci. Si ces établissements continuent à accepter le même nombre d'étudiants, la sélectivité se renforce (le pourcentage d'étudiants acceptés diminue). Cela améliore le classement de ces établissements, et cela accroît mécaniquement l'intérêt des futurs étudiants, etc.
Un modèle de résultats d'élection qui prédit le vainqueur d'une élection municipale en sondant 2% des votants après la fermeture des bureaux de vote
Si le modèle ne publie pas de prévisions avant la fermeture des bureaux de vote, il est impossible que celles-ci aient une influence sur le comportement des votants.
Un modèle de détermination de la valeur immobilière qui prédit le prix d'un logement en fonction de sa taille (superficie en mètres carrés), du nombre de chambres et de son emplacement
Il est impossible de modifier rapidement l'emplacement, la taille ou le nombre de pièces d'un logement en réponse aux prévisions de prix, ce qui fait qu'une boucle de rétroaction est peu probable. Toutefois, il existe une corrélation potentielle entre la taille et le nombre de chambres (les biens plus grands ont plus de chances de comporter un nombre de pièces supérieur) qui peut nécessiter une analyse.
Un modèle d'expressions faciales qui détecte si une personne sourit sur une photo, et dont l'entraînement est réalisé régulièrement à partir d'une banque de photos mise à jour automatiquement tous les mois.
Il n'y a aucune boucle de rétroaction dans cet exemple, car les prédictions du modèle n'ont aucune incidence sur la banque de photos. Cependant, la gestion des versions des données d'entrée peut poser un problème dans le cas présent, étant donné que les mises à jour mensuelles sont susceptibles d'avoir des effets inattendus sur le modèle.
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\u003eContinuously monitor models in production to evaluate feature importance and potentially remove unnecessary ones, ensuring prediction quality and resource efficiency.\u003c/p\u003e\n"],["\u003cp\u003eData reliability is crucial; consider data source stability, potential changes in upstream data processes, and create local data copies to control versioning and mitigate risks.\u003c/p\u003e\n"],["\u003cp\u003eBe aware of feedback loops where a model's predictions influence future input data, potentially leading to unexpected behavior or biased outcomes, especially in interconnected systems.\u003c/p\u003e\n"],["\u003cp\u003eRegularly assess your model by asking if features are truly helpful and if their value outweighs the costs of inclusion, aiming for a balance between prediction accuracy and maintainability.\u003c/p\u003e\n"],["\u003cp\u003eEvaluate if your model is susceptible to a feedback loop and take steps to isolate it if you find it is.\u003c/p\u003e\n"]]],[],null,["# Production ML systems: Questions to ask\n\nThis lesson focuses on the questions you should ask about your data\nand model in production systems.\n\nIs each feature helpful?\n------------------------\n\nYou should continuously monitor your model to remove features that contribute\nlittle or nothing to the model's predictive ability. If the input data for\nthat feature abruptly changes, your model's behavior might also abruptly\nchange in undesirable ways.\n\nAlso consider the following related question:\n\n- Does the usefulness of the feature justify the cost of including it?\n\nIt is always tempting to add more features to the model. For example,\nsuppose you find a new feature whose addition makes your model's predictions\nslightly better. Slightly better predictions certainly seem better than\nslightly worse predictions; however, the extra feature adds to your\nmaintenance burden.\n\nIs your data source reliable?\n-----------------------------\n\nSome questions to ask about the reliability of your input data:\n\n- Is the signal always going to be available or is it coming from an unreliable source? For example:\n - Is the signal coming from a server that crashes under heavy load?\n - Is the signal coming from humans that go on vacation every August?\n- Does the system that computes your model's input data ever change? If so:\n - How often?\n - How will you know when that system changes?\n\nConsider creating your own copy of the data you receive from the\nupstream process. Then, only advance to the next version of the upstream\ndata when you are certain that it is safe to do so.\n\nIs your model part of a feedback loop?\n--------------------------------------\n\nSometimes a model can affect its own training data. For example, the\nresults from some models, in turn, become (directly or indirectly) input\nfeatures to that same model.\n\nSometimes a model can affect another model. For example, consider two\nmodels for predicting stock prices:\n\n- Model A, which is a bad predictive model.\n- Model B.\n\nSince Model A is buggy, it mistakenly decides to buy stock in Stock X.\nThose purchases drive up the price of Stock X. Model B uses the price\nof Stock X as an input feature, so Model B can come to some false\nconclusions about the value of Stock X. Model B could, therefore,\nbuy or sell shares of Stock X based on the buggy behavior of Model A.\nModel B's behavior, in turn, can affect Model A, possibly triggering a\n[tulip mania](https://wikipedia.org/wiki/Tulip_mania) or a slide in\nCompany X's stock.\n\n### Exercise: Check your understanding\n\nWhich **three** of the following models are susceptible to a feedback loop? \nA traffic-forecasting model that predicts congestion at highway exits near the beach, using beach crowd size as one of its features. \nSome beachgoers are likely to base their plans on the traffic forecast. If there is a large beach crowd and traffic is forecast to be heavy, many people may make alternative plans. This may depress beach turnout, resulting in a lighter traffic forecast, which then may increase attendance, and the cycle repeats. \nA book-recommendation model that suggests novels its users may like based on their popularity (i.e., the number of times the books have been purchased). \nBook recommendations are likely to drive purchases, and these additional sales will be fed back into the model as input, making it more likely to recommend these same books in the future. \nA university-ranking model that rates schools in part by their selectivity---the percentage of students who applied that were admitted. \nThe model's rankings may drive additional interest to top-rated schools, increasing the number of applications they receive. If these schools continue to admit the same number of students, selectivity will increase (the percentage of students admitted will go down). This will boost these schools' rankings, which will further increase prospective student interest, and so on... \nAn election-results model that forecasts the winner of a mayoral race by surveying 2% of voters after the polls have closed. \nIf the model does not publish its forecast until after the polls have closed, it is not possible for its predictions to affect voter behavior. \nA housing-value model that predicts house prices, using size (area in square meters), number of bedrooms, and geographic location as features. \nIt is not possible to quickly change a house's location, size, or number of bedrooms in response to price forecasts, making a feedback loop unlikely. However, there is potentially a correlation between size and number of bedrooms (larger homes are likely to have more rooms) that may need to be teased apart. \nA face-attributes model that detects whether a person is smiling in a photo, which is regularly trained on a database of stock photography that is automatically updated monthly. \nThere is no feedback loop here, as model predictions don't have any impact on the photo database. However, versioning of the input data is a concern here, as these monthly updates could potentially have unforeseen effects on the model. \n[Help Center](https://support.google.com/machinelearningeducation)"]]