Utiliser les SageMaker modèles de projet fournis - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser les SageMaker modèles de projet fournis

Important

À compter du 9 septembre 2024, les modèles de projet qui utilisent le AWS CodeCommit référentiel ne sont plus pris en charge. Pour les nouveaux projets, sélectionnez l'un des modèles de projet disponibles qui utilisent des référentiels Git tiers.

Amazon SageMaker fournit des modèles de projet qui créent l'infrastructure dont vous avez besoin pour créer une MLOps solution d'intégration continue et de déploiement continu (CI/CD) de modèles de machine learning. Utilisez ces modèles pour traiter des données, extraire des fonctionnalités, entraîner et tester des modèles, enregistrer les modèles dans le registre des SageMaker modèles et déployer les modèles à des fins d'inférence. Vous pouvez personnaliser le code d'amorçage et les fichiers de configuration en fonction de vos besoins.

Note

À compter du 25 juillet 2022, nous avons besoin de rôles supplémentaires pour utiliser les modèles de projet. Pour obtenir la liste complète des rôles requis et les instructions permettant de les créer, consultez Octroi des autorisations de SageMaker studio requises pour utiliser les projets. Si vous n'avez pas les nouveaux rôles, le message d'erreur « n'CodePipeline est pas autorisé à s'exécuter AssumeRole sur le rôle arn:aws:iam : AmazonSageMakerServiceCatalogProductsCodePipelineRole :xxx:role/service-role/ » s'affichera lorsque vous essayez de créer un nouveau projet et que vous ne pouvez pas continuer.

SageMaker les modèles de projet vous offrent le choix suivant de référentiels de code, d'outils d'automatisation des flux de travail et d'étapes de pipeline :

  • Référentiel de code : AWS CodeCommit ou référentiels Git tiers tels que GitHub Bitbucket

  • Automatisation du flux de travail CI/CD : AWS CodePipeline ou Jenkins

  • Étapes de pipelines : création et entraînement de modèles, déploiement de modèles, ou les deux

La discussion suivante fournit une vue d'ensemble de chaque modèle que vous pouvez choisir lors de la création de votre SageMaker projet. Vous pouvez également consulter les modèles disponibles dans Studio (ou Studio Classic) en suivant l'étape 1 : Création du projet ou procédure pas à pas.

Pour step-by-step obtenir des instructions sur la façon de créer un projet réel, vous pouvez suivre l'une des procédures détaillées du projet :

MLOpsmodèle pour la création de modèles, la formation et le déploiement

Ce modèle est une combinaison des deux modèles suivants, chacun pouvant être utilisé indépendamment, et contient toutes les ressources fournies dans ces modèles.

  • Référentiel de code : AWS CodeCommit

  • Automatisation du flux de travail CI/CD : AWS CodePipeline

MLOpsmodèle pour la construction de modèles et la formation

Utilisez ce modèle lorsque vous recherchez une MLOps solution pour traiter des données, extraire des fonctionnalités, entraîner et tester des modèles, et enregistrer les modèles dans le registre des SageMaker modèles.

Ce modèle fournit les ressources suivantes :

  • Un AWS CodeCommit référentiel contenant un exemple de code qui crée un SageMaker pipeline Amazon en code Python et montre comment créer et mettre à jour le SageMaker pipeline. Ce référentiel contient également un exemple de bloc-notes Python que vous pouvez ouvrir et exécuter dans Studio (ou Studio Classic).

  • Un AWS CodePipeline pipeline comportant des étapes de source et de génération. L'étape source pointe vers le CodeCommit référentiel. L'étape de construction extrait le code de ce référentiel, crée et met à jour le SageMaker pipeline, lance une exécution de pipeline et attend que l'exécution du pipeline soit terminée.

  • Un compartiment Amazon S3 pour stocker les artefacts, y compris CodePipeline les CodeBuild artefacts, et tous les artefacts générés par le SageMaker pipeline s'exécute.

Le schéma suivant illustre le flux de travail et AWS les ressources utilisés par ce modèle pour vous aider à créer et à entraîner vos modèles.

Le flux de travail du pipeline créé à l'aide du modèle de projet pour la création de modèles et la formation.
MLOpsmodèle pour le déploiement de modèles

