Provisionnez et gérez des environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Provisionnez et gérez les environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog

La prolifération de l'apprentissage automatique (ML) dans un large éventail de cas d'utilisation se généralise dans tous les secteurs. Cependant, cela dépasse l'augmentation du nombre de praticiens du ML qui ont traditionnellement été responsables de la mise en œuvre de ces solutions techniques pour obtenir des résultats commerciaux.

Dans l'entreprise d'aujourd'hui, il est nécessaire que l'apprentissage automatique soit utilisé par des praticiens non-ML qui maîtrisent les données, ce qui est le fondement du ML. Pour en faire une réalité, la valeur du ML est réalisée dans toute l'entreprise via des plateformes de ML sans code. Ces plates-formes permettent à différentes personnes, par exemple les analystes commerciaux, d'utiliser ML sans écrire une seule ligne de code et de fournir des solutions aux problèmes commerciaux de manière rapide, simple et intuitive. Toile Amazon SageMaker est un service visuel pointer-cliquer qui permet aux analystes commerciaux d'utiliser ML pour résoudre des problèmes commerciaux en générant eux-mêmes des prédictions précises, sans nécessiter d'expérience en ML ni avoir à écrire une seule ligne de code. Canvas a étendu l'utilisation du ML dans l'entreprise avec une interface intuitive simple à utiliser qui aide les entreprises à mettre en œuvre rapidement des solutions.

Bien que Canvas ait permis la démocratisation du ML, le défi de provisionner et de déployer des environnements ML de manière sécurisée demeure. En règle générale, cette responsabilité incombe aux équipes informatiques centrales de la plupart des grandes entreprises. Dans cet article, nous expliquons comment les équipes informatiques peuvent administrer, provisionner et gérer des environnements ML sécurisés à l'aide de Toile Amazon SageMaker, Kit de développement AWS Cloud (AWS CDK) et Catalogue de services AWS. L'article présente un guide étape par étape pour les administrateurs informatiques afin d'y parvenir rapidement et à grande échelle.

Présentation d'AWS CDK et d'AWS Service Catalog

AWS CDK est une infrastructure de développement de logiciels open source pour définir vos ressources d'application cloud. Il utilise la familiarité et la puissance expressive des langages de programmation pour modéliser vos applications, tout en provisionnant les ressources de manière sûre et reproductible.

AWS Service Catalog vous permet de gérer de manière centralisée les services informatiques, les applications, les ressources et les métadonnées déployés. Avec AWS Service Catalog, vous pouvez créer, partager, organiser et gérer des ressources cloud avec des modèles d'infrastructure en tant que code (IaC) et permettre un provisionnement rapide et simple.

Vue d'ensemble de la solution

Nous activons le provisionnement des environnements ML à l'aide de Canvas en trois étapes :

  1. Tout d'abord, nous vous expliquerons comment gérer un portefeuille de ressources nécessaires à l'utilisation approuvée de Canvas à l'aide d'AWS Service Catalog.
  2. Ensuite, nous déployons un exemple de portefeuille AWS Service Catalog pour Canvas à l'aide d'AWS CDK.
  3. Enfin, nous montrons comment vous pouvez provisionner des environnements Canvas à la demande en quelques minutes.

Pré-requis

Pour provisionner des environnements ML avec Canvas, AWS CDK et AWS Service Catalog, vous devez effectuer les opérations suivantes :

  1. Avoir accès au compte AWS où le portefeuille Service Catalog sera déployé. Assurez-vous que vous disposez des informations d'identification et des autorisations pour déployer la pile AWS CDK dans votre compte. La Atelier AWS CDK est une ressource utile à laquelle vous pouvez vous référer si vous avez besoin d'aide.
  2. Nous vous recommandons de suivre certaines bonnes pratiques qui sont mises en évidence à travers les concepts détaillés dans les ressources suivantes :
  3. Cloner ce dépôt GitHub dans votre environnement.

Provisionnez des environnements ML approuvés avec Amazon SageMaker Canvas à l'aide d'AWS Service Catalog

