Déployez vos modèles sur un terminal - 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.

Déployez vos modèles sur un terminal

Dans Amazon SageMaker Canvas, vous pouvez déployer vos modèles sur un point de terminaison pour établir des prédictions. SageMaker fournit l'infrastructure ML qui vous permet d'héberger votre modèle sur un point de terminaison avec les instances de calcul de votre choix. Vous pouvez ensuite invoquer le point de terminaison (envoyer une demande de prédiction) et obtenir une prédiction en temps réel à partir de votre modèle. Grâce à cette fonctionnalité, vous pouvez utiliser votre modèle en production pour répondre aux demandes entrantes, et vous pouvez intégrer votre modèle aux applications et aux flux de travail existants.

Pour commencer, vous devez disposer d'un modèle que vous souhaitez déployer. Vous pouvez déployer des versions de modèles personnalisés que vous avez créées, des modèles de SageMaker JumpStart base Amazon et des modèles de JumpStart base affinés. Pour plus d'informations sur la création d'un modèle dans Canvas, consultezCréation d'un modèle personnalisé. Pour plus d'informations sur les modèles de JumpStart base dans Canvas, consultezUtilisation de l'IA générative avec des modèles de fondation.

Consultez la section Gestion des autorisations suivante, puis commencez à créer de nouveaux déploiements dans la section Déployer un modèle.

Gestion des autorisations

Par défaut, vous êtes autorisé à déployer des modèles sur les points de terminaison SageMaker d'hébergement. SageMaker accorde ces autorisations à tous les profils utilisateur Canvas nouveaux et existants par le biais de la AmazonSageMakerCanvasFullAccesspolitique, qui est attachée au rôle d'exécution AWS IAM pour le SageMaker domaine qui héberge votre application Canvas.

Si votre administrateur Canvas configure un nouveau domaine ou un nouveau profil utilisateur, lorsqu'il configure le domaine et suit les instructions préalables duConditions préalables à la configuration d'Amazon Canvas SageMaker , SageMaker active les autorisations de déploiement des modèles via l'option Activer le déploiement direct des modèles Canvas, qui est activée par défaut.

L'administrateur Canvas peut également gérer les autorisations de déploiement des modèles au niveau du profil utilisateur. Par exemple, si l'administrateur ne souhaite pas accorder d'autorisations de déploiement de modèles à tous les profils utilisateur lors de la configuration d'un domaine, il peut accorder des autorisations à des utilisateurs spécifiques après avoir créé le domaine.