Utilisez ce modèle pour automatiser le déploiement des modèles du registre de SageMaker modèles sur les SageMaker points de terminaison pour une inférence en temps réel. Ce modèle reconnaît les modifications apportées au registre de modèles. Lorsqu'une nouvelle version de modèle est enregistrée et approuvée, elle déclenche automatiquement un déploiement.

Le modèle fournit un CodeCommit référentiel contenant des fichiers de configuration pour spécifier les étapes de déploiement du modèle, des AWS CloudFormation modèles pour définir les points de terminaison en tant qu'infrastructure et un code de départ pour tester le point de terminaison.

Ce modèle fournit les ressources suivantes :

  • AWS CodeCommit Référentiel contenant un exemple de code qui déploie des modèles sur des points de terminaison dans des environnements de préparation et de production.

  • Un AWS CodePipeline pipeline qui comprend la source, la construction et deploy-to-production les étapes. deploy-to-staging L'étape source pointe vers le CodeCommit référentiel, et l'étape de génération extrait le code de ce référentiel et génère des CloudFormation piles à déployer. Les deploy-to-production étapes deploy-to-staging et déploient les CloudFormation piles dans leurs environnements respectifs. Il existe une étape d'approbation manuelle entre les étapes de préparation et de production, de sorte qu'un MLOps ingénieur doit approuver le modèle avant son déploiement en production.

    Il existe également une étape d'approbation programmatique avec des tests par espace réservé dans l'exemple de code du CodeCommit référentiel. Vous pouvez ajouter des tests supplémentaires pour remplacer les tests d'espaces réservés.

  • Un compartiment Amazon S3 pour stocker les artefacts, y compris CodePipeline les CodeBuild artefacts, et tous les artefacts générés par le SageMaker pipeline s'exécute.

  • Un CloudWatch événement destiné à lancer le pipeline lorsqu'une version de package de modèle est approuvée ou rejetée.

Le schéma suivant illustre le flux de travail et AWS les ressources utilisés par ce modèle pour vous aider à déployer vos modèles.

Le flux de travail du pipeline créé à l'aide du modèle de projet pour le déploiement du modèle.

Comme mentionné précédemment, consultez Démonstration du projet pour obtenir une démonstration qui utilise ce modèle pour créer un vrai projet.

Vous pouvez personnaliser le référentiel de déploiement dans le modèle de projet pour déployer le modèle à partir du registre de modèles comme vous le souhaitez. Le modèle est utilisé CloudFormation pour créer un point de terminaison en temps réel, par exemple. Vous pouvez mettre à jour le déploiement pour utiliser le SageMaker SDK boto3 ou tout autre API élément susceptible de créer des points de terminaison à la place de. CFN Si vous devez mettre à jour les CodeBuild étapes dans le cadre du pipeline de déploiement, vous pouvez créer un modèle personnalisé.

MLOpsmodèle pour la création de modèles, la formation, le déploiement et Amazon SageMaker Model Monitor

Ce modèle est une extension du MLOps modèle pour la création de modèles, la formation et le déploiement. Il inclut à la fois les composants de création de modèles, de formation et de déploiement du modèle, ainsi qu'un SageMaker modèle Amazon Model Monitor supplémentaire qui fournit les types de surveillance suivants :

  • Référentiel de code : AWS CodeCommit

  • Automatisation du flux de travail CI/CD : AWS CodePipeline

MLOpsmodèle pour Amazon SageMaker Model Monitor

Vous pouvez utiliser ce modèle pour une MLOps solution visant à déployer un ou plusieurs moniteurs de la qualité des SageMaker données, de la qualité du modèle, du biais du modèle et de l'explicabilité du modèle Amazon afin de surveiller un modèle déployé sur un point de terminaison d' SageMaker inférence.

