Concevoir des données d’apprentissage pour les charges de travail IA sur Azure
Lorsque vous concevez des données pour les fonctionnalités d’IA dans les applications, tenez compte des exigences non fonctionnelles, telles que l’opéraabilité, le coût et la sécurité, et les exigences fonctionnelles liées à l’ingestion, à la préparation et à la validation des données.
La conception des données et la conception d’application ne peuvent pas être découplées. La conception d’application nécessite que vous compreniez les cas d’usage, les modèles de requête et les exigences de fraîcheur. Pour répondre aux exigences métier qui génèrent la nécessité d’utiliser l’IA, l’application peut avoir besoin de sortie de modèles discriminatifs, de modèles génératifs ou d’une combinaison de types de modèles.
Pour produire des résultats significatifs, les modèles IA doivent être formés. L’apprentissage du modèle implique l’enseignement d’un modèle pour classifier ou prédire des situations nouvelles ou invisibles. Les données d’apprentissage doivent être adaptées au contexte de problème et de charge de travail spécifique.
La formation supervisée implique de fournir au modèle des échantillons étiquetés. Ce type d’entraînement est utile lorsque le résultat souhaité est clair. En revanche, l’apprentissage non supervisé permet au modèle d’identifier les modèles et les relations au sein des données sans conseils sur la sortie attendue. Pendant l’entraînement, le type d’algorithme et ses paramètres sont ajustés pour contrôler la façon dont le modèle apprend. L’approche varie en fonction du type de modèle, qui peut inclure des réseaux neuronaux, des arbres de décision et d’autres.
Par exemple, les modèles de détection d’images sont généralement formés sur des tâches telles que la détection d’objets, la reconnaissance faciale ou la compréhension des scènes. Ils apprennent à partir d’images annotées pour identifier des objets ou des fonctionnalités spécifiques. D’autres exemples courants incluent des algorithmes de détection des fraudes et des modèles de prédiction de point de prix. Ces modèles apprennent à partir de données financières historiques pour prendre des décisions éclairées.
Cet article se concentre principalement sur le cas d’usage précédent, où les modèles sont formés avant de pouvoir donner une entrée significative à l’application. L’article contient des conseils sur la collecte, le traitement, le stockage, le test et la maintenance des données. La conception des données pour la science des données exploratoires ou l’intelligence décisionnelle via l’IA n’est pas couverte. L’objectif est de prendre en charge les besoins de formation par le biais de stratégies alignées sur les exigences de charge de travail en fournissant des recommandations sur le pipeline de données d’entraînement d’une charge de travail IA.
Pour plus d’informations sur la conception des données pour les modèles IA qui nécessitent un contexte pendant l’inférence, consultez Conception des données grounding.
Important
Attendez-vous à ce que la conception des données soit un processus itératif basé sur l’expérimentation statistique. Pour atteindre un niveau de qualité acceptable, ajustez les données d’apprentissage, son traitement, son développement de fonctionnalités de modèle et les hyperparamètres de modèle (le cas échéant). Cette boucle d’expérimentation se produit généralement à la fois pendant l’entraînement initial du modèle et pendant les efforts d’affinement continus pour traiter les données et la dérive du modèle sur la durée de vie de la fonctionnalité dans la charge de travail.
Recommandations
Voici le résumé des recommandations fournies dans cet article.
Recommandation | Description |
---|---|
Sélectionnez des sources de données en fonction des exigences de charge de travail. | Facteur dans les ressources disponibles et indique si la source de données peut vous aider à atteindre la qualité des données acceptable pour l’apprentissage du modèle. Couvrez les exemples positifs et négatifs. Combinez différents types de données pour obtenir une complétivité adéquate pour l’analyse et la modélisation. Considérez des techniques comme la technique de suréchantillonnage des minorités synthétiques (SMOTE) pour la rareté ou le déséquilibre des données. ▪ Ingestion et analyse des données |
Effectuez une analyse des données au début des données collectées. | Effectuez des processus d’analyse, tels que l’analyse exploratoire des données (EDA), hors connexion. Tenez compte des coûts et des implications en matière de sécurité. Pour les petits jeux de données sans contraintes de ressources, vous pouvez envisager d’effectuer une analyse à la source. ▪ Magasin de collecte de données |
Conservez la segmentation des données, si les exigences métier et techniques l’appellent. | Si vous utilisez des sources de données qui ont des exigences de sécurité distinctes, créez des pipelines distincts pour chaque modèle. Établissez des contrôles d’accès pour limiter l’interaction avec des sous-ensembles de données spécifiques. ▪ Segmentation des données |
Prétraitez les données pour les rendre significatives par rapport aux objectifs d’entraînement. | Affinez la qualité des données ingérées en filtrant le bruit, en réscoptant les données, en traitant les doublons et en standardisant différents formats. ▪ Prétraitement des données |
Évitez d’entraîner les données obsolètes. | Surveillez la dérive des données et la dérive de concept dans le cadre de vos boucles opérationnelles internes et externes pour maintenir la précision et la fiabilité des modèles au fil du temps. Mettez régulièrement à jour les données d’apprentissage avec de nouvelles observations. Définissez les conditions qui déclenchent le réentraînement du modèle et déterminent la fréquence de mise à jour. ▪ Maintenance des données |
Types des données
Pour générer une puissance prédictive dans des modèles, vous devez collecter des données, les traiter et les alimenter vers le modèle. Ce processus est généralement conceptualisé en tant que pipeline divisé en phases. Chaque étape du pipeline peut traiter le même jeu de données, mais elle peut servir à des fins différentes. En règle générale, vous gérez les données de ces types :
Les données sources sont des données d’observation à un point dans le temps. Il peut également s’agir de données qui peuvent être étiquetées pour servir d’entrée potentielle au pipeline de données.
Ces données sont généralement obtenues à partir de la production ou d’une source externe. Ces sources de données peuvent se trouver dans des comptes de stockage, des bases de données, des API ou d’autres sources. Les données peuvent se trouver dans différents formats de données, comme les bases de données OLTP, les documents non structurés ou les fichiers journaux. Ces données servent d’entrée potentielle au pipeline de données.
Les données d’apprentissage sont un sous-ensemble de données sources utilisées pour fournir des exemples au modèle. Les exemples sont des données précalculées descriptives qui aident le modèle à apprendre des modèles et des relations. Sans ces données, le modèle ne peut pas générer de sortie pertinente.
Les données d’évaluation sont un sous-ensemble des données sources utilisées pour surveiller et valider les performances d’un modèle Machine Learning pendant l’entraînement. Il est distinct des données d’entraînement et de test et est utilisé pour évaluer régulièrement les performances du modèle pendant la phase d’entraînement et guider le réglage des hyperparamètres. Pour plus d’informations, consultez Évaluation du modèle.
Les données de test sont utilisées pour valider la puissance prédictive d’un modèle entraîné. Ces données sont échantillonné à partir de données sources qui n’ont pas été utilisées pour l’entraînement. Il contient des observations de production afin que le processus de test soit concluant. Du point de vue de la conception des données, vous devez stocker ces données. Pour plus d’informations sur les modèles de test, consultez la zone de conception test .
Dans certains cas, les informations fournies par les utilisateurs pendant les interactions avec l’application peuvent éventuellement devenir des données sources. En général, nous recommandons que l’entrée utilisateur utilisée de cette façon soit de haute qualité. Sinon, la nécessité de gérer en continu les problèmes de qualité en aval peut devenir problématique. Les conseils relatifs à la gestion des données utilisateur ne sont pas abordés dans cet article.
Ingestion et analyse des données
Les données d’entraînement sont collectées dans une fenêtre prédéterminée qui a suffisamment de représentations pour entraîner le type de modèle que vous sélectionnez. Par exemple, lorsque vous entraînez un modèle de classification binaire, les données d’apprentissage doivent inclure des représentations de ce qui est le cas (exemples positifs) et ce qui n’est pas le cas (exemples négatifs). Pour que les données d’apprentissage soient significatives, effectuez EDA au début de la conception des fonctionnalités.
EDA permet d’analyser les données sources pour identifier les caractéristiques, les relations, les modèles et les problèmes de qualité. Vous pouvez effectuer EDA directement au niveau du magasin de données source ou répliquer des données dans des magasins centralisés, comme un lac de données ou un entrepôt de données. Le résultat du processus est d’informer la collecte et le traitement des données pour une formation efficace du modèle.
Remarque
Bien que EDA soit un processus de préproduction, il utilise des données provenant de la production. Appliquez le même niveau de contrôle à ce processus que vous le feriez pour la production.
Voici quelques considérations à prendre en compte pour collecter des données en préparation de l’entraînement du modèle.
Sources de données
Les données peuvent être collectées à partir de ces sources :
Les données propriétaires sont créées ou détenues par l’organisation. Elle n’est pas destinée à la consommation publique. Elle sert à des fins internes.
Les sources publiques sont accessibles à tout le monde. Ces sources incluent des sites web, des documents de recherche et des bases de données partagées publiquement. Il peut être spécifique à une zone de niche. Par exemple, le contenu de Wikipédia et PubMed est considéré comme accessible publiquement.
Votre choix de sources de données dépend des exigences de charge de travail, des ressources disponibles et de la qualité des données acceptables pour l’apprentissage du modèle. Les jeux de données déséquilibrés peuvent entraîner des modèles biaisés. Vous devez donc concevoir une collecte de données pour obtenir suffisamment d’échantillons de données représentatives. Vous devrez peut-être suréchantillonner les données minoritaires ou sous-échantillonner les données majoritaires. Si les données sont rares ou déséquilibrées, envisagez des techniques telles que SMOTE et la génération de données synthétiques.
Magasin de collecte de données
Il existe deux options principales pour collecter des données sources :
- Interrogation des données à la source de données
- Copie des données dans un magasin de données localisé, puis interrogation de ce magasin
Le choix dépend des exigences de charge de travail et du volume de données. Si vous avez une quantité relativement faible de données, le système source peut gérer directement vos requêtes brutes. Toutefois, la pratique courante consiste à interroger et à analyser à partir du magasin localisé.
Compromis. Bien que les magasins de données localisés puissent faciliter l’analyse et le processus d’apprentissage, vous devez également équilibrer les coûts, la sécurité et les exigences de modèle.
La duplication des données entraîne des coûts de stockage et de calcul. La gestion d’une copie distincte nécessite des ressources supplémentaires. Les copies locales peuvent contenir des informations sensibles. Si c’est le cas, vous devez protéger les données à l’aide de mesures de sécurité régulières.
Si vous utilisez des données de production pour les données d’apprentissage, elles doivent être soumises à toutes les contraintes de classification de données d’origine de ces données.
Les données peuvent être fournies au processus d’entraînement (mode Push) ou le processus lui-même peut interroger la source de données (mode pull). Le choix dépend de la propriété, de l’efficacité et des contraintes de ressources.
Lorsque les données sont envoyées à la charge de travail, il incombe au propriétaire de la source de données de fournir de nouvelles données. Le propriétaire de la charge de travail fournit un emplacement approprié dans leur magasin de données localisé pour stocker les données. Cette approche s’applique aux données propriétaires appartenant à l’organisation, et non aux sources publiques.
Il existe deux approches que vous pouvez utiliser pour extraire des données. Dans une approche, les requêtes de charge de travail sur le magasin de données, récupère les données nécessaires et les placent dans le magasin localisé. Une autre façon consiste à effectuer des requêtes en temps réel en mémoire. La décision dépend du volume de données et des ressources de calcul disponibles. Pour les jeux de données plus petits, la récupération en mémoire peut être suffisante pour l’entraînement du modèle.
Que vous utilisiez le mode Push ou pull, évitez d’entraîner des modèles sur des données obsolètes. La fréquence des mises à jour de données doit s’aligner sur les exigences de charge de travail.
Segmentation des données
Les exigences spécifiques à la charge de travail peuvent nécessiter une segmentation des données. Voici quelques cas d’usage potentiels :
Les exigences de sécurité prennent souvent des décisions de segmentation. Par exemple, les contraintes réglementaires peuvent empêcher l’exportation de données entre les régions géopolitiques. Si votre conception d’application autorise l’utilisation de modèles distincts, la conception de données incorpore des pipelines de données distincts pour chaque modèle.
Toutefois, si un modèle unique est utilisé, les sources de données segmentées alimentent ce modèle. Vous devez entraîner le modèle sur les données des deux zones géographiques, ce qui peut ajouter de la complexité.
Que l’application utilise un modèle unique ou plusieurs modèles, conservez les mesures de sécurité sur chaque segment de données afin qu’elle soit protégée avec le même niveau de rigueur que les données à l’origine.
Le taux d’actualisation des données peut être un facteur de séparation des données. Les données provenant de différentes sources peuvent s’actualiser à intervalles de temps variables. Si les données changent, le réentraînement devient nécessaire. La segmentation permet un contrôle granulaire du cycle de vie des données. Envisagez d’utiliser des tables ou des pipelines distincts pour différents segments de données.
Quel que soit le cas d’usage, lorsque les données sont segmentées, les contrôles d’accès sont clés. Les professionnels des données, tels que les ingénieurs données et les scientifiques des données, explorent les données sources disponibles pour comprendre les modèles et les relations. Leurs insights contribuent aux modèles d’entraînement qui prédisent les résultats. Établissez des contrôles d’accès pour vous assurer que seuls les utilisateurs autorisés peuvent interagir avec des sous-ensembles de données spécifiques. Appliquez des privilèges minimum sur les données considérées comme pertinentes. Collaborez avec les propriétaires de données pour configurer les autorisations appropriées.
Prétraitement des données
Dans un scénario réel, les données sources ne sont pas simplement stockées pour les scénarios IA. Il existe un processus intermédiaire qui prépare les données pour l’entraînement. Au cours de cette phase, les données sont supprimées du bruit, ce qui les rend utiles pour la consommation. Lorsque vous traitez des données sources, les scientifiques des données participent à un processus d’exploration, d’expérimentation et de prise de décision. Leur objectif principal est d’identifier et d’extraire des parties des données sources qui contiennent la puissance prédictive.
La logique de prétraitement dépend du problème, du type de données et des résultats souhaités. Voici quelques techniques courantes de prétraitement. Cette liste n’est pas exhaustive. Les critères réels de votre charge de travail seront pilotés par les exigences métier.
Qualité. Le prétraitement peut vous aider à vous assurer que les données d’apprentissage sont supprimées du bruit. L’objectif est de s’assurer que chaque ligne de vos données d’apprentissage représente une observation claire ou un bon exemple pertinent pour votre cas d’usage et pour éliminer les observations qui manquent de qualité ou de puissance prédictive. Par exemple, si vous collez des avis de produit, vous pouvez choisir d’éliminer les données trop courtes. Vous devez découvrir la qualité des données qui produit des résultats prédictifs significatifs.
Rescoping. Les champs de données sources trop spécifiques peuvent limiter les pouvoirs prédictifs. Par exemple, considérez un champ d’adresse. L’élargissement de l’étendue de l’adresse complète (numéro de maison et nom de rue) à un niveau supérieur, comme la ville, l’état ou le pays/région, peut être plus pertinent.
Déduplication. L’élimination de la redondance peut garantir que vos données d’entraînement restent précises et représentatives. Dans certains cas, la fréquence à laquelle une observation est faite n’est pas pertinente. Par exemple, lorsque vous analysez les journaux, si une entrée de journal apparaît 1 000 fois, ce qui indique sa fréquence. Cela n’implique pas nécessairement qu’il s’agit d’une erreur plus grave qu’un journal qui s’est produit une seule fois. Ce type de redondance peut introduire du bruit.
Gestion des données sensibles. Éliminez les données personnelles, sauf si elles sont absolument vitales pour la puissance prédictive du modèle d’une manière qui ne peut pas être obtenue par le biais de l’anonymisation. Les données d’entraînement doivent être efficaces sans compromettre la confidentialité. Si les données fournissent une valeur, vous devez connaître les considérations éthiques relatives à la gestion des données sensibles. Pour plus d’informations, consultez Intelligence artificielle responsable.
Transformation standardisée. Les experts du domaine considèrent les techniques précédentes comme faisant partie intégrante de l’ingénierie des caractéristiques. Une vaste étendue et diverses données sources doivent finalement se fusionner dans des magasins de fonctionnalités où les fonctionnalités sont organisées (par exemple, dans des tables de fonctionnalités) à des fins explicites de modèles d’apprentissage. Après avoir sélectionné des données prédictives pour l’apprentissage, transformez les données dans un format standardisé. La normalisation garantit également la compatibilité avec le modèle d’entraînement.
La conversion d’images en représentations textuelles est une forme de transformation. Par exemple, vous pouvez convertir des documents ou des images numérisés en texte lisible par ordinateur.
Pour garantir la compatibilité avec les modèles, vous devrez peut-être ajuster les orientations ou les proportions des images pour qu’elles correspondent aux attentes du modèle.
Remarque
Le mélange de grandes quantités de données structurées et non structurées peut augmenter le temps de traitement. Les équipes de charge de travail doivent mesurer l’impact du traitement de différents formats. À mesure que la fenêtre entre les efforts de réentraînement devient plus courte, le temps consacré au prétraitement devient plus critique.
Conservation des données
Après avoir entraîné un modèle, évaluez s’il faut supprimer les données utilisées pour l’entraînement et reconstruire le modèle pour la fenêtre d’entraînement suivante.
Si les données restent relativement inchangées, le réentraînement peut ne pas être nécessaire, sauf si la dérive du modèle se produit. Si la précision de la prédiction diminue, vous devez réentraîner le modèle. Vous pouvez choisir d’ingérer à nouveau les données, de prétraiter et de générer le modèle. Ce cours d’action est préférable s’il existe un delta significatif dans les données depuis la dernière fenêtre d’entraînement. S’il existe un grand volume de données et qu’il n’a pas beaucoup changé, il se peut que vous n’ayez pas besoin de prétraiter et de reconstruire le modèle. Dans ce cas, conservez les données, effectuez des mises à jour sur place et réentraînez le modèle. Déterminez la durée pendant laquelle vous souhaitez conserver les données d’apprentissage.
En général, supprimez les données des magasins de fonctionnalités pour réduire les coûts d’encombrement et de stockage des fonctionnalités dont les performances sont médiocres et qui ne sont plus pertinentes pour les modèles actuels ou futurs. Si vous conservez des données, prévoyez de gérer les coûts et de résoudre les problèmes de sécurité, qui sont généralement des problèmes de duplication des données.
Suivi de la traçabilité
La traçabilité des données fait référence au suivi du chemin des données de sa source à son utilisation dans l’entraînement du modèle. Le suivi de la traçabilité des données est essentiel pour l’explication. Bien que les utilisateurs n’aient peut-être pas besoin d’informations détaillées sur les origines des données, ces informations sont essentielles pour les équipes de gouvernance des données internes. Les métadonnées de traçabilité garantissent la transparence et la responsabilité, même si elles ne sont pas directement utilisées par le modèle. Ceci est utile à des fins de débogage. Il vous aide également à déterminer si les biais sont introduits pendant le prétraitement des données.
Utilisez des fonctionnalités de plateforme pour le suivi de traçabilité quand vous pouvez. Par exemple, Azure Machine Learning est intégré à Microsoft Purview. Cette intégration vous donne accès aux fonctionnalités de découverte de données, de suivi de traçabilité et de gouvernance dans le cadre du cycle de vie MLOps.
Maintenance des données
Tous les modèles peuvent devenir obsolètes au fil du temps, ce qui entraîne la dégradation de la puissance prédictive ou de la pertinence d’un modèle. Plusieurs changements externes peuvent entraîner une dégradation, notamment le changement de comportement de l’utilisateur, la dynamique du marché ou d’autres facteurs. Les modèles formés il y a un certain temps peuvent être moins pertinents en raison de circonstances changeantes. Pour effectuer des prédictions avec une meilleure fidélité, vous avez besoin de données récentes.
Adoption de modèles plus récents. Pour garantir la pertinence, vous avez besoin d’une boucle opérationnelle qui évalue en permanence les performances du modèle et prend en compte les modèles plus récents, ce qui empêche le pipeline de données de perturber au minimum. Vous pouvez également préparer une modification plus importante qui implique la refonte du cycle de vie et du pipeline des données.
Lorsque vous choisissez un nouveau modèle, vous n’avez pas nécessairement besoin de commencer par un nouveau jeu de données. Les observations existantes utilisées pour l’entraînement peuvent rester précieuses même lors d’un changement de modèle. Bien que de nouveaux modèles révèlent des scénarios plus étroits, le processus fondamental reste similaire. Les approches de gestion des données telles que les magasins de fonctionnalités et les maillages de données peuvent simplifier l’adoption de nouveaux modèles Machine Learning.
Opérations basées sur des déclencheurs et des opérations de routine. Déterminez si le réentraînement du modèle doit être déclenché par des événements ou des conditions spécifiques. Par exemple, la disponibilité de données nouvelles, plus pertinentes ou une baisse de pertinence en dessous d’une base de référence établie peut déclencher une réentraînation. Les avantages de cette approche sont la réactivité et les mises à jour en temps opportun.
La maintenance peut également être planifiée à intervalles fixes réguliers, comme tous les jours ou toutes les semaines. Pour les opérations de preuve d’échec, tenez compte des deux approches.
Suppression des données. Supprimez les données qui ne sont plus utilisées pour l’entraînement afin d’optimiser l’utilisation des ressources et de réduire le risque d’utiliser des données obsolètes ou non pertinentes pour l’entraînement du modèle.
Le droit d’être oublié fait référence au droit d’un individu d’avoir ses données personnelles supprimées des plateformes ou bases de données en ligne. Veillez à disposer de stratégies en place pour supprimer les données personnelles utilisées pour l’entraînement.
Conservation des données. Dans certaines situations, vous devez reconstruire un modèle existant. Par exemple, pour la récupération d’urgence, un modèle doit être régénéré exactement comme avant l’événement catastrophique. Nous vous recommandons d’avoir un pipeline de données secondaire qui suit les exigences de charge de travail du pipeline principal, comme l’adressage de la désintégration du modèle, les mises à jour régulières par le biais d’opérations basées sur un déclencheur ou de routine et d’autres tâches de maintenance.
Compromis. La maintenance des données est coûteuse. Il implique la copie de données, la création de pipelines redondants et l’exécution de processus de routine. Gardez à l’esprit que la formation régulière peut ne pas améliorer la qualité des réponses. Elle offre seulement une assurance contre l’obsolescence. Évaluez l’importance des modifications de données en tant que signal pour déterminer la fréquence des mises à jour.
Assurez-vous que la maintenance des données est effectuée dans le cadre des opérations de modèle. Vous devez établir des processus pour gérer les modifications via l’automatisation autant que possible et utiliser le bon ensemble d’outils. Pour plus d’informations, consultez MLOps et GenAIOps pour les charges de travail IA sur Azure.