Qu'est-ce qu'un SageMaker projet ? - 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.

Qu'est-ce qu'un SageMaker projet ?

SageMaker Les projets aident les organisations à mettre en place et à standardiser des environnements de développement pour les data scientists 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 SageMaker des projets à partir du AWS Service Catalog à l'aide de modèles personnalisés ou SageMaker fournis. Pour plus d'informations sur le AWS Service Catalog, voir What Is AWS Service Catalog. Avec SageMaker Projects, les ingénieurs MLOps et les administrateurs d'organisation peuvent définir leurs propres modèles ou utiliser SageMaker les modèles fournis. Les modèles SageMaker fournis démarrent le flux de travail ML avec un contrôle de version source, des pipelines ML automatisés et un ensemble de code pour commencer rapidement à itérer sur les cas d'utilisation du ML.

Quand devriez-vous utiliser un SageMaker projet ?

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 AWS environnement. SageMaker fournit un ensemble de modèles de première qualité pour les organisations qui souhaitent se lancer rapidement dans les flux de travail ML et le CI/CD. Les modèles incluent des projets qui utilisent des services AWS-native pour CI/CD, tels que AWS CodeBuild, et AWS CodePipeline. 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 SageMaker fournis, consultezUtiliser les SageMaker modèles de projet fournis.

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 des balises de ressources, le renforcement du chiffrement et le découplage des ressources entre plusieurs comptes. SageMaker Les projets peuvent prendre en charge toutes ces tâches grâce à des offres de modèles personnalisés dans le cadre desquelles les organisations utilisent des AWS CloudFormation modèles pour définir les ressources nécessaires à un flux de travail de machine learning. 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 configurer dans l'interface utilisateur de Studio ou Studio Classic sous Modèles d'organisation. Le Service Catalog est un service qui aide les entreprises à créer et à gérer des catalogues de produits dont l'utilisation est approuvée sur AWS. Pour plus d'informations sur la création de modèles personnalisés, voir Création de modèles de SageMaker projet personnalisés — Meilleures pratiques.

SageMaker Les projets peuvent vous aider à gérer vos référentiels Git afin que vous puissiez collaborer plus efficacement entre les équipes, garantir la cohérence du code et prendre en charge le CI/CD. SageMaker Les projets 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 SageMaker fournis pour commencer rapidement à vous concentrer sur la création de modèles, ou créez 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 un exemple, voir Créer un SageMaker projet à intégrer GitLab et GitLab Pipelines.

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

Qu'y a-t-il dans un SageMaker projet ?

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.

Schéma de flux de travail ML pour un pipeline qui inclut les étapes de formation et de déploiement du modèle.

Un projet typique avec un modèle SageMaker fourni 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. Il s'agit d'exemples pratiques que vous pouvez modifier en fonction de 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.

  • Un SageMaker pipeline qui définit les étapes de préparation des données, de formation, d'évaluation et de déploiement des modèles, comme indiqué dans le schéma suivant.

    Un SageMaker pipeline comprenant des étapes de préparation des données, de formation, d'évaluation et de déploiement des modèles.
  • Un pipeline CodePipeline ou un pipeline Jenkins qui exécute votre SageMaker pipeline chaque fois que vous enregistrez une nouvelle version du code. Pour plus d'informations sur CodePipeline, voir Qu'est-ce que AWS CodePipeline. Pour obtenir des informations sur Jenkins, veuillez consulter la section Documentation utilisateur Jenkins.

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

Chaque SageMaker projet possède un nom et un identifiant uniques qui sont appliqués sous forme de balises à toutes SageMaker les AWS ressources 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

  • CodePipeline et pipelines Jenkins

  • CodeCommit et des référentiels Git tiers

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

Non SageMaker les pipelines sont des entités autonomes, au même titre que les tâches de formation, les tâches de traitement et autres SageMaker tâches. Vous pouvez créer, mettre à jour et exécuter des pipelines directement dans un bloc-notes à l'aide du SDK SageMaker Python sans utiliser de SageMaker projet.

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.