Ce modèle fournit les ressources suivantes :

  • Un AWS CodeCommit référentiel contenant un exemple de code Python qui extrait les lignes de base utilisées par les moniteurs à partir du SageMaker Model Registry et met à jour les paramètres du modèle pour les environnements de préparation et de production. Il contient également un AWS CloudFormation modèle pour créer les Amazon SageMaker Model Monitors.

  • Un AWS CodePipeline pipeline comportant des étapes de source, de création et de déploiement. L'étape source pointe vers le CodePipeline référentiel. L'étape de création récupère le code de ce référentiel, obtient la références du registre Model Registry et met à jour les paramètres du modèle pour les environnements intermédiaires et de production. Les étapes de déploiement déploient les contrôleurs configurés dans les environnements intermédiaires et de production. L'étape d'approbation manuelle, au sein de l'DeployStagingétape, vous oblige à vérifier que le SageMaker point final de production se trouve InService bien avant d'approuver et de passer à l'DeployProdétape.

  • Le modèle utilise le même compartiment S3 créé par le MLOps modèle pour la création de modèles, la formation et le déploiement afin de stocker les sorties des moniteurs.

  • Deux règles Amazon EventBridge Events lancent Amazon SageMaker Model Monitor AWS CodePipeline chaque fois que le point de SageMaker terminaison intermédiaire est mis à jour ou qu'une modification de code est validée dans le CodePipeline référentiel.

MLOpsmodèle pour la création d'images, la création de modèles et le déploiement de modèles

Ce modèle est une extension de MLOpsmodèle pour la création de modèles, la formation et le déploiement. Il inclut à la fois les composants de création du modèle, d'entraînement et de déploiement de ce modèle, ainsi que les options suivantes :

  • Inclure le traitement d'un pipeline de création d'image

  • Inclure l'entraînement d'une pipeline de création d'image

  • Inclure l'inférence d'une pipeline de création d'image

Pour chacun des composants sélectionnés lors de la création du projet, les éléments suivants sont créés à l'aide du modèle :

  • Un ECR référentiel Amazon

  • Une SageMaker image

  • Un CodeCommit référentiel contenant un Dockerfile que vous pouvez personnaliser

  • A CodePipeline qui est initié par des modifications apportées au CodePipeline référentiel

  • Un CodeBuild projet qui crée une image Docker et l'enregistre dans le référentiel Amazon ECR

  • EventBridge Règle qui initie le CodePipeline selon un calendrier

Lorsque le CodePipeline est lancé, il crée un nouveau conteneur Docker et l'enregistre dans un ECR référentiel Amazon. Lorsqu'un nouveau conteneur est enregistré dans le ECR référentiel Amazon, un nouveau conteneur ImageVersion est ajouté à l' SageMaker image. Cela déclenche le pipeline de création de modèle, qui à son tour initie le pipeline de déploiement.

L'image nouvellement créée est utilisée dans les parties de création de modèle, d'entraînement et de déploiement du flux de travail, le cas échéant.

MLOpsmodèle pour la création de modèles, la formation et le déploiement avec des référentiels Git tiers à l'aide de CodePipeline

  • Référentiel de code : Git tiers Établissez la AWS CodeStar connexion entre votre AWS compte et votre GitHub utilisateur ou votre organisation. Ajoutez une balise avec la clé sagemaker et la valeur true à cette connexion AWS CodeStar .

  • Automatisation du flux de travail CI/CD : AWS CodePipeline

Ce modèle fournit les ressources suivantes :

  • Associations avec un ou plusieurs référentiels Git spécifiés par le client.

  • Un AWS CodePipeline pipeline qui comprend la source, la construction et deploy-to-production les étapes. deploy-to-staging L'étape source pointe vers le référentiel Git tiers et l'étape de compilation extrait le code de ce référentiel et génère des CloudFormation piles à déployer. Les deploy-to-production étapes deploy-to-staging et déploient les CloudFormation piles dans leurs environnements respectifs. Il existe une étape d'approbation manuelle entre les étapes de préparation et de production, de sorte qu'un MLOps ingénieur doit approuver le modèle avant son déploiement en production.

  • Un AWS CodeBuild projet visant à remplir les référentiels Git avec les informations du code source. Cela nécessite une AWS CodeStar connexion entre votre AWS compte et votre compte sur l'hôte du dépôt Git.

  • Un compartiment Amazon S3 pour stocker les artefacts, y compris CodePipeline les CodeBuild artefacts, et tous les artefacts générés par le SageMaker pipeline s'exécute.

Comme mentionné précédemment, consultez Démonstration du projet utilisant des dépôts Git tiers (Français non garanti) pour obtenir une démonstration qui utilise ce modèle pour créer un vrai projet.

