Projet Open Data Hub - Une plate-forme d'apprentissage automatique basée sur Red Hat OpenShift

L'avenir est arrivé, l'intelligence artificielle et les technologies d'apprentissage automatique sont déjà utilisées avec succès par vos magasins préférés, les entreprises de transport et même les fermes d'élevage de dindes.



Et si quelque chose existe, alors sur Internet existe déjà ... un projet ouvert! Découvrez comment l'Open Data Hub aide à faire évoluer les nouvelles technologies et à éviter les difficultés de leur mise en œuvre.

Avec tous les avantages de l'intelligence artificielle (intelligence artificielle, IA) et du machine learning (machine learning, ML), les organisations ont souvent du mal à faire évoluer ces technologies. Les principaux problèmes avec cela, en règle générale, sont les suivants:

  • Échange d'informations et coopĂ©ration - il est presque impossible d'Ă©changer des informations sans efforts inutiles et de coopĂ©rer en mode d'itĂ©ration rapide.
  • Accès aux donnĂ©es - pour chaque tâche, il doit ĂŞtre construit Ă  nouveau et manuellement, ce qui prend du temps.
  • Accès Ă  la demande - il n'y a aucun moyen d'obtenir un accès Ă  la demande aux outils et Ă  la plate-forme d'apprentissage automatique, ainsi qu'Ă  l'infrastructure informatique.
  • Production - les modèles restent au stade de prototype et ne sont pas amenĂ©s Ă  l'exploitation industrielle.
  • Suivi et explication des rĂ©sultats de l'IA - la reproductibilitĂ©, le suivi et l'explication des rĂ©sultats de l'IA / ML sont difficiles.

Non résolus, ces problèmes nuisent à la vitesse, à l'efficacité et à la productivité de précieux spécialistes du traitement et de l'analyse des données. Cela conduit à leur frustration, leur déception dans le travail et, par conséquent, les attentes des entreprises concernant l'IA / ML sont vaines.

La responsabilité de résoudre ces problèmes incombe aux professionnels de l'informatique qui ont besoin de fournir des analystes de données - à droite, quelque chose comme un cloud. Si elle est plus développée, nous avons besoin d'une plate-forme qui offre une liberté de choix et un accès pratique et facile. En même temps, il est rapide, facilement reconfigurable, évolutif à la demande et résistant aux pannes. Construire une telle plateforme sur la base de technologies open source permet de ne pas devenir dépendant du vendeur et de conserver un avantage stratégique à long terme en termes de maîtrise des coûts.

Il y a quelques années, quelque chose de similaire s'est produit dans le développement d'applications et a conduit à l'émergence de microservices, d'environnements cloud hybrides, d'automatisation informatique et de processus agiles. Pour faire face à tout cela, les professionnels de l'informatique ont commencé à utiliser des conteneurs, Kubernetes et des clouds hybrides ouverts.

Maintenant, cette expérience est appliquée pour répondre aux défis d'Al. Par conséquent, les professionnels de l'informatique créent des plates-formes basées sur des conteneurs, vous permettent de créer des services AI / ML dans le cadre de processus agiles, d'accélérer l'innovation et sont construits en tenant compte d'un cloud hybride.



Nous allons commencer à construire une telle plate-forme avec Red Hat OpenShift, notre plate-forme de conteneurs Kubernetes pour un cloud hybride qui dispose d'un écosystème en croissance rapide de solutions ML logicielles et matérielles (NVIDIA, H2O.ai, Starburst, PerceptiLabs, etc.). Certains clients de Red Hat, tels que BMW Group, ExxonMobil et d'autres, ont déjà déployé des chaînes d'outils ML conteneurisées et des processus DevOps basés sur cette plate-forme et son écosystème pour mettre leurs architectures ML en exploitation commerciale et accélérer le travail des analystes de données.

Une autre raison pour laquelle nous avons lancé le projet Open Data Hub est de démontrer un exemple d'architecture basé sur plusieurs projets open source et de montrer comment implémenter le cycle de vie complet d'une solution ML basée sur la plate-forme OpenShift.

Projet Open Data Hub


