Démonstration du projet MLops SageMaker - Amazon SageMaker

Démonstration du projet MLops SageMaker

Cette démonstration montre comment utiliser les projets MLOps pour créer un système CI/CD afin de créer, entraîner et déployer des modèles.

Prérequis

Pour cette démonstration, vous avez besoin de ce qui suit :

Étape 1 : création du projet

Dans cette étape, vous créez un projet MLOps SageMaker à l'aide d'un modèle de projet fourni par SageMaker pour créer, entraîner et déployer des modèles.

Pour créer le projet MLOps SageMaker

  1. Connectez-vous à Studio. Pour plus d'informations, consultez Intégration à Amazon SageMaker Domain.

  2. Choisissez SageMaker Resources (Ressources SageMaker), puis sélectionnez Projects (Projets) à partir de la liste déroulante.

  3. Sélectionnez Create a project (Créer un projet).

    L'onglet Create project (Créer un projet) s'affiche.

  4. Pour SageMaker project templates (Modèles de projet SageMaker), choisissez Organization templates (Modèles d'organisation), puis MLOps template for model building, training, and deployment (Modèle MLOps pour la création, l'entraînement et le déploiement de modèles).

  5. Pour Project details (Détails du projet), saisissez un nom et une description pour votre projet.

Lorsque le projet apparaît dans la liste Projects (Projets) avec un Status (État) Created (Créé), passez à l'étape suivante.

Étape 2 : clonage du référentiel de code

Une fois que vous avez créé le projet, deux référentiels CodeCommit sont créés dans le projet. L'un des référentiels contient du code pour créer et entraîner un modèle, tandis que l'autre contient du code pour déployer le modèle. Dans cette étape, vous clonez le référentiel vers votre projet SageMaker local qui contient le code pour générer et entraîner le modèle à l'environnement Studio local afin que vous puissiez utiliser le code.

Pour cloner le référentiel de code

  1. Choisissez SageMaker Resources (Ressources SageMaker), puis sélectionnez Projects (Projets) à partir de la liste déroulante.

  2. Recherchez le nom du projet que vous avez créé à l'étape précédente et double-cliquez dessus pour ouvrir l'onglet Project (Projet) de votre projet.

  3. Dans l'onglet Project (Projet), choisissez Repositories (Référentiels), et dans la colonne Local path (Chemin local) pour le référentiel qui se termine par modelbuild, choisissez clone repo… (Cloner le référentiel…).

  4. Dans la boîte de dialogue qui s'affiche, acceptez les valeurs par défaut et choisissez Clone repository (Cloner le référentiel).

    Lorsque le clone du référentiel est prêt, le chemin d'accès local apparaît dans la colonne Local path (Chemin local). Choisissez le chemin d'accès pour ouvrir le dossier local contenant le code du référentiel dans Studio.

Étape 3 : modification du code

Apportez maintenant une modification au code de pipeline qui crée le modèle et archivez la modification pour déclencher une nouvelle exécution de pipeline. L'exécution du pipeline enregistre une nouvelle version de modèle.

