Création de votre SageMaker ressource Amazon - AWS Marketplace

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.

Création de votre SageMaker ressource Amazon

Pour publier un package modèle ou un produit d'algorithme, vous devez créer la ressource de package de modèle ou la ressource d'algorithme correspondante sur Amazon SageMaker.

Lorsque vous créez votre ressource pour un AWS Marketplace produit, celle-ci doit être certifiée par le biais d'une étape de validation. L'étape de validation nécessite que vous fournissiez des données pour tester votre paquetage de modèles ou votre ressource d'algorithme avant de pouvoir les publier.

Note

Si vous n'avez pas encore créé les images de votre produit et ne les avez pas chargées sur Amazon Elastic Container Registry (Amazon ECR), Emballer votre code en images consultez Téléchargement de vos images et pour obtenir des informations sur la procédure à suivre.

Création de votre modèle de package

Les conditions suivantes sont requises pour créer un modèle de package pour AWS Marketplace :

  • Une image d'inférence stockée dans Amazon ECR

  • (Facultatif) Artefacts du modèle, stockés séparément dans Amazon S3

  • Vos données de test utilisées pour les inférences, stockées dans Amazon Simple Storage Service (Amazon S3)

Note

Ce qui suit concerne la création d'un modèle de produit d'emballage. Pour plus d'informations sur les modèles de packages dans SageMaker, consultez la section Créer une ressource de package de modèles.

Création des ressources du package modèle

Les procédures suivantes vous permettent de créer les ressources du package modèle.

Étape 1 : Pour créer les ressources du package modèle
  1. Ouvrez la SageMaker console Amazon.

  2. Vérifiez que vous vous trouvez dans la AWS région à partir de laquelle vous souhaitez publier en regardant en haut à droite de la page. Pour la publication, consultez la Pris en charge Régions AWS pour la publication section. L'image d'inférence que vous avez chargée sur Amazon ECR lors des étapes précédentes doit se trouver dans la même région.

  3. Dans le menu de navigation de gauche, choisissez Model packages.

  4. Sélectionnez Create model package (Créer un package de modèle).

Après avoir créé le package, vous devez définir les spécifications du package d'inférence.

Étape 2 : Pour définir les spécifications d'inférence
  1. Entrez un nom pour votre modèle de package (par exemple, my-model-package).

  2. Pour Emplacement de l'image d'inférence, entrez l'URI de votre image d'inférence qui a été téléchargée sur Amazon ECR. Vous pouvez récupérer l'URI en localisant votre image dans la console Amazon ECR.

  3. Si les artefacts de votre modèle issus de l'entraînement sont intégrés à votre logique dans votre image d'inférence, laissez le champ Emplacement des artefacts de données du modèle vide. Sinon, spécifiez l'emplacement complet sur Amazon S3 du fichier compressé (.tar.gz) des artefacts de votre modèle.

  4. À l'aide de la liste déroulante, choisissez les types d'instance pris en charge pour votre image d'inférence en temps réel (également appelée point de terminaison) et pour les tâches de transformation par lots.

  5. Choisissez Suivant.

Avant que votre modèle de package puisse être créé et publié, une validation est nécessaire pour garantir qu'il fonctionne comme prévu. Cela nécessite que vous exécutiez une tâche de transformation par lots avec les données de test que vous fournissez à des fins d'inférence. Les spécifications de validation indiquent SageMaker comment effectuer la validation.

Étape 3 : Pour définir les spécifications de validation
  1. Définissez Publier ce modèle de package AWS Marketplace sur Oui. Si vous définissez ce paramètre sur Non, vous ne pourrez pas publier ce modèle de package ultérieurement. Le fait de choisir Oui certifie votre modèle de package AWS Marketplace et nécessite l'étape de validation.

  2. Si c'est la première fois que ce processus est terminé, choisissez Create a new role for the IAM role. Amazon SageMaker utilise ce rôle lorsqu'il déploie votre modèle de package. Cela inclut des actions, telles que l'extraction d'images depuis Amazon ECR et d'artefacts depuis Amazon S3. Vérifiez les paramètres, puis choisissez Create role. La création d'un rôle ici accorde les autorisations décrites par la politique AmazonSageMakerFullAccessIAM au rôle que vous créez.

  3. Modifiez le JSON dans le profil de validation. Pour plus de détails sur les valeurs autorisées, consultez TransformJobDefinition.

    1. TransformInput.DataSource.S3Uri: Définissez l'endroit où vos données de test pour inférence sont stockées.

    2. TransformInput.ContentType: Spécifiez le type de contenu de vos données de test (par exemple application/jsontext/plain,image/png ,, ou toute autre valeur). SageMaker ne valide pas les données d'entrée réelles. Cette valeur est transmise au point de terminaison HTTP de votre conteneur dans la valeur Content-type d'en-tête.

    3. TransformInput.CompressionType: défini sur None si vos données de test à des fins d'inférence dans Amazon S3 ne sont pas compressées.

    4. TransformInput.SplitType: défini sur pour None transmettre chaque objet d'Amazon S3 dans son ensemble à des fins d'inférence.

    5. TransformOutput.S3OutputPath: défini sur l'emplacement où la sortie d'inférence est stockée.

    6. TransformOutput.AssembleWith: défini sur None pour générer chaque inférence sous forme d'objets distincts dans Amazon S3.

  4. Sélectionnez Create model package (Créer un package de modèle).