Il s'agit d'un projet open source qui se développe dans le cadre de la communauté de développement correspondante et met en œuvre un cycle complet d'opérations - du chargement et de la conversion des données initiales à la formation, la formation et la maintenance du modèle - lors de la résolution de tâches AI / ML à l'aide de conteneurs et de Kubernetes sur la plate-forme OpenShift. Ce projet peut être considéré comme une implémentation de référence, un exemple de la façon de construire une solution AI / ML ouverte en tant que service basée sur OpenShift et des outils open source associés tels que Tensorflow, JupyterHub, Spark et autres. Il est important de noter que Red Hat lui-même utilise ce projet pour fournir ses services AI / ML. De plus, OpenShift s'intègre aux principales solutions logicielles et matérielles ML de NVIDIA, Seldon, Starbust et d'autres fournisseurs, ce qui facilite la création et l'exécution de leurs propres systèmes d'apprentissage automatique.



Le projet Open Data Hub se concentre sur les catégories d'utilisateurs et de cas d'utilisation suivants:

  • Un analyste de donnĂ©es qui a besoin d'une solution pour la mise en Ĺ“uvre de projets ML, organisĂ©e par type de cloud avec des fonctions en libre-service.
  • Un analyste de donnĂ©es qui a besoin d'une sĂ©lection maximale parmi la grande variĂ©tĂ© des derniers outils et plates-formes open source AI / ML.
  • Un analyste de donnĂ©es qui a besoin d'accĂ©der Ă  des sources de donnĂ©es lors de la formation de modèles.
  • Analyste de donnĂ©es qui a besoin d'accĂ©der aux ressources informatiques (CPU, GPU, mĂ©moire).
  • Date est un analyste qui a besoin de l'occasion de collaborer et de partager les rĂ©sultats du travail avec des collègues, de recevoir des commentaires et d'introduire des amĂ©liorations Ă  l'aide de la mĂ©thode d'itĂ©ration rapide.
  • Un analyste de donnĂ©es qui souhaite interagir avec les dĂ©veloppeurs (et dĂ©velopper des Ă©quipes) afin que ses modèles ML et ses rĂ©sultats de travail entrent en production.
  • Un ingĂ©nieur de donnĂ©es qui doit fournir des analyses de donnĂ©es avec accès Ă  une variĂ©tĂ© de sources de donnĂ©es conformĂ©ment aux normes et exigences de sĂ©curitĂ©.
  • Administrateur / opĂ©rateur de systèmes informatiques qui doit pouvoir contrĂ´ler facilement le cycle de vie (installation, configuration, mise Ă  jour) des composants et technologies open source. Nous avons Ă©galement besoin d'outils de gestion et de quotas appropriĂ©s.

Le projet Open Data Hub combine un certain nombre d'outils open source pour implémenter une opération AI / ML complète. Le bloc-notes Jupyter est utilisé ici comme principal outil de travail pour l'analyse des données. Cette boîte à outils est désormais largement populaire auprès des professionnels du traitement et de l'analyse des données, et l'Open Data Hub leur permet de créer et de gérer facilement des espaces de travail Jupyter Notebook à l'aide du JupyterHub intégré. En plus de créer et d'importer des blocs-notes Jupyter, le projet Open Data Hub contient également un certain nombre de blocs-notes prêts à l'emploi sous forme de bibliothèque AI.

Cette bibliothèque est une collection de composants d'apprentissage automatique open source et d'exemples de solutions de script qui simplifient le prototypage rapide. JupyterHub est intégré au modèle d'accès OpenShift RBAC, qui vous permet d'utiliser les comptes OpenShift existants et d'implémenter l'authentification unique. De plus, JupyterHub offre une interface utilisateur pratique appelée spawner, avec laquelle l'utilisateur peut facilement configurer la quantité de ressources informatiques (cœurs de processeur, mémoire, GPU) pour le portable Jupyter sélectionné.

Une fois que l'analyste de données a créé et configuré l'ordinateur portable, le planificateur Kubernetes, qui fait partie d'OpenShift, s'occupe du reste. Les utilisateurs peuvent uniquement effectuer leurs expériences, enregistrer et partager les résultats de leur travail. De plus, les utilisateurs avancés peuvent accéder directement au shell CLI OpenShift directement à partir des blocs-notes Jupyter pour activer les primitives Kubernetes, telles que Job, ou les fonctionnalités OpenShift, telles que Tekton ou Knative. Ou vous pouvez utiliser l'interface graphique OpenShift pratique appelée «OpenShift Web Console» pour cela.