Dans les secteurs réglementés et la plupart des grandes entreprises, vous devez respecter les exigences imposées par les équipes informatiques pour provisionner et gérer les environnements ML. Ceux-ci peuvent inclure un réseau privé sécurisé, le cryptage des données, des contrôles pour autoriser uniquement les utilisateurs autorisés et authentifiés tels que Gestion des identités et des accès AWS (IAM) pour accéder à des solutions telles que Canvas, ainsi qu'une journalisation et une surveillance strictes à des fins d'audit.

En tant qu'administrateur informatique, vous pouvez utiliser AWS Service Catalog pour créer et organiser des environnements ML sécurisés et reproductibles avec SageMaker Canvas dans un portefeuille de produits. Ceci est géré à l'aide de contrôles IaC qui sont intégrés pour répondre aux exigences mentionnées précédemment et peuvent être provisionnés à la demande en quelques minutes. Vous pouvez également contrôler qui peut accéder à ce portefeuille pour lancer des produits.

Le diagramme suivant illustre cette architecture.

Exemple de flux

Dans cette section, nous montrons un exemple de portefeuille AWS Service Catalog avec SageMaker Canvas. Le portefeuille se compose de différents aspects de l'environnement Canvas qui font partie du portefeuille Service Catalog :

  • Domaine Studio – Canvas est une application qui s'exécute dans Domaines Studio. Le domaine se compose d'un Système de fichiers Amazon Elastic (Amazon EFS), une liste d'utilisateurs autorisés et une gamme de sécurité, d'application, de stratégie et Cloud privé virtuel Amazon (VPC). Un compte AWS est lié à un domaine par région.
  • Bucket Amazon S3 – Une fois le domaine Studio créé, un Service de stockage simple Amazon Le compartiment (Amazon S3) est provisionné pour Canvas afin de permettre l'importation d'ensembles de données à partir de fichiers locaux, également appelés téléchargement de fichiers locaux. Ce compartiment se trouve dans le compte du client et n'est provisionné qu'une seule fois.
  • Utilisateur de canevas – SageMaker Canvas est une application où vous pouvez ajouter des profils utilisateur dans le domaine Studio pour chaque utilisateur Canvas, qui peut procéder à l'importation d'ensembles de données, créer et former des modèles ML sans écrire de code et exécuter des prédictions sur le modèle.
  • Arrêt programmé des sessions Canvas – Les utilisateurs de Canvas peuvent se déconnecter de l'interface Canvas lorsqu'ils ont terminé leurs tâches. Alternativement, les administrateurs peuvent fermer les sessions Canvas du Console de gestion AWS dans le cadre de la gestion des sessions Canvas. Dans cette partie du portefeuille AWS Service Catalog, un AWS Lambda fonction est créé et provisionné pour arrêter automatiquement les sessions Canvas à des intervalles planifiés définis. Cela permet de gérer les sessions ouvertes et de les fermer lorsqu'elles ne sont pas utilisées.

Cet exemple de flux se trouve dans le GitHub référentiel pour référence rapide.

Déployer le flux avec AWS CDK

Dans cette section, nous déployons le flux décrit précédemment à l'aide d'AWS CDK. Une fois déployé, vous pouvez également effectuer le suivi des versions et gérer le portefeuille.

La pile de portefeuille se trouve dans app.py et le produit s'empile sous le products/ dossier. Vous pouvez itérer sur les rôles IAM, Service de gestion des clés AWS (AWS KMS) et la configuration VPC dans le studio_constructs/ dossier. Avant de déployer la pile dans votre compte, vous pouvez modifier les lignes suivantes dans app.py et accordez l'accès au portefeuille à un rôle IAM de votre choix.

Provisionnez et gérez des environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous pouvez gérer l'accès au portefeuille pour les utilisateurs, groupes et rôles IAM pertinents. Voir Accorder l'accès aux utilisateurs pour plus de détails.

Déployez le portefeuille dans votre compte

