Maison >Périphériques technologiques >IA >Dix éléments de l'architecture du système d'apprentissage automatique
C’est une ère d’autonomisation de l’IA, et l’apprentissage automatique est un moyen technique important pour réaliser l’IA. Alors, existe-t-il une architecture universelle de système d’apprentissage automatique ?
Dans le champ cognitif des programmeurs expérimentés, tout n'est rien, notamment pour l'architecture système. Cependant, il est possible de créer une architecture de système d'apprentissage automatique évolutive et fiable si elle est applicable à la plupart des systèmes ou cas d'utilisation basés sur l'apprentissage automatique. Du point de vue du cycle de vie du machine learning, cette architecture dite universelle couvre les étapes clés du machine learning, depuis le développement de modèles de machine learning jusqu'au déploiement de systèmes de formation et de systèmes de services dans les environnements de production. Nous pouvons essayer de décrire une telle architecture de système d'apprentissage automatique à partir des dimensions de 10 éléments.
Fournissez des données de haute qualité dans un temps donné et générez des fonctionnalités d'apprentissage automatique utiles de manière évolutive et flexible. En général, le pipeline de données peut être séparé du pipeline d’ingénierie des fonctionnalités. Le pipeline de données fait référence au pipeline d'extraction, de transformation et de chargement (ETL), dans lequel les ingénieurs de données sont responsables du transfert des données vers des emplacements de stockage, tels que les lacs de données construits sur le stockage d'objets, et les pipelines d'ingénierie de fonctionnalités se concentrent sur la conversion des données brutes en données qui peut aider les fonctionnalités d'apprentissage automatique que les algorithmes d'apprentissage automatique apprennent plus rapidement et avec plus de précision.
L'ingénierie des fonctionnalités est généralement divisée en deux étapes. Dans la première étape, la logique d'ingénierie des fonctionnalités est généralement créée par les data scientists pendant la phase de développement à travers diverses expériences afin de trouver le meilleur ensemble de fonctionnalités, tandis que les ingénieurs de données ou les ingénieurs en apprentissage automatique sont responsables de la production de pipelines d'ingénierie de fonctionnalités pour la formation des modèles. et les services de production dans l'environnement fournissent des données de fonctionnalités de haute qualité.
Stocke les données des fonctionnalités d'apprentissage automatique, effectue la gestion des versions, pour la découverte, le partage et la réutilisation, et fournit des données cohérentes et des fonctionnalités d'apprentissage automatique pour la formation de modèles et les services, améliorant ainsi la fiabilité du système d'apprentissage automatique.
Face aux données de fonctionnalités d'apprentissage automatique, le stockage de fonctionnalités est une solution de stockage persistante créée par le pipeline d'ingénierie de fonctionnalités. Le stockage des fonctionnalités prend en charge la formation et la diffusion des modèles. Il s’agit donc d’un élément très important et d’un composant important de l’architecture du système d’apprentissage automatique de bout en bout.
Exécutez différents paramètres et hyperparamètres pour la formation en apprentissage automatique, menez des expériences de manière simple et configurable et enregistrez les différents paramètres et modèles sur lesquels ces formations sont exécutées sur des indicateurs de performance. Évaluez, validez, sélectionnez et enregistrez automatiquement les modèles les plus performants dans une bibliothèque de modèles d'apprentissage automatique.
Stocke et enregistre les exécutions d'apprentissage automatique, y compris les paramètres, les indicateurs, les codes, les résultats de configuration et les modèles entraînés, et fournit la gestion du cycle de vie des modèles, l'annotation des modèles, la découverte et la réutilisation des modèles et d'autres fonctions.
Pour un système d'apprentissage automatique complet, caractérisé par l'ingénierie, la formation de modèles et le service de modèles, une grande quantité de métadonnées peut être générée à partir des données. Toutes ces métadonnées sont très utiles pour comprendre le fonctionnement du système, assurer la traçabilité depuis Données->Fonctionnalités->Modèle->Serveur et fournir des informations utiles pour le débogage lorsque le modèle cesse de fonctionner.
Fournir une infrastructure appropriée pour l'utilisation de modèles d'apprentissage automatique dans les environnements de production, en tenant compte à la fois du service complet et de la latence.
De manière générale, il existe trois modes de service : le service par lots, le service de streaming et le service en ligne. Chaque type de service nécessite une infrastructure complètement différente. De plus, l'infrastructure doit être tolérante aux pannes et évoluer automatiquement en réponse aux fluctuations des demandes et du débit, en particulier pour les systèmes d'apprentissage automatique critiques pour l'entreprise.
Dans l'environnement de production, lorsque des dérives et des anomalies de données et de modèles sont détectées, fournir des fonctions de collecte de données, de surveillance, d'analyse, de visualisation et de notification, et fournir les informations nécessaires pour aider au débogage du système.
Par rapport aux flux de travail d'apprentissage automatique spécifiques, les pipelines d'apprentissage automatique fournissent un cadre réutilisable qui permet aux data scientists de développer et d'itérer plus rapidement tout en maintenant un code de haute qualité et en réduisant le temps de production. Certains frameworks de pipeline d'apprentissage automatique fournissent également des capacités d'orchestration et d'abstraction architecturale.
L'orchestration du workflow est l'élément clé de l'intégration d'un système d'apprentissage automatique de bout en bout, coordonnant et gérant les dépendances de tous ces composants clés. Les outils d'orchestration de workflow fournissent également des fonctionnalités telles que la journalisation, la mise en cache, le débogage et les nouvelles tentatives.
Les tests continus et l'intégration continue font référence à la formation continue de nouveaux modèles avec de nouvelles données, à la mise à niveau des performances du modèle si nécessaire et au maintien de la sécurité, de l'agilité et de l'automatisation. pour servir en permanence l’environnement de production et déployer des modèles.
À chaque étape du flux de travail d'apprentissage automatique de bout en bout, des contrôles fiables de la qualité des données, des contrôles de la qualité des modèles, ainsi que la détection des dérives des données et des concepts doivent être intégrés pour garantir que le système d'apprentissage automatique lui-même est fiable et digne de confiance. Ces contrôles de qualité incluent, entre autres, des statistiques descriptives, la forme globale des données, les données manquantes, les données en double, les caractéristiques presque constantes, les tests statistiques, les mesures de distance et la qualité des prédictions du modèle.
Ce qui précède peut être appelé les 10 éléments de l'architecture du système d'apprentissage automatique. Dans notre pratique, le flux de travail global devrait rester à peu près le même, mais certains éléments devront peut-être être modifiés et personnalisés.
Comment ajuster l'architecture système du machine learning ?
Comment rationaliser les éléments architecturaux dès le début de la conception d'un produit ?
Comment maintenir la continuité de l'architecture système d'origine lors de l'introduction d'un système d'apprentissage automatique ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!