Pour modifier le code

  1. Dans Studio, choisissez l'icône du navigateur de fichiers ( ), puis accédez au dossier pipelines/abalone. Double-cliquez sur pipeline.py pour ouvrir le fichier de code.

  2. Dans le fichier pipeline.py, recherchez la ligne qui définit le type d'instance d'entraînement.

    training_instance_type = ParameterString( name="TrainingInstanceType", default_value="ml.m5.xlarge"

    Modifiez ml.m5.xlarge en ml.m5.large, puis saisissez Ctrl+S pour enregistrer la modification.

  3. Choisissez l'icône Git ( ). Indexez, validez et transmettez la modification dans pipeline.py. Pour obtenir des informations sur l'utilisation de Git dans Studio, veuillez consulter Cloner un référentiel Git dans SageMaker Studio.

Après avoir transmis votre modification de code, le système MLOps déclenche une exécution du pipeline qui crée une version de modèle. Dans l'étape suivante, vous approuvez la nouvelle version de modèle pour la déployer en production.

Étape 4 : approbation du modèle

Vous approuvez maintenant la nouvelle version de modèle créée à l'étape précédente pour déclencher un déploiement de la version de modèle vers un point de terminaison SageMaker.

Pour approuver la version du modèle

  1. Choisissez SageMaker Resources (Ressources SageMaker), puis sélectionnez Projects (Projets) à partir de la liste déroulante.

  2. Recherchez le nom du projet que vous avez créé à la première étape et double-cliquez dessus pour ouvrir l'onglet Project (Projet) de votre projet.

  3. Dans l'onglet Project (Projet), choisissez Model groups (Groupes de modèles), puis double-cliquez sur le nom du groupe de modèles qui s'affiche.

    L'onglet Model group (Groupe de modèles) s'affiche.

  4. Dans cet onglet, double-cliquez sur Version 2. L'onglet Version 2 s'ouvre. Choisissez Update status (Mettre à jour l'état).

  5. Dans la boîte de dialogue du modèle Update model version status (Mettre à jour l'état de la version), dans Status (Statut), sélectionnez Approve (Approuver), puis Update status (Mettre à jour le statut).

    L'approbation de la version du modèle entraîne le déploiement vers l'environnement intermédiaire par le système MLOps. Pour afficher le point de terminaison, choisissez l'onglet Endpoints (Points de terminaison) sur l'onglet Project (Projet).

(Facultatif) Étape 5 : déploiement de la version du modèle en production

Vous pouvez désormais déployer la version du modèle dans l'environnement de production.

Note

Pour effectuer cette étape, vous devez être administrateur dans votre domaine Studio. Si vous n'êtes pas un administrateur, ignorez cette étape.

Pour déployer la version du modèle dans l'environnement de production

  1. Connectez-vous à la console CodePipeline via https://console.aws.amazon.com/codepipeline/.

  2. Choisissez Pipelines, puis choisissez le pipeline avec le nom sagemaker-projectname-projectid-modeldeploy, où projectname est le nom de votre projet et projectid est l'ID de votre projet.

  3. Dans l'étape DeployStaging, choisissez Review (Vérification).

  4. Dans Review (Vérification), choisissez Approve (Approuver).

    L'approbation de l'étape DeployStaging entraîne le déploiement du modèle en production par le système MLOps. Pour afficher le point de terminaison, choisissez l'onglet Endpoints (Points de terminaison) sur l'onglet Project (Projet) dans Studio.

Étape 6 : nettoyage des ressources

Pour cesser d'engager des frais, nettoyez les ressources qui ont été créées dans cette démonstration. Pour ce faire, exécutez les étapes suivantes.

Note

Pour supprimer la pile AWS CloudFormation et le compartiment Amazon S3, vous devez être administrateur dans Studio. Si vous n'êtes pas administrateur, demandez à votre administrateur d'effectuer cette procédure.

  1. Dans la barre latérale de Studio, choisissez l'icône SageMaker resources (Ressources SageMaker) ( ).

  2. Choisissez Projects (Projets) dans la liste déroulante.

  3. Sélectionnez le projet cible dans la liste déroulante. Si vous ne voyez pas votre projet, saisissez le nom du projet et appliquez le filtre pour le trouver.

  4. Vous pouvez supprimer un projet Studio de l'une des manières suivantes :

    1. Vous pouvez supprimer le projet de la liste des projets.

      Cliquez avec le bouton droit sur le projet cible et choisissez Delete (Supprimer) dans la liste déroulante.

      Note

      Cette fonctionnalité est prise en charge dans Studio version v3.17.1 ou supérieure. Pour plus d'informations, consultez Arrêter et mettre à jour SageMaker Studio.

    2. Vous pouvez supprimer un projet de la section Project details (Détails du projet).

      1. Une fois que vous avez trouvé votre projet, double-cliquez dessus pour afficher ses détails dans le panneau principal.

      2. Dans le menu Actions, choisissez Delete (Supprimer).

  5. Confirmez votre choix en choisissant Delete (Supprimer) dans la fenêtre Delete Project (Supprimer le projet).

    Cette opération supprime le produit AWS Service Catalog alloué créé par le projet. Cela inclut les ressources CodeCommit, CodePipeline et CodeBuild créées pour le projet.

  6. Supprimez les piles AWS CloudFormation que le projet a créées. Il existe deux piles, l'une pour l'environnement intermédiaire et l'autre pour l'environnement de production. Les noms des piles sont sagemaker-projectname-project-id-deploy-staging et sagemaker-projectname-project-id-deploy-prod, où projectname est le nom de votre projet et project-id est l'ID de votre projet.

    Pour obtenir des informations sur la façon de supprimer une pile AWS CloudFormation, veuillez consulter Suppression d'une pile via la console AWS CloudFormation dans le Guide de l'utilisateur AWS CloudFormation.

  7. Supprimez le compartiment Amazon S3 créé par le projet. Le nom du compartiment est sagemaker-project-project-id, où project-id est l'ID de votre projet.