Vous pouvez maintenant exécuter les commandes suivantes pour installer le CDK AWS et vous assurer que vous disposez des bonnes dépendances pour déployer le portefeuille :

npm install -g aws-cdk@2.27.0
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt

Exécutez les commandes suivantes pour déployer le portefeuille dans votre compte :

ACCOUNT_ID=$(aws sts get-caller-identity --query Account | tr -d '"')
AWS_REGION=$(aws configure get region)
cdk bootstrap aws://${ACCOUNT_ID}/${AWS_REGION}
cdk deploy --require-approval never

Les deux premières commandes obtiennent votre ID de compte et votre région actuelle en utilisant le Interface de ligne de commande AWS (AWS CLI) sur votre ordinateur. Suivant ceci, cdk bootstrap ainsi que cdk deploy créez des actifs localement et déployez la pile en quelques minutes.

Provisionnez et gérez des environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Le portefeuille se trouve désormais dans AWS Service Catalog, comme illustré dans la capture d'écran suivante.

Provisionnez et gérez des environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Approvisionnement à la demande

Les produits du portefeuille peuvent être lancés rapidement et facilement à la demande depuis le Provisioning menu sur la console AWS Service Catalog. Un flux typique consiste à lancer d'abord le domaine Studio et l'arrêt automatique de Canvas, car il s'agit généralement d'une action unique. Vous pouvez ensuite ajouter des utilisateurs Canvas au domaine. L'ID de domaine et l'ARN du rôle IAM de l'utilisateur sont enregistrés dans Gestionnaire de systèmes AWS et sont automatiquement renseignés avec les paramètres utilisateur, comme illustré dans la capture d'écran suivante.

Provisionnez et gérez des environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous pouvez également utiliser des balises de répartition des coûts associées à chaque utilisateur. Par exemple, UserCostCenter est un exemple de balise où vous pouvez ajouter le nom de chaque utilisateur.

Considérations clés pour la gouvernance des environnements ML à l'aide de Canvas

Maintenant que nous avons provisionné et déployé un portefeuille AWS Service Catalog axé sur Canvas, nous aimerions souligner quelques considérations pour régir les environnements ML basés sur Canvas axés sur le domaine et le profil utilisateur.

Voici quelques considérations concernant le domaine Studio :

  • La mise en réseau pour Canvas est gérée au niveau du domaine Studio, où le domaine est déployé sur un sous-réseau VPC privé pour une connectivité sécurisée. Voir Sécurisation de la connectivité Amazon SageMaker Studio à l'aide d'un VPC privé pour en savoir plus.
  • Un rôle d'exécution IAM par défaut est défini au niveau du domaine. Ce rôle par défaut est attribué à tous les utilisateurs Canvas du domaine.
  • Le chiffrement est effectué à l'aide d'AWS KMS en chiffrant le volume EFS dans le domaine. Pour des contrôles supplémentaires, vous pouvez spécifier votre propre clé gérée, également appelée clé gérée par le client (CMK). Voir Protégez les données au repos à l'aide du chiffrement pour en savoir plus.
  • La possibilité de télécharger des fichiers à partir de votre disque local se fait en attachant une stratégie de partage des ressources cross-origin (CORS) au compartiment S3 utilisé par Canvas. Voir Autorisez vos utilisateurs à télécharger des fichiers locaux pour en savoir plus.

