Qu’est-ce qu’un projet SageMaker AI ? - Amazon SageMaker AI

Qu’est-ce qu’un projet SageMaker AI ?

SageMaker Projects aide les organisations à mettre en place et à standardiser des environnements de développement pour les scientifiques des données, et des systèmes CI/CD pour les ingénieurs MLOps. Les projets permettent également aux organisations de configurer la gestion des dépendances, la gestion du référentiel de code, la reproductibilité de la génération et le partage d’artefacts.

Vous pouvez provisionner les projets SageMaker à partir d’AWS Service Catalog en utilisant des modèles personnalisés ou fournis par SageMaker AI. Pour obtenir des informations sur le catalogue de services AWS, consultez What Is AWS Service Catalog. Avec les projets SageMaker, les ingénieurs MLOps et les administrateurs d’organisation peuvent définir leurs propres modèles ou utiliser des modèles fournis par SageMaker AI. Les modèles fournis par SageMaker AI amorcent le flux de travail ML avec un contrôle de version source, des pipelines ML automatisés et un ensemble de code permettant de lancer rapidement l’itération sur des cas d’utilisation ML.

Quand faut-il utiliser un projet SageMaker AI ?

Important

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

Bien que les blocs-notes soient utiles pour la création et l’expérimentation de modèles, une équipe de scientifiques des données et d’ingénieurs de ML partageant du code ont besoin d’un moyen plus évolutif de maintenir la cohérence du code et un contrôle de version strict.

Chaque organisation possède son propre ensemble de normes et de pratiques qui assurent la sécurité et la gouvernance de son environnement AWS. SageMaker AI fournit un ensemble de modèles propriétaires pour les organisations qui souhaitent prendre en main rapidement les flux de travail ML et CI/CD. Les modèles incluent des projets qui utilisent des services AWS natifs pour CI/CD, tels que AWS CodeBuild, AWS CodePipeline et AWS CodeCommit. Les modèles offrent également la possibilité de créer des projets utilisant des outils tiers, tels que Jenkins et GitHub. Pour obtenir la liste des modèles de projet fournis par SageMaker AI, consultez Utilisation des modèles de projet fournis par SageMaker AI.

Les organisations ont souvent besoin d’appliquer un contrôle strict sur les ressources MLOps qu’elles approvisionnent et gèrent. Cette responsabilité implique certaines tâches, notamment la configuration des rôles et des politiques IAM, l'application de balises de ressources, l'application du chiffrement et le découplage des ressources sur plusieurs comptes. SageMaker Projects peut prendre en charge toutes ces tâches grâce à des offres de modèles personnalisés avec lesquelles les organisations utilisent des modèles CloudFormation pour définir les ressources nécessaires à un flux ML. Les scientifiques des données peuvent choisir un modèle pour amorcer et préconfigurer leur flux ML. Ces modèles personnalisés sont créés en tant que produits Service Catalog et vous pouvez les provisionner dans l’interface utilisateur de Studio ou Studio Classic, sous Modèles d’organisation. Service Catalog est un service qui permet aux organisations de créer et gérer des catalogues de produits qui sont approuvés pour être utilisés dans AWS. Pour plus d’informations sur la création de modèles personnalisés, consultez Création de modèles de projets SageMaker AI personnalisés – Bonnes pratiques.

Les projets SageMaker peuvent vous aider à gérer vos référentiels Git afin de collaborer plus efficacement entre les équipes, d’assurer la cohérence du code et de prendre en charge CI/CD. Les projets SageMaker peuvent vous aider dans les tâches suivantes :

  • Organiser toutes les entités du cycle de vie ML dans un seul projet.

  • Établir une approche en un seul clic pour configurer une infrastructure ML standard pour l'entraînement et le déploiement des modèles, qui intègre les bonnes pratiques.

  • Créer et partager des modèles pour l’infrastructure ML afin de répondre à plusieurs cas d’utilisation.

  • Tirez parti des modèles prédéfinis fournis par SageMaker AI pour commencer rapidement à vous concentrer sur la génération de modèles, ou à créer des modèles personnalisés avec des ressources et des directives spécifiques à l’organisation.

  • S’intégrer aux outils de votre choix en étendant les modèles de projet. Pour voir un exemple, consultez Création d’un projet SageMaker AI à intégrer à GitLab et aux pipelines GitLab.

  • Organiser toutes les entités du cycle de vie ML dans un seul projet.

Que contient un projet SageMaker AI ?

Les clients ont la possibilité de configurer leurs projets avec les ressources qui répondent le mieux à leur cas d’utilisation. L’exemple ci-dessous présente la configuration MLOps pour un flux ML, y compris l’entraînement et le déploiement des modèles.

Diagramme de flux de travail ML pour un pipeline qui inclut les étapes d’entraînement et de déploiement de modèles.

Un projet type avec un modèle fourni par SageMaker AI peut inclure les éléments suivants :

  • Un ou plusieurs référentiels avec un exemple de code pour créer et déployer des solutions de ML. Ce sont des exemples pratiques que vous pouvez adapter à vos besoins. Vous possédez ce code et vous pouvez tirer parti des référentiels contrôlés par version pour vos tâches.

  • Pipeline SageMaker AI qui définit les étapes de préparation des données, d’entraînement, d’évaluation de modèles et de déploiement de modèles, comme illustré dans le diagramme suivant.

    Pipeline SageMaker AI avec des étapes de préparation des données, d’entraînement, d’évaluation de modèles et de déploiement de modèles.
  • Pipeline CodePipeline ou Jenkins qui exécute votre pipeline SageMaker AI chaque fois que vous archivez une nouvelle version du code. Pour obtenir des informations sur CodePipeline, consultez Qu’est-ce qu’AWS CodePipeline ?. Pour obtenir des informations sur Jenkins, consultez Documentation utilisateur Jenkins.

  • Groupe de modèles contenant des versions de modèle. Chaque fois que vous approuvez la version du modèle résultante à partir d’une exécution de pipeline SageMaker AI, vous pouvez la déployer sur un point de terminaison SageMaker AI.

Chaque projet SageMaker AI possède un nom et un ID uniques qui sont appliqués en tant que balises à toutes les ressources SageMaker AI et AWS créées dans le projet. Avec le nom et l’ID, vous pouvez afficher toutes les entités associées à votre projet. Il s’agit des licences suivantes :

  • Pipelines

  • Modèles enregistrés

  • Modèles déployés (points de terminaison)

  • Jeux de données

  • Produits Service Catalog

  • Pipelines CodePipeline et Jenkins

  • CodeCommit et référentiels Git tiers

Dois-je créer un projet pour utiliser des pipelines SageMaker AI ?

Non. Les pipelines SageMaker AI sont des entités autonomes, tout comme les tâches d’entraînement, les tâches de traitement et les autres tâches SageMaker AI. Vous pouvez créer, mettre à jour et exécuter des pipelines directement dans un bloc-notes à l’aide du kit SageMaker Python SDK sans utiliser de projet SageMaker AI.

Les projets fournissent une couche supplémentaire pour vous aider à organiser votre code et à adopter les bonnes pratiques opérationnelles dont vous avez besoin pour un système de qualité de la production.