SageMaker extrait l'image d'inférence d'Amazon ECR, copie tous les artefacts dans le conteneur d'inférence et exécute une tâche de transformation par lots en utilisant vos données de test à des fins d'inférence. Une fois la validation réussie, le statut passe à Terminé.

Note

L'étape de validation n'évalue pas la précision du modèle à l'aide de vos données de test. L'étape de validation vérifie si le conteneur fonctionne et répond comme prévu.

Vous avez terminé de créer les ressources de votre modèle de produit. Passez au Publier votre produit dans AWS Marketplace.

Création de votre algorithme

Les conditions suivantes sont requises pour créer un algorithme pour AWS Marketplace :

  • Une image d'inférence, stockée dans Amazon ECR

  • Une image d'entraînement, stockée dans Amazon ECR

  • Vos données de test pour l'entraînement, stockées dans Amazon S3

  • Vos données de test à des fins d'inférence, stockées dans Amazon S3

Note

La procédure pas à pas suivante permet de créer un produit algorithmique. Pour plus d'informations, voir Création d'une ressource d'algorithme.

Création des ressources de l'algorithme

Les procédures suivantes vous permettent de créer les ressources de votre package d'algorithmes.

Étape 1 : Pour créer les ressources de l'algorithme
  1. Ouvrez la SageMaker console Amazon.

  2. Vérifiez que vous vous trouvez dans la AWS région à partir de laquelle vous souhaitez publier en regardant en haut à droite de la page (voirPris en charge Régions AWS pour la publication). Les images d'entraînement et d'inférence que vous avez chargées sur Amazon ECR lors des étapes précédentes doivent se trouver dans cette même région.

  3. Dans le menu de navigation de gauche, sélectionnez Algorithmes.

  4. Choisissez Create algorithm (Créer un algorithme).

Après avoir créé le package d'algorithmes, vous devez définir les spécifications pour l'entraînement et le réglage de votre modèle.

Étape 2 : Pour définir les spécifications d'entraînement et de réglage
  1. Entrez le nom de votre algorithme (par exemple, mon-algorithme).

  2. Pour l'image d'entraînement, collez l'adresse URI complète de votre image d'entraînement qui a été téléchargée sur Amazon ECR. Vous pouvez récupérer l'URI en localisant votre image dans la console Amazon ECR.

  3. À l'aide de la liste déroulante, choisissez les types d'instances d'entraînement compatibles avec votre image d'entraînement.

  4. Dans la section Spécification du canal, ajoutez un canal pour chaque jeu de données d'entrée pris en charge par votre algorithme, jusqu'à 20 canaux de sources d'entrée. Pour plus d'informations, voir Configuration des données d'entrée.

  5. Choisissez Suivant.

  6. Si votre algorithme prend en charge les hyperparamètres et le réglage des hyperparamètres, vous devez spécifier les paramètres de réglage.

  7. Choisissez Suivant.

Note

Nous recommandons vivement que votre algorithme prenne en charge le réglage des hyperparamètres et rende les paramètres appropriés réglables. Cela permet aux data scientists d'ajuster les modèles pour obtenir les meilleurs résultats.

Après avoir défini les paramètres de réglage, le cas échéant, vous devez définir les spécifications de votre image d'inférence.

Étape 3 : Pour définir les spécifications de l'image d'inférence
  1. Pour Emplacement de l'image d'inférence, collez l'URI de l'image d'inférence qui a été téléchargée sur Amazon ECR. Vous pouvez récupérer l'URI en localisant votre image dans la console Amazon ECR.

  2. À l'aide de la liste déroulante, choisissez les types d'instance pris en charge pour votre image d'inférence à la fois pour les tâches d'inférence en temps réel (également appelées endpoints) et de transformation par lots.

  3. Choisissez Suivant.