Voici les considérations concernant le profil utilisateur :

  • L'authentification dans Studio peut être effectuée à la fois via l'authentification unique (SSO) et IAM. Si vous avez un fournisseur d'identité existant pour fédérer les utilisateurs afin d'accéder à la console, vous pouvez attribuer un profil utilisateur Studio à chaque identité fédérée à l'aide d'IAM. Voir la rubrique Attribution de la stratégie aux utilisateurs de Studio in Configuration d'Amazon SageMaker Studio pour les équipes et les groupes avec une isolation complète des ressources pour en savoir plus.
  • Vous pouvez attribuer des rôles d'exécution IAM à chaque profil utilisateur. Lors de l'utilisation de Studio, un utilisateur assume le rôle associé à son profil utilisateur qui remplace le rôle d'exécution par défaut. Vous pouvez l'utiliser pour des contrôles d'accès précis au sein d'une équipe.
  • Vous pouvez obtenir une isolation à l'aide de contrôles d'accès basés sur les attributs (ABAC) pour vous assurer que les utilisateurs ne peuvent accéder qu'aux ressources de leur équipe. Voir Configuration d'Amazon SageMaker Studio pour les équipes et les groupes avec une isolation complète des ressources pour en savoir plus.
  • Vous pouvez effectuer un suivi précis des coûts en appliquant des balises de répartition des coûts aux profils utilisateur.

Nettoyer

Afin de nettoyer les ressources créées par la pile AWS CDK ci-dessus, accédez à la page Piles AWS CloudFormation et supprimez les piles Canvas. Vous pouvez également courir cdk destroy depuis le dossier du référentiel, pour faire de même.

Conclusion

Dans cet article, nous avons expliqué comment vous pouvez provisionner rapidement et facilement des environnements ML avec Canvas à l'aide d'AWS Service Catalog et d'AWS CDK. Nous avons expliqué comment vous pouvez créer un portefeuille sur AWS Service Catalog, provisionner le portefeuille et le déployer dans votre compte. Les administrateurs informatiques peuvent utiliser cette méthode pour déployer et gérer les utilisateurs, les sessions et les coûts associés lors de l'approvisionnement de Canvas.

En savoir plus sur Canvas sur le page produit et par Guide du développeur. Pour en savoir plus, vous pouvez apprendre à permettre aux analystes commerciaux d'accéder à SageMaker Canvas à l'aide d'AWS SSO sans la console. Vous pouvez également apprendre comment les analystes commerciaux et les data scientists peuvent collaborer plus rapidement en utilisant Canvas et Studio.


À propos des auteurs

Provisionnez et gérez des environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog PlatoBlockchain Data Intelligence. Recherche verticale. Aï.David Gallitelli est un architecte de solutions spécialisé pour l'IA/ML dans la région EMEA. Il est basé à Bruxelles et travaille en étroite collaboration avec des clients dans tout le Benelux. Il est développeur depuis qu'il est très jeune et a commencé à coder à l'âge de 7 ans. Il a commencé à apprendre l'IA/ML à l'université et en est tombé amoureux depuis.

Provisionnez et gérez des environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Sofiane Hamiti est un architecte de solutions spécialisé en IA / ML chez AWS. Il aide les clients de tous les secteurs à accélérer leur parcours AI / ML en les aidant à créer et à opérationnaliser des solutions d'apprentissage automatique de bout en bout.

Provisionnez et gérez des environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Shyam Srinivasan est chef de produit principal au sein de l'équipe AWS AI/ML, responsable de la gestion des produits pour Amazon SageMaker Canvas. Shyam se soucie de rendre le monde meilleur grâce à la technologie et est passionné par la façon dont l'IA et le ML peuvent être un catalyseur dans ce voyage.

Provisionnez et gérez des environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Avi Patel travaille comme ingénieur logiciel dans l'équipe Amazon SageMaker Canvas. Son expérience consiste à travailler en full stack avec un focus frontend. Dans ses temps libres, il aime contribuer à des projets open source dans l'espace crypto et se renseigner sur les nouveaux protocoles DeFi.

Provisionnez et gérez des environnements ML avec Amazon SageMaker Canvas à l'aide d'AWS CDK et d'AWS Service Catalog PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Jared Heywood est Senior Business Development Manager chez AWS. Il est un spécialiste mondial de l'IA/ML qui aide les clients avec l'apprentissage automatique sans code. Il a travaillé dans l'espace AutoML au cours des 5 dernières années et a lancé des produits chez Amazon comme Amazon SageMaker JumpStart et Amazon SageMaker Canvas.

Horodatage:

Plus de Apprentissage automatique AWS