MLOpsmodèle pour la création de modèles, la formation et le déploiement avec des référentiels Git tiers à l'aide de Jenkins

  • Référentiel de code : Git tiers Établissez la AWS CodeStar connexion entre votre AWS compte et votre GitHub utilisateur ou votre organisation. Ajoutez une balise avec la clé sagemaker et la valeur true à cette connexion AWS CodeStar .

  • Automatisation des flux CI/CD : Jenkins

Ce modèle fournit les ressources suivantes :

  • Associations avec un ou plusieurs référentiels Git spécifiés par le client.

  • Code de départ pour générer des pipelines Jenkins contenant la source, la version et deploy-to-production les étapes. deploy-to-staging L'étape source pointe vers le référentiel Git spécifié par le client. L'étape de construction extrait le code de ce référentiel et génère deux CloudFormation piles. Les étapes de déploiement déploient les CloudFormation piles dans leurs environnements respectifs. Il existe une étape d'approbation entre l'étape intermédiaire et l'étape de production.

  • Un AWS CodeBuild projet visant à remplir les référentiels Git avec les informations du code source. Cela nécessite une AWS CodeStar connexion entre votre AWS compte et votre compte sur l'hôte du dépôt Git.

  • Un compartiment Amazon S3 pour stocker les artefacts du SageMaker projet et du SageMaker pipeline.

Le modèle crée l'association entre votre projet et les référentiels de contrôle de source, mais vous devez effectuer des étapes manuelles supplémentaires pour établir la communication entre votre AWS compte et Jenkins. Pour les étapes détaillées, consultez Créer des SageMaker projets Amazon à l'aide d'un contrôle de source tiers et de Jenkins.

Les instructions vous aident à créer l'architecture illustrée dans le schéma suivant, avec GitHub comme référentiel de contrôle de source dans cet exemple. Comme indiqué, vous attachez votre référentiel Git au projet pour enregistrer et gérer les versions du code. Jenkins initie le pipeline de création de modèle lorsqu'il détecte des modifications du code de création de modèle dans le référentiel Git. Vous connectez également le projet à Jenkins pour orchestrer les étapes de déploiement de vos modèles, qui démarrent lorsque vous approuvez le modèle enregistré dans le registre des modèles, ou lorsque Jenkins détecte des modifications du code de déploiement du modèle.

Le flux de travail du pipeline créé à l'aide du modèle de projet.

En résumé, les étapes vous guident à travers les tâches suivantes :

  1. Établissez le lien entre vos GitHub comptes AWS et.

  2. Créer le compte Jenkins et importer les plugins nécessaires.

  3. Créez la politique IAM d'utilisateur et d'autorisation de Jenkins.

  4. Définissez les AWS informations d'identification de l'IAMutilisateur Jenkins sur votre serveur Jenkins.

  5. Créez un API jeton pour communiquer avec votre serveur Jenkins.

  6. Utilisez un CloudFormation modèle pour définir une EventBridge règle afin de surveiller les modèles récemment approuvés dans le registre des modèles.

  7. Créez le SageMaker projet, qui introduit dans vos GitHub référentiels le code de construction et de déploiement du modèle.

  8. Créer votre pipeline de création de modèle Jenkins avec le code initial de création de modèle.

  9. Créer votre pipeline de déploiement de modèle Jenkins avec le code initial de déploiement de modèle.

Déploiement de modèles pour Salesforce

  • Référentiel de code : AWS CodeCommit

  • Automatisation du flux de travail CI/CD : AWS CodePipeline

Ce modèle fournit les ressources suivantes :

  • Un AWS CodeCommit référentiel contenant un exemple de code qui crée un SageMaker pipeline Amazon en code Python et montre comment créer et mettre à jour le pipeline. Ce dépôt contient également un bloc-notes Jupyter en Python que vous pouvez ouvrir et exécuter dans Studio (ou Studio Classic).

  • Un AWS CodePipeline pipeline comportant des étapes de source et de génération. L'étape source pointe vers le CodeCommit référentiel. L'étape de génération extrait le code du référentiel, crée et met à jour le SageMaker pipeline, lance une exécution de pipeline et attend que l'exécution du pipeline soit terminée.

  • Un compartiment Amazon S3 pour stocker les artefacts, y compris CodePipeline les CodeBuild artefacts, et tous les artefacts générés par le SageMaker pipeline s'exécute.