En passant à l'étape suivante, l'Open Data Hub offre la possibilité de gérer les pipelines de données. Pour cela, un objet Ceph est utilisé, qui est fourni comme un entrepôt de données d'objets compatible S3. Apache Spark diffuse des données à partir de sources externes ou du stockage intégré Ceph S3, et vous permet également d'effectuer des conversions de données préliminaires. Apache Kafka fournit une gestion avancée des pipelines de données (où vous pouvez effectuer plusieurs téléchargements, ainsi que des opérations de transformation, d'analyse et de stockage des données).

Ainsi, l'analyste de données a eu accès aux données et a construit un modèle. Désormais, il souhaite partager les résultats avec des collègues ou des développeurs d'applications et leur fournir son modèle de principes de service. Pour ce faire, vous avez besoin d'un serveur de sortie, et l'Open Data Hub dispose d'un tel serveur, il s'appelle Seldon et vous permet de publier le modèle en tant que service RESTful.

À un moment donné, il existe plusieurs modèles de ce type sur le serveur Seldon et il est nécessaire de surveiller leur utilisation. Pour ce faire, l'Open Data Hub propose une collection de mesures pertinentes et un moteur de rapport basé sur les outils de surveillance open source largement utilisés Prometheus et Grafana. En conséquence, nous obtenons des commentaires pour surveiller l'utilisation des modèles d'IA, en particulier dans l'environnement de production.



Ainsi, l'Open Data Hub propose une approche de type cloud tout au long du cycle de fonctionnement AI / ML, de l'accès et de la préparation des données à la formation et à l'exploitation industrielle du modèle.

Tout mettre ensemble


Maintenant, la question est de savoir comment organiser cela pour l'administrateur OpenShift. Et voici l'opérateur spécial Kubernetes pour les projets Open Data Hub.



Cet opérateur gère l'installation, la configuration et le cycle de vie du projet Open Data Hub, y compris le déploiement d'outils tels que JupyterHub, Ceph, Spark, Kafka, Seldon, Prometheus et Grafana. Le projet Open Data Hub se trouve dans la console Web OpenShift, dans la section des opérateurs de communauté. Ainsi, l'administrateur OpenShift peut spécifier que les projets OpenShift correspondants sont classés en tant que «Projet Open Data Hub». Cela se fait une fois. Après cela, l'analyste de données via la console Web OpenShift entre dans son espace de projet et voit que l'opérateur Kubernetes correspondant est installé et disponible pour ses projets. Il crée ensuite une instance du projet Open Data Hub en un clic et accède immédiatement aux outils décrits ci-dessus. Et tout cela peut être configuré en mode haute disponibilité et tolérance aux pannes.



Si vous souhaitez essayer le projet Open Data Hub de vos propres mains, commencez par les instructions d'installation et un didacticiel d'introduction . Les détails techniques de l'architecture Open Data Hub peuvent être trouvés ici ; les plans de développement du projet sont ici . À l'avenir, il est prévu de mettre en œuvre une intégration supplémentaire avec Kubeflow, de résoudre un certain nombre de problèmes de réglementation et de sécurité des données et d'organiser l'intégration avec des systèmes basés sur les règles Drools et Optaplanner. Vous pouvez exprimer votre opinion et devenir membre du projet Open Data Hub sur la page de la communauté .

Nous résumons: de graves problèmes de mise à l'échelle empêchent les organisations de réaliser pleinement le potentiel de l'intelligence artificielle et de l'apprentissage automatique. Red Hat OpenShift est utilisé depuis longtemps avec succès pour résoudre des problèmes similaires dans l'industrie du logiciel. Le projet Open Data Hub, mis en œuvre au sein de la communauté de développement open source, offre une architecture de référence pour l'organisation d'un cycle d'opération AI / ML complet basé sur le cloud hybride OpenShift. Nous avons un plan de développement clair et réfléchi pour ce projet, et nous voulons vraiment créer une communauté active et fructueuse pour développer des solutions d'IA ouvertes sur la plate-forme OpenShift qui l'entoure.

Source: https://habr.com/ru/post/fr472836/


All Articles