La Cadre AWS Machine Learning Operations (MLOps) est un processus itératif et répétitif pour faire évoluer les modèles d'IA au fil du temps. Comme DevOps, les praticiens gagnent en efficacité en promouvant leurs artefacts dans divers environnements (tels que l'assurance qualité, l'intégration et la production) pour le contrôle qualité. En parallèle, les clients adoptent rapidement des stratégies multi-comptes grâce à Organisations AWS et de Tour de contrôle AWS pour créer des environnements sécurisés et isolés. Cette combinaison peut présenter des défis pour la mise en œuvre de MLOps avec des services d'IA préformés AWS, tels que Étiquettes personnalisées Amazon Rekognition. Cet article traite des modèles de conception permettant de réduire cette complexité tout en conservant les meilleures pratiques de sécurité.
Vue d’ensemble
Les clients de tous les secteurs verticaux reconnaissent la valeur de l'opérationnalisation efficace de l'apprentissage automatique (ML) et de la réduction du temps nécessaire pour générer de la valeur commerciale. La plupart des services d'IA préformés d'AWS répondent à cette situation grâce à des fonctionnalités prêtes à l'emploi pour la vision par ordinateur, la traduction et la détection des fraudes, entre autres cas d'utilisation courants. De nombreux cas d'utilisation nécessitent des prédictions spécifiques à un domaine qui vont au-delà des réponses génériques. Les services d'IA peuvent affiner les résultats du modèle prédictif à l'aide de données étiquetées par le client pour ces scénarios.
Au fil du temps, le vocabulaire spécifique au domaine change et évolue. Par exemple, supposons qu'un fabricant d'outils crée un modèle de vision par ordinateur pour détecter ses produits dans des images (comme des marteaux et des tournevis). Dans une future version, l'entreprise ajoute la prise en charge des clés et des scies. Ces nouvelles étiquettes nécessitent des changements de code sur les sites Web et les applications personnalisées du fabricant. Désormais, il existe des dépendances que les deux artefacts doivent libérer simultanément.
Le cadre AWS MLOps répond à ces défis de publication via des processus itératifs et répétitifs. Avant d'atteindre les utilisateurs finaux de production, les artefacts du modèle doivent franchir diverses étapes de qualité comme le code d'application. Vous implémentez généralement ces portes de qualité en utilisant plusieurs comptes AWS au sein d'une organisation AWS. Cette approche offre la flexibilité nécessaire pour gérer de manière centralisée ces domaines d'application et appliquer des garde-fous et des exigences métier. Il devient de plus en plus courant d'avoir des dizaines voire des centaines de comptes au sein de votre organisation. Cependant, vous devez trouver un équilibre entre vos besoins d'isolation de la charge de travail et la taille et la complexité de l'équipe.
Les praticiens MLOps ont des procédures standard pour promouvoir les artefacts entre les comptes (comme l'assurance qualité à la production). Ces modèles sont simples à mettre en œuvre, reposant sur la copie de code et de ressources binaires entre Service de stockage simple Amazon (Amazon S3). Cependant, les services d'IA préformés d'AWS ne prennent actuellement pas en charge la copie du modèle personnalisé formé entre les comptes AWS. Jusqu'à ce qu'un tel mécanisme existe, vous devez recycler les modèles dans chaque compte AWS en utilisant le même ensemble de données. Cette approche implique du temps et des coûts pour recycler le modèle dans un nouveau compte. Ce mécanisme peut être une option viable pour certains clients. Cependant, dans cet article, nous montrons les moyens de définir et de faire évoluer ces modèles personnalisés de manière centralisée tout en les partageant en toute sécurité sur les comptes d'une organisation AWS.
Vue d'ensemble de la solution
Cet article traite des modèles de conception pour partager en toute sécurité des modèles AWS pré-formés spécifiques au domaine AI Service. Ces prestations comprennent Détecteur de fraude Amazon, Amazon Transcribeet une Amazon Reconnaissance, pour n'en nommer que quelques-uns. Bien que ces stratégies soient largement applicables, nous nous concentrons sur les étiquettes personnalisées Rekognition comme exemple concret. Nous évitons intentionnellement de plonger trop profondément dans les nuances spécifiques aux étiquettes personnalisées de Rekognition.
L'architecture commence par une tour de contrôle AWS configurée dans le compte principal. AWS Control Tower offre le moyen le plus simple de configurer et de gérer un environnement AWS sécurisé et multicompte. Comme le montre le schéma suivant, nous utilisons Usine de compte dans AWS Control Tower pour créer cinq comptes AWS :
- Compte CI/CD pour l'orchestration du déploiement (par exemple, avec AWS Code Star)
- Compte de production pour les utilisateurs finaux externes (par exemple, un site Web public)
- Compte d'assurance qualité pour les équipes de développement internes (comme la préproduction)
- Compte ML pour les modèles personnalisés et les systèmes de support
- Maison du lac AWS compte détenant des données client exclusives
Cette configuration peut être trop granulaire ou grossière, selon vos exigences réglementaires, votre secteur d'activité et votre taille. Faire référence à Gestion de l'environnement multi-comptes à l'aide d'AWS Organizations et d'AWS Control Tower pour plus de conseils.
Créer le modèle Rekognition Custom Labels
La première étape pour créer un modèle Rekognition Custom Labels consiste à choisir le compte AWS pour l'héberger. Vous pouvez commencer votre voyage ML en utilisant un seul compte ML. Cette approche consolide tous les outils et procédures en un seul endroit. Cependant, cette centralisation peut provoquer un gonflement du compte individuel et conduire à des environnements monolithiques. Les entreprises plus matures segmentent ce compte ML par équipe ou charge de travail. Quelle que soit la granularité, l'objet est le même pour définir de manière centralisée et former les modèles une seule fois.
Cet article illustre l'utilisation d'un modèle d'étiquettes personnalisées Rekognition avec un seul compte ML et un compte de lac de données distinct (voir le diagramme suivant). Lorsque les données résident dans un autre compte, vous devez configurer une stratégie de ressources pour fournir un accès entre comptes au compartiment S3 objets. Cette procédure partage en toute sécurité le contenu du compartiment avec le compte ML. Voir le exemples de démarrage rapide Pour plus d'informations sur création d'un modèle spécifique à un domaine Amazon Rekognition.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSRekognitionS3AclBucketRead20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::S3:" }, { "Sid": "AWSRekognitionS3GetBucket20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectVersion", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:::S3:/*" }, { "Sid": "AWSRekognitionS3ACLBucketWrite20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::S3:" }, { "Sid": "AWSRekognitionS3PutObject20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::S3:/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ]
}
Activer l'accès entre comptes
Une fois que vous avez créé et déployé le modèle, le point de terminaison n'est disponible que dans le compte ML. N'utilisez pas un clé statique pour partager l'accès. Vous devez accès délégué au compte de production (ou QA) en utilisant Gestion des identités et des accès AWS (IAM). Pour créer un rôle multicompte dans le compte ML, procédez comme suit :
- Dans la console Étiquettes personnalisées de Rekognition, choisissez Projets et choisissez le nom de votre projet.
- Selectionnez Des modèles photo et le nom de votre modèle.
- Sur le Utiliser le modèle onglet, faites défiler jusqu'à Utilisez votre modèle .
- Copiez le modèle Amazon Resource Name (ARN). Il doit être formaté comme suit :
arn:aws:rekognition:region-name:account-id:project/model-name/version/version-id/timestamp
. - Créer un rôle avec
rekognition:DetectCustomLabels
autorisations à l'ARN modèle et une politique de confiance permettantsts:AssumeRole
du compte de production (ou d'assurance qualité) (par exemple,arn:aws:iam::PROD_ACCOUNT_ID_HERE:root
). - Éventuellement, attachez des stratégies supplémentaires pour toutes les actions spécifiques à la charge de travail (telles que l'accès aux compartiments S3).
- Facultativement, configurez le élément conditionnel pour appliquer des exigences de délégation supplémentaires.
- Enregistrez l'ARN du nouveau rôle à utiliser dans la section suivante.
Appeler le point de terminaison
Avec les politiques de sécurité en place, il est temps de tester la configuration. Une approche simple consiste à créer un Cloud de calcul élastique Amazon (Amazon EC2) et en utilisant l'instance Interface de ligne de commande AWS (AWS CLI). Appelez le point de terminaison en procédant comme suit :
- Dans le compte de production (ou QA), créez un rôle pour Amazon EC2.
- Joindre une politique permettant
sts:AssumeRole
à l'ARN interrôle du compte ML. - Lancer une instance Amazon Linux 2 avec le rôle de l'étape précédente.
- Attendez qu'il soit provisionné, puis se connecter à l'instance Linux à l'aide de SSH.
- Appelez la commande
aws iam assume-role
pour passer au rôle intercompte de la section précédente. - Démarrer le point de terminaison du modèle, s'il n'est pas déjà en cours d'exécution, à l'aide de la console Rekognition ou du démarrer la version du projet Commande AWS CLI.
- Appelez la commande AWS Rekognition Détecter les étiquettes personnalisées pour tester le fonctionnement.
Vous pouvez également effectuer ce test à l'aide du kit SDK AWS et d'une autre ressource de calcul (par exemple, AWS Lambda).
Éviter l'internet public
Dans la section précédente, la requête detect-custom-labels utilise la passerelle Internet du Virtual Private Cloud (VPC) et traverse l'Internet public. Le chiffrement TLS/SSL sécurise suffisamment le canal de communication pour de nombreuses charges de travail. Vous pouvez utiliser Lien privé AWS à activer les connexions entre le VPC et les services de support sans avoir besoin d'une passerelle Internet, d'un périphérique NAT, d'une connexion VPN, d'une passerelle de transit ou AWS Direct Connect lien. Ensuite, la requête detect-custom-labels ne laisse jamais le réseau AWS exposé à l'Internet public. AWS PrivateLink prend en charge tous les services utilisés dans cette publication. Vous pouvez également appliquer des services d'IA pré-formés utilisation de la connectivité privée avec IAM dans la politique inter-rôles. Ce contrôle ajoute un autre niveau de protection qui empêche les clients mal configurés d'utiliser le point de terminaison Internet du service AI pré-formé. Pour plus d'informations, voir Utilisation d'Amazon Rekognition avec des points de terminaison Amazon VPC, AWS PrivateLink pour Amazon S3et une Utilisation des points de terminaison de VPC de l'interface AWS STS.
Le schéma suivant illustre la configuration du point de terminaison d'un VPC entre le compte de production, le compte ML et le compte QA.
Construire un pipeline CI/CD pour promouvoir les modèles
AWS recommande de fournir en permanence davantage de données de formation et de test pour personnaliser l'ensemble de données du projet Amazon Rekognition afin améliorer les modèles. Après avoir ajouté plus de données à un projet, un nouveau modèle peut améliorer la précision ou modifier les étiquettes.
Dans MLOps, les artefacts de modèle doivent être cohérents. Pour ce faire avec des services IA préformés, AWS recommande de promouvoir le point de terminaison du modèle en mettant à jour la référence du code vers l'ARN de la nouvelle version du modèle. Cette approche évite de recycler le modèle spécifique au domaine dans chaque environnement (comme les comptes d'assurance qualité et de production). Vos applications peuvent utiliser l'ARN du nouveau modèle comme variable d'exécution à l'aide de Gestionnaire de systèmes AWS au sein d'un multi-compte ou environnement en plusieurs étapes.
Trois niveaux de granularité limitent l'accès au modèle intercompte, en particulier au niveau du compte, du projet et de la version du modèle. Les modèles sont idempotents et ont un ARN unique qui correspond à une formation ponctuelle spécifique : arn:aws:rekognition:account:region:project/project_name/version/name/timestamp
.
Le diagramme suivant illustre la rotation du modèle de l'assurance qualité à la production.
Dans l'architecture précédente, les applications de production et d'assurance qualité effectuent des appels d'API pour utiliser les points de terminaison du modèle v2 ou v3 via leurs points de terminaison VPC respectifs. Ils reçoivent l'ARN de son magasin de configuration (par exemple, Magasin de paramètres Amazon Systems Manager or AWS AppConfig). Ce procédé fonctionne avec n nombre d'environnements, mais nous démontrons en utilisant seulement deux comptes pour plus de simplicité. Éventuellement, la suppression des versions de modèle remplacées empêche une consommation supplémentaire de ces ressources.
Le compte ML a un rôle IAM pour chaque environnement spécifique (tel que le compte de production) qui nécessite un accès. Le pipeline CI/CD dans le cadre du déploiement modifie la stratégie en ligne du rôle IAM pour permettre l'accès au modèle approprié.
Considérez le scénario de promotion de Model-v2 du compte QA vers le compte de production. Ce processus nécessite les étapes suivantes :
- Sur la console Rekognition Custom Labels, passez le point de terminaison Model-v2 à un état en cours d'exécution.
- Accordez au rôle IAM entre comptes dans le compte ML l'accès à la nouvelle version de Model-v2.
Notez que le élément de ressource prend en charge les caractères génériques dans l'ARN.
- Envoyez un appel de test à Model-v2 à partir de l'application de production à l'aide du rôle de délégation.
- Si vous le souhaitez, supprimez l'accès du rôle entre comptes à Model-v1.
- Si vous le souhaitez, répétez les étapes 2 à 3 pour chaque compte AWS supplémentaire.
- Si vous le souhaitez, arrêtez le point de terminaison Model-v1 pour éviter d'engager des frais.
La propagation de la stratégie globale du plan de contrôle IAM au plan de données IAM dans chaque région est une opération cohérente à terme. Cette conception peut créer de légers retards pour les configurations multirégionales.
Créer des garde-fous via des politiques de contrôle de service
L'utilisation de rôles entre comptes crée un mécanisme sécurisé pour le partage de ressources d'IA gérées pré-formées. Mais que se passe-t-il lorsque la politique de ce rôle est trop permissive ? Vous pouvez atténuer ces risques en utiliser des politiques de contrôle de service (SCP) pour définir des garde-corps d'autorisation entre les comptes. Les garde-corps spécifient autorisations maximales disponible pour une identité IAM. Ces fonctionnalités peuvent empêcher un compte consommateur modèle, par exemple, d'arrêter le point de terminaison Amazon Rekognition partagé. Après avoir défini les exigences de garde-corps appropriées, unités organisationnelles au sein des organisations permettent de gérer de manière centralisée ces politiques sur plusieurs comptes.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyModifyingRekgnotionProjects", "Effect": "Deny", "Action": [ "rekognition:CreateProject*", "rekognition:DeleteProject*", "rekognition:StartProject*", "rekognition:StopProject*", ], "Resource": [ “arn:aws:rekognition:*:*:project/* ] } ]
}
Vous pouvez également configurer des contrôles de détection pour surveiller leur configuration et vous assurer qu'elle ne dérive pas de la conformité. Analyseur d'accès AWS IAM prend en charge l'évaluation des stratégies dans l'ensemble de l'organisation et le signalement des autorisations inutilisées. En outre, Configuration AWS permet d'évaluer, d'auditer et d'évaluer les configurations des ressources AWS. Cette capacité prend en charge les exigences de sécurité et de conformité standard, telles que vérification et correction les paramètres de chiffrement du compartiment S3.
Conclusion
Vous avez besoin de solutions prêtes à l'emploi pour ajouter des fonctionnalités de ML telles que la vision par ordinateur, la traduction et la détection des fraudes. Vous avez également besoin de limites de sécurité qui isolent vos différents environnements à des fins de contrôle qualité, de conformité et de réglementation. Les services d'IA préformés d'AWS et AWS Control Tower offrent cette fonctionnalité d'une manière facilement accessible et sécurisée.
Les services d'IA préformés d'AWS ne prennent actuellement pas en charge la copie du modèle personnalisé formé entre les comptes AWS. Jusqu'à ce qu'un tel mécanisme existe, vous devez recycler les modèles dans chaque compte AWS en utilisant le même ensemble de données. Cet article présente une approche de conception alternative utilisant des stratégies IAM entre comptes pour partager des points de terminaison de modèle tout en maintenant un contrôle de sécurité robuste. De plus, vous pouvez arrêter de payer pour des emplois de formation redondants ! Pour plus d'informations sur les politiques intercomptes, voir Tutoriel IAM : Déléguez l'accès entre les comptes AWS à l'aide des rôles IAM.
À propos des auteurs
Nate Bachmeier est un architecte de solutions senior AWS qui explore New York de manière nomade, une intégration cloud à la fois. Il est spécialisé dans la migration et la modernisation des charges de travail des clients. En plus de cela, Nate est étudiant à temps plein et a deux enfants.
Mario Bourgoin est un architecte de solutions partenaire principal pour AWS, un spécialiste de l'IA/ML et le responsable technologique mondial pour MLOps. Il travaille avec des entreprises clientes et des partenaires qui déploient des solutions d'IA dans le cloud. Il a plus de 30 ans d'expérience dans l'apprentissage automatique et l'IA dans des startups et des entreprises, en commençant par créer l'un des premiers systèmes commerciaux d'apprentissage automatique pour le Big Data. Mario passe le reste de son temps à jouer avec ses trois Tervurens belges, à préparer des dîners pour sa famille et à apprendre les mathématiques et la cosmologie.
Tim Murphy est un architecte de solutions senior pour AWS, travaillant avec des entreprises clientes de divers secteurs pour créer des solutions commerciales dans le cloud. Il a passé la dernière décennie à travailler avec des startups, des organisations à but non lucratif, des entreprises commerciales et des agences gouvernementales, en déployant des infrastructures à grande échelle. Pendant son temps libre, lorsqu'il ne bricole pas avec la technologie, vous le trouverez très probablement dans des régions éloignées de la terre, faisant de la randonnée en montagne, surfant sur des vagues ou faisant du vélo dans une nouvelle ville.
- Coinsmart. Le meilleur échange Bitcoin et Crypto d'Europe.
- Platoblockchain. Intelligence métaverse Web3. Connaissance amplifiée. ACCÈS LIBRE.
- CryptoHawk. Radar Altcoins. Essai gratuit.
- Source : https://aws.amazon.com/blogs/machine-learning/implement-mlops-using-aws-pre-trained-ai-services-with-aws-organizations/
- "
- 100
- 98
- A Propos
- accès
- Compte
- à travers
- Action
- actes
- Supplémentaire
- propos
- AI
- Services d'IA
- Tous
- Permettre
- déjà
- Bien que
- Amazon
- parmi
- Une autre
- api
- en vigueur
- Application
- applications
- une approche
- architecture
- disponibles
- AWS
- LES MEILLEURS
- les meilleures pratiques
- Big Data
- Gonfler
- construire
- la performance des entreprises
- capacités
- cas
- Causes
- globaux
- Ville
- le cloud
- code
- combinaison
- commercial
- Commun
- Communication
- conformité
- calcul
- condition
- configuration
- connexion
- Connexions
- Connectivité
- Console
- consommateur
- consommation
- contenu
- des bactéries
- Costs
- La création
- Clients
- données
- décennie
- retards
- déployer
- déployer
- déploiement
- Conception
- Détection
- Développement
- dispositif
- différent
- Ne fait pas
- domaines
- down
- Terre
- même
- effet
- chiffrement
- Endpoint
- Entreprise
- Environment
- exemple
- d'experience
- famille
- Prénom
- Flexibilité
- Focus
- Abonnement
- Framework
- fraude
- avenir
- Portes
- Global
- Gouvernement
- HTTPS
- Des centaines
- Identite
- Mettre en oeuvre
- comprendre
- individuel
- secteurs
- industrie
- d'information
- Infrastructure
- l'intégration
- Interfaces
- Internet
- seul
- IT
- enfants
- Etiquettes
- conduire
- apprentissage
- Niveau
- Gamme
- linux
- click
- machine learning
- gestion
- manager
- les gérer
- Fabricants
- Map
- mathématiques
- ML
- modèle
- numériques jumeaux (digital twin models)
- (en fait, presque toutes)
- réseau et
- New York
- Opérations
- Option
- orchestration
- organisation
- organisations
- Autre
- les partenaires
- partenaires,
- politiques
- politique
- Prédictions
- Directeur
- Privé
- processus
- les process
- Vidéo
- Produits
- Projet
- propriétaire
- protection
- fournit
- public
- des fins
- qualité
- recevoir
- recommande
- réduire
- régulateurs
- libérer
- exigent
- Exigences
- ressource
- Resources
- Résultats
- risques
- pour le running
- Escaliers intérieurs
- Sdk
- sécurisé
- sécurité
- les politiques de sécurité
- service
- Services
- set
- Partager
- commun
- Partages
- étapes
- Taille
- Solutions
- spécialise
- spécifiquement
- Commencer
- Startups
- Région
- Déclaration
- storage
- Boutique
- les stratégies
- Étudiant
- Support
- Les soutiens
- Interrupteur
- Système
- équipe
- technologie
- Technologie
- tester
- Avec
- fiable
- Formation
- transit
- Traduction
- La confiance
- expérience unique et authentique
- utilisé
- Plus-value
- Salle de conférence virtuelle
- vision
- VPN
- vagues
- Site Web
- sites Internet
- Quoi
- dans les
- sans
- de travail
- vos contrats
- années