Votre administrateur devra peut-être effectuer une configuration supplémentaire pour permettre l'accès aux données depuis Salesforce Data Cloud vers SageMaker Studio afin de créer des modèles d'IA/ML. Consultez la présentation de la solution dans le billet de blog Utilisez l'intégration Amazon SageMaker et Salesforce Data Cloud pour alimenter vos applications Salesforce avec l'IA/ML pour obtenir des informations et des instructions détaillées.

Le diagramme suivant illustre le flux de travail de haut niveau utilisé par ce modèle pour vous aider à créer et à entraîner vos modèles. Après avoir établi une connexion entre Salesforce Data Cloud et Data Wrangler et prétraité vos données, utilisez le modèle de projet Déploiement de modèles pour Salesforce pour automatiser l'entraînement et le déploiement des modèles. Le modèle fournit un code de déploiement de modèle personnalisable et un exemple de carnet de notes AWS CodePipeline pour entraîner votre modèle et l'enregistrer dans le registre des SageMaker modèles. Une fois le modèle approuvé, le terminal est exposé à Salesforce en tant que API API passerelle, et les clients peuvent commencer à faire des prédictions avec le modèle déployé depuis Salesforce.

Note

Ce modèle autorise les versions 1.0 et 1.1 de la politique Transport Layer Security (TLS) pour la configuration de la API passerelle. Vous pouvez renforcer la sécurité de cette configuration avec des noms de domaine personnalisés. Pour plus de détails, consultez la section Configuration de noms de domaine personnalisés pour REST APIs.

Diagramme simplifié des étapes utilisées par le modèle de projet Salesforce.

Le billet de blog Utiliser l'intégration Amazon SageMaker et Salesforce Data Cloud pour alimenter vos applications Salesforce avec l'IA/ML fournit des instructions détaillées pour vous guider dans les étapes suivantes :

  1. Sélectionnez le modèle de projet Déploiement de modèles pour Salesforce et indiquez le nom du gestionnaire de secrets.

  2. Clonez le référentiel pour utiliser le SageMaker bloc-notes personnalisable fourni et le code de déploiement du modèle.

  3. Prétraitez vos données avec Data Wrangler.

    1. Créez une connexion à Salesforce Data Cloud et importez les données dans Data Wrangler.

    2. Utilisez Data Wrangler pour préparer les données à l'aide de quelques exemples de transformations.

    3. Lancez une tâche de traitement pour traiter les données à l'aide de votre configuration de Data Wrangler.

  4. Entraînez le modèle.

  5. Enregistrez votre modèle dans le registre des modèles.

  6. Approuvez votre modèle dans le registre des modèles.

  7. Affichez votre point de terminaison dans la SageMaker console.

  8. Invoquez le API URL depuis Salesforce Einstein Studio pour enregistrer et utiliser les inférences du modèle dans Einstein Studio.

Le schéma suivant montre plus en détail le flux de travail et les AWS ressources utilisés par le modèle de SageMaker projet avec Salesforce Data Cloud Integration.

Diagramme des étapes et des ressources utilisées par le modèle de projet Salesforce.

Mettre à jour SageMaker les projets pour utiliser des référentiels Git tiers

La politique gérée attachée au rôle AmazonSageMakerServiceCatalogProductsUseRole a été mise à jour le 27 juillet 2021 en vue d'une utilisation avec les modèles Git tiers. Les utilisateurs qui intègrent Amazon SageMaker Studio (ou Studio Classic) après cette date et qui activent les modèles de projet utilisent la nouvelle politique. Les utilisateurs qui ont effectué l'onboarding avant cette date doivent mettre à jour la politique pour utiliser ces modèles. Utilisez l'une des options suivantes pour mettre à jour la politique :

  • Supprimer le rôle et activer les paramètres de Studio (ou Studio Classic)

    1. Dans la IAM console, supprimezAmazonSageMakerServiceCatalogProductsUseRole.

    2. Dans le panneau de configuration de Studio (ou Studio Classic), choisissez Modifier les paramètres.

    3. Basculez les deux paramètres, puis choisissez Submit (Envoyer).

  • Dans la IAM console, ajoutez les autorisations suivantes pour AmazonSageMakerServiceCatalogProductsUseRole :

    { "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/sagemaker": "true" } } }, { "Effect": "Allow", "Action": [ "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::sagemaker-*" ] }