Avant que votre algorithme puisse être créé et publié, une validation est nécessaire pour garantir qu'il fonctionne comme prévu. Cela nécessite que vous exécutiez à la fois une tâche d'entraînement avec des données de test pour l'entraînement et une tâche de transformation par lots avec les données de test à des fins d'inférence que vous fournissez. Les spécifications de validation indiquent SageMaker comment effectuer la validation.

Étape 4 : Pour définir les spécifications de validation
  1. Définissez Publier cet algorithme AWS Marketplace sur Oui. Si vous définissez ce paramètre sur Non, vous ne pourrez pas publier cet algorithme ultérieurement. Si vous choisissez Oui, votre algorithme est certifié AWS Marketplace et nécessite la spécification de validation.

  2. Si c'est la première fois que vous créez un package de machine learning pour AWS Marketplace, choisissez Create a new role for the IAM role. Amazon SageMaker utilise ce rôle lors de l'entraînement de votre algorithme et du déploiement du package modèle suivant. Cela inclut des actions telles que l'extraction d'images depuis Amazon ECR, le stockage d'artefacts dans Amazon S3 et la copie de données de formation depuis Amazon S3. Vérifiez les paramètres, puis choisissez Create role. La création d'un rôle ici accorde les autorisations décrites par la politique AmazonSageMakerFullAccessIAM au rôle que vous créez.

  3. Modifiez le fichier JSON dans le profil de validation pour la définition des tâches de formation. Pour plus d'informations sur les valeurs autorisées, consultez TrainingJobDefinition.

    1. InputDataConfig: Dans ce tableau JSON, ajoutez un objet Channel pour chaque canal que vous avez spécifié lors de l'étape de spécification de formation. Pour chaque canal, spécifiez où sont stockées vos données de test pour l'entraînement.

    2. OutputDataConfig: Une fois la formation terminée, les artefacts du modèle figurant dans le chemin du répertoire du conteneur de formation /opt/ml/model/ sont compressés et copiés sur Amazon S3. Spécifiez l'emplacement Amazon S3 où le fichier compressé (.tar.gz) est stocké.

  4. Modifiez le fichier JSON dans le profil de validation pour la définition de la tâche de transformation. Pour plus d'informations sur les valeurs autorisées, consultez TransformJobDefinition.

    1. TransformInput.DataSource.S3Uri: Définissez l'endroit où vos données de test pour inférence sont stockées.

    2. TransformInput.ContentType: Spécifiez le type de contenu de vos données de test. Par exemple,application/json, text/plainimage/png, ou toute autre valeur. Amazon SageMaker ne valide pas les données d'entrée réelles. Cette valeur est transmise au point de terminaison HTTP de votre conteneur dans la valeur Content-type d'en-tête.

    3. TransformInput.CompressionType: défini sur None si vos données de test à des fins d'inférence dans Amazon S3 ne sont pas compressées.

    4. TransformInput.SplitType: Choisissez la manière dont vous souhaitez que les objets soient divisés dans S3. Par exemple, None transmet chaque objet d'Amazon S3 dans son ensemble à des fins d'inférence. Pour plus de détails, consultez SplitTypele Amazon SageMaker API Reference.

    5. TransformOutput.S3OutputPath: défini sur l'emplacement où la sortie d'inférence est stockée.

    6. TransformOutput.AssembleWith: défini sur None pour générer chaque inférence sous forme d'objets distincts dans Amazon S3.

  5. Choisissez Créer un package d'algorithmes.

SageMaker extrait l'image d'entraînement d'Amazon ECR, exécute une tâche d'entraînement de test à l'aide de vos données et stocke les artefacts du modèle dans Amazon S3. Il extrait ensuite l'image d'inférence d'Amazon ECR, copie les artefacts d'Amazon S3 dans le conteneur d'inférence et exécute une tâche de transformation par lots en utilisant vos données de test à des fins d'inférence. Une fois la validation réussie, le statut passe à Terminé.

Note

L'étape de validation n'évalue pas la précision de l'entraînement ou du modèle à l'aide de vos données de test. L'étape de validation vérifie si les conteneurs fonctionnent et répondent comme prévu.

L'étape de validation valide uniquement le traitement par lots. C'est à vous de valider que le traitement en temps réel fonctionne avec votre produit.

Vous avez terminé de créer les ressources de votre produit algorithmique. Passez au Publier votre produit dans AWS Marketplace.