La procédure suivante indique comment modifier les autorisations de déploiement du modèle pour un profil utilisateur spécifique :

  1. Ouvrez la SageMaker console à l'adresse https://console.aws.amazon.com/sagemaker/.

  2. Dans le panneau de navigation de gauche, choisissez Configurations d'administrateur.

  3. Sous Configurations d'administration, sélectionnez les domaines.

  4. Dans la liste des domaines, sélectionnez le domaine du profil utilisateur.

  5. Sur la page des détails du domaine, choisissez le profil utilisateur dont vous souhaitez modifier les autorisations.

  6. Sur la page User Details (Détails de l'utilisateur), choisissez Edit (Modifier).

  7. Dans le panneau de navigation de gauche, choisissez Paramètres de Canvas.

  8. Dans la section Configuration des autorisations ML Ops, activez le bouton Activer le déploiement direct des modèles Canvas pour activer les autorisations de déploiement.

  9. Choisissez Soumettre pour enregistrer les modifications apportées aux paramètres de votre domaine.

Le profil utilisateur doit désormais disposer des autorisations de déploiement du modèle.

Après avoir accordé des autorisations au domaine ou au profil utilisateur, assurez-vous que l'utilisateur se déconnecte de son application Canvas et se reconnecte pour appliquer les modifications d'autorisation.

Déployer un modèle

Pour commencer à déployer votre modèle, vous créez un nouveau déploiement dans Canvas et vous spécifiez la version du modèle que vous souhaitez déployer ainsi que l'infrastructure ML, comme le type et le nombre d'instances de calcul que vous souhaitez utiliser pour héberger le modèle.

Canvas suggère un type et un nombre d'instances par défaut en fonction de votre type de modèle. Vous pouvez également en savoir plus sur les différents types d' SageMaker instances sur la page de SageMaker tarification d'Amazon. Vous êtes facturé en fonction de la tarification de l' SageMaker instance lorsque votre point de terminaison est actif.

Lorsque vous déployez des modèles de JumpStart base, vous avez également la possibilité de spécifier la durée du déploiement. Vous pouvez déployer le modèle sur un point de terminaison indéfiniment (ce qui signifie que le point de terminaison est actif jusqu'à ce que vous supprimiez le déploiement). Ou, si vous n'avez besoin du point de terminaison que pendant une courte période et que vous souhaitez réduire les coûts, vous pouvez déployer le modèle sur un point de terminaison pendant une durée spécifiée, après quoi SageMaker le point de terminaison est arrêté pour vous.

Note

Si vous déployez un modèle pendant une durée spécifiée, restez connecté à l'application Canvas pendant toute la durée du point de terminaison. Si vous vous déconnectez de l'application ou si vous la supprimez, Canvas ne pourra pas arrêter le point de terminaison à l'heure spécifiée.

Une fois votre modèle déployé sur un point de terminaison d'inférence en temps réel SageMaker d'hébergement, vous pouvez commencer à faire des prédictions en invoquant le point de terminaison.

Il existe plusieurs manières de déployer un modèle à partir de l'application Canvas. Vous pouvez accéder à l'option de déploiement du modèle par l'une des méthodes suivantes :

  • Sur la page Mes modèles de l'application Canvas, choisissez le modèle que vous souhaitez déployer. Ensuite, sur la page Versions du modèle, cliquez sur l'icône Autres options ( More options icon for the output CSV file. ) à côté de la version du modèle et sélectionnez Déployer.

  • Sur la page de détails d'une version de modèle, dans l'onglet Analyser, choisissez l'option Déployer.

  • Sur la page de détails d'une version de modèle, dans l'onglet Prédiction, cliquez sur l'icône Plus d'options ( More options icon for the output CSV file. ) en haut de la page et sélectionnez Déployer.

  • Sur la page ML Ops de l'application Canvas, choisissez l'onglet Déploiements, puis sélectionnez Créer un déploiement.

  • Pour les modèles de JumpStart fondation et les modèles de base affinés, rendez-vous sur la page des eady-to-use modèles R de l'application Canvas. Choisissez Générer, extraire et résumer du contenu. Recherchez ensuite le modèle de JumpStart base ou le modèle de base affiné que vous souhaitez déployer. Choisissez le modèle, puis sur la page de discussion du modèle, cliquez sur le bouton Déployer.

Toutes ces méthodes ouvrent le panneau latéral Déployer le modèle, dans lequel vous spécifiez la configuration de déploiement de votre modèle. Pour déployer le modèle depuis ce panneau, procédez comme suit :

  1. (Facultatif) Si vous créez un déploiement à partir de la page ML Ops, vous aurez la possibilité de sélectionner le modèle et la version. Utilisez les menus déroulants pour sélectionner le modèle et la version du modèle que vous souhaitez déployer.

  2. Entrez un nom dans le champ Nom du déploiement.

  3. (Pour les modèles de JumpStart base et les modèles de base affinés uniquement) Choisissez une durée de déploiement. Sélectionnez Indéfini pour laisser le point de terminaison actif jusqu'à ce que vous l'éteigniez, ou sélectionnez Spécifier la durée, puis entrez la période pendant laquelle vous souhaitez que le point de terminaison reste actif.

  4. Pour Type d'instance, SageMaker détecte un type et un numéro d'instance par défaut adaptés à votre modèle. Vous pouvez toutefois modifier le type d'instance que vous souhaitez utiliser pour héberger votre modèle.

    Note

    Si le quota d'instance pour le type d'instance choisi sur votre AWS compte est dépassé, vous pouvez demander une augmentation du quota. Pour plus d'informations sur les quotas par défaut et sur la manière de demander une augmentation, consultez Amazon SageMaker Endpoints and Quotas dans le guide de référence AWS général.

  5. Pour le nombre d'instances, vous pouvez définir le nombre d'instances actives utilisées pour votre point de terminaison. SageMaker détecte un numéro par défaut adapté à votre modèle, mais vous pouvez le modifier.

  6. Lorsque vous êtes prêt à déployer votre modèle, choisissez Deploy.

Votre modèle doit maintenant être déployé sur un point de terminaison. Pour plus d'informations sur la manière d'afficher les détails de votre déploiement ou d'effectuer différentes actions, consultez les sections suivantes.

Afficher vos déploiements

Vous souhaiterez peut-être vérifier l'état ou les détails d'un déploiement de modèle dans Canvas. Par exemple, si votre déploiement a échoué, vous souhaiterez peut-être vérifier les détails pour résoudre le problème.

Vous pouvez consulter vos déploiements de modèles Canvas depuis l'application Canvas ou depuis la SageMaker console Amazon.

Pour afficher les détails du déploiement depuis Canvas, choisissez l'une des procédures suivantes :

Pour consulter les détails de votre déploiement sur la page ML Ops, procédez comme suit :

  1. Ouvrez l'application SageMaker Canvas.

  2. Dans le volet de navigation de gauche, choisissez ML Ops.

  3. Choisissez l'onglet Déploiements.

  4. Choisissez votre déploiement par son nom dans la liste.

Pour consulter les détails de votre déploiement depuis la page d'une version de modèle, procédez comme suit :

  1. Dans l'application SageMaker Canvas, accédez à la page de détails de la version de votre modèle.

  2. Choisissez l'onglet Déployer.

  3. Dans la section Déploiements qui répertorie toutes les configurations de déploiement associées à cette version de modèle, trouvez votre déploiement.

  4. Cliquez sur l'icône Autres options ( More options icon for the output CSV file. ), puis sélectionnez Afficher les détails pour ouvrir la page de détails.

La page de détails de votre déploiement s'ouvre et vous pouvez consulter des informations telles que l'heure de la dernière prédiction, l'état et la configuration du point de terminaison, ainsi que la version du modèle actuellement déployée sur le point de terminaison.

Vous pouvez également consulter vos instances d'espace de travail Canvas actuellement actives et vos points de terminaison actifs à partir du SageMaker tableau de bord de la SageMaker console. Vos points de terminaison Canvas sont répertoriés à côté de tous les autres points de terminaison d' SageMaker hébergement que vous avez créés, et vous pouvez les filtrer en recherchant des points de terminaison à l'aide de la balise Canvas.

La capture d'écran suivante montre le SageMaker tableau de bord. Dans la section Canvas, vous pouvez voir qu'une instance d'espace de travail est en service et que quatre points de terminaison sont actifs.

Capture d'écran du SageMaker tableau de bord montrant les instances et les points de terminaison actifs de l'espace de travail Canvas.

Mettre à jour une configuration de déploiement

Vous pouvez également mettre à jour votre configuration de déploiement. Par exemple, vous pouvez déployer une version de modèle mise à jour sur le point de terminaison, ou vous pouvez mettre à jour le type d'instance ou le nombre d'instances situées derrière le point de terminaison en fonction de vos besoins en capacité.

Vous pouvez mettre à jour votre déploiement de différentes manières à partir de l'application Canvas. Vous pouvez utiliser l'une des méthodes suivantes :

  • Sur la page ML Ops de l'application Canvas, vous pouvez choisir l'onglet Déploiements et sélectionner le déploiement que vous souhaitez mettre à jour. Choisissez ensuite Mettre à jour la configuration.

  • Sur la page de détails d'une version de modèle, dans l'onglet Déployer, vous pouvez consulter les déploiements pour cette version. À côté du déploiement, cliquez sur l'icône Autres options ( More options icon for the output CSV file. ), puis choisissez Mettre à jour la configuration.

Les deux méthodes précédentes ouvrent le panneau latéral de mise à jour de la configuration, dans lequel vous pouvez apporter des modifications à votre configuration de déploiement. Pour mettre à jour la configuration, procédez comme suit :

  1. Dans le menu déroulant Sélectionner une version, vous pouvez sélectionner une version de modèle différente à déployer sur le terminal.

    Note

    Lorsque vous mettez à jour une configuration de déploiement, vous ne pouvez choisir qu'une version de modèle différente à déployer. Pour déployer un modèle différent, créez un nouveau déploiement.

  2. Pour le type d'instance, vous pouvez sélectionner un autre type d'instance pour héberger votre modèle.

  3. Pour le nombre d'instances, vous pouvez modifier le nombre d'instances actives utilisées pour votre point de terminaison.

  4. Choisissez Enregistrer.

Votre configuration de déploiement doit maintenant être mise à jour.

Test de votre déploiement

Vous pouvez tester votre déploiement en invoquant le point de terminaison ou en effectuant des demandes de prédiction uniques via l'application Canvas. Vous pouvez utiliser cette fonctionnalité pour vérifier que votre point de terminaison répond aux demandes avant de l'appeler par programmation dans un environnement de production.

Tester le déploiement d'un modèle personnalisé

Vous pouvez tester le déploiement d'un modèle personnalisé en y accédant via la page ML Ops et en effectuant un seul appel, qui renvoie une prédiction ainsi que la probabilité que la prédiction soit correcte.

Note

La durée d'exécution est une estimation du temps nécessaire pour invoquer et obtenir une réponse du point de terminaison dans Canvas. Pour des mesures de latence détaillées, consultez la section Mesures d'invocation des SageMaker terminaux.

Pour tester votre point de terminaison via l'application Canvas, procédez comme suit :

  1. Ouvrez l'application SageMaker Canvas.

  2. Dans le panneau de navigation de gauche, choisissez ML Ops.

  3. Choisissez l'onglet Déploiements.

  4. Dans la liste des déploiements, choisissez celui avec le point de terminaison que vous souhaitez appeler.

  5. Sur la page des détails du déploiement, choisissez l'onglet Tester le déploiement.

  6. Sur la page de test de déploiement, vous pouvez modifier les champs de valeur pour spécifier un nouveau point de données. Pour les modèles de prévision de séries chronologiques, vous spécifiez l'ID d'article pour lequel vous souhaitez établir une prévision.

  7. Après avoir modifié les valeurs, choisissez Mettre à jour pour obtenir le résultat de la prédiction.

La prédiction se charge, ainsi que les champs de résultat de l'invocation qui indiquent si l'appel a réussi ou non et combien de temps il a fallu pour traiter la demande.

La capture d'écran suivante montre une prédiction effectuée dans l'application Canvas sous l'onglet Test de déploiement.

L'application Canvas affichant une prédiction de test pour un modèle déployé.

Pour tous les types de modèles, à l'exception des prévisions numériques et des prévisions de séries chronologiques, la prédiction renvoie les champs suivants :

  • predicted_label — la sortie prévue

  • probabilité : probabilité que l'étiquette prédite soit correcte

  • labels — la liste de tous les labels possibles

  • probabilités : les probabilités correspondant à chaque étiquette (l'ordre de cette liste correspond à l'ordre des étiquettes)

Pour les modèles de prédiction numériques, la prédiction contient uniquement le champ de score, qui est le résultat prévu du modèle, tel que le prix prévu d'une maison.

Pour les modèles de prévision par séries chronologiques, la prédiction est un graphique présentant les prévisions par quantile. Vous pouvez choisir la vue Schéma pour voir les valeurs numériques prévues pour chaque quantile.

Vous pouvez continuer à faire des prédictions uniques via la page de test de déploiement, ou vous pouvez consulter la section suivante Appelez votre point de terminaison pour savoir comment appeler votre point de terminaison par programmation à partir d'applications.

Tester le déploiement d'un modèle de JumpStart base

Vous pouvez discuter avec un modèle de JumpStart base déployé ou un modèle de base affiné via l'application Canvas pour tester ses fonctionnalités avant de l'invoquer via le code.

Pour discuter avec un modèle de JumpStart base déployé ou un modèle de base affiné, procédez comme suit :

  1. Ouvrez l'application SageMaker Canvas.

  2. Dans le panneau de navigation de gauche, choisissez ML Ops.

  3. Choisissez l'onglet Déploiements.

  4. Dans la liste des déploiements, recherchez celui que vous souhaitez invoquer et choisissez son icône Plus d'options ( More options icon for a model deployment. ).

  5. Dans le menu contextuel, choisissez Tester le déploiement.

  6. Un nouveau chat de génération, d'extraction et de synthèse de contenu s'ouvre avec le modèle de JumpStart base, et vous pouvez commencer à taper des instructions. Notez que les instructions issues de ce chat sont envoyées sous forme de demandes à votre point de terminaison SageMaker d'hébergement.

Appelez votre point de terminaison

Après avoir testé votre déploiement, vous pouvez utiliser votre point de terminaison en production avec vos applications en appelant le point de terminaison par programmation de la même manière que vous pouvez appeler n'importe quel autre SageMaker point de terminaison en temps réel. L'appel d'un point de terminaison par programmation renvoie un objet de réponse contenant les mêmes champs que ceux mentionnés dans la section précédente. Test de votre déploiement

Pour des informations plus détaillées sur la façon d'invoquer des points de terminaison par programmation, consultez. Invoquez des modèles pour une inférence en temps réel

Les exemples Python suivants vous montrent comment invoquer votre point de terminaison en fonction du type de modèle.

L'exemple suivant vous montre comment invoquer un modèle de JumpStart base ou un modèle de base affiné que vous avez déployé sur un point de terminaison.

import boto3 import pandas as pd client = boto3.client("runtime.sagemaker") body = pd.DataFrame( [['feature_column1', 'feature_column2'], ['feature_column1', 'feature_column2']] ).to_csv(header=False, index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

L'exemple suivant montre comment invoquer des modèles de prédiction numériques ou catégoriques.

import boto3 import pandas as pd client = boto3.client("runtime.sagemaker") body = pd.DataFrame(['feature_column1', 'feature_column2'], ['feature_column1', 'feature_column2']).to_csv(header=False, index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

L'exemple suivant montre comment invoquer des modèles de prévision de séries chronologiques. Pour un exemple complet de la manière de tester et d'invoquer un modèle de prévision de séries chronologiques, consultez la section Prévision de séries chronologiques avec Amazon SageMaker Autopilot.

import boto3 import pandas as pd csv_path = './real-time-payload.csv' data = pd.read_csv(csv_path) client = boto3.client("runtime.sagemaker") body = data.to_csv(index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

L'exemple suivant montre comment invoquer des modèles de prédiction d'image.

import boto3 client = boto3.client("runtime.sagemaker") with open("example_image.jpg", "rb") as file: body = file.read() response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="application/x-image", Body=body, Accept="application/json" )

L'exemple suivant montre comment invoquer des modèles de prédiction de texte.

import boto3 import pandas as pd client = boto3.client("runtime.sagemaker") body = pd.DataFrame([["Example text 1"], ["Example text 2"]]).to_csv(header=False, index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

Supprimer un modèle de déploiement

Vous pouvez supprimer le déploiement de votre modèle de l'application Canvas. Cette action supprime également le point de terminaison de la SageMaker console et arrête toutes les ressources associées au point de terminaison.

Note

Vous pouvez éventuellement supprimer votre point de terminaison via la SageMaker console ou à l'aide de l' SageMakerDeleteEndpointAPI. Pour plus d’informations, consultez Supprimer les points de terminaison et les ressources. Toutefois, lorsque vous supprimez le point de terminaison via la SageMaker console ou les API au lieu de l'application Canvas, la liste des déploiements dans Canvas n'est pas automatiquement mise à jour. Vous devez également supprimer le déploiement de l'application Canvas.

Pour supprimer un déploiement dans Canvas, procédez comme suit :

  1. Ouvrez l'application SageMaker Canvas.

  2. Dans le panneau de navigation de gauche, choisissez ML Ops.

  3. Choisissez l'onglet Déploiements.

  4. Dans la liste des déploiements, choisissez celui que vous souhaitez supprimer.

  5. En haut de la page des détails du déploiement, cliquez sur l'icône Plus d'options ( More options icon for the output CSV file. ).

  6. Choisissez Supprimer le déploiement.

  7. Dans la boîte de dialogue Supprimer le déploiement, choisissez Supprimer.

Votre point de terminaison de déploiement et SageMaker d'hébergement doit maintenant être supprimé de Canvas et de la SageMaker console. Lorsque le déploiement est correctement supprimé, il apparaît dans la liste des déploiements Canvas avec le statut Supprimé.