View a markdown version of this page

Déploiement de modèles - Amazon SageMaker AI

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éploiement de modèles

Une fois votre tâche de formation terminée, le modèle entraîné est disponible sous forme de package de modèles dans votre groupe de packages de modèles de sortie. Deux options s'offrent à vous pour le déployer.

Option 1 : déploiement avec SageMaker AI AI Inference

Hébergez votre modèle sur un point de terminaison d'inférence SageMaker AI pour des prédictions en temps réel, sans serveur ou asynchrones. Cette option vous permet de contrôler avec précision les types d'instances, les politiques de dimensionnement et la configuration réseau. C'est la solution idéale lorsque vous avez besoin d'un service à faible latence, d'une logique d'inférence personnalisée ou d'une intégration étroite avec les flux de travail d' SageMaker IA existants.

Pour le déployer, extrayez-le OutputModelPackageArn de votre tâche de formation terminée et utilisez-le pour créer un point de terminaison.

# Retrieve the output model ARN from your completed job aws sagemaker describe-job \ --job-name "my-agent-rft-job" \ --job-category AgentRFT \ --region us-west-2

Pour connaître les options de déploiement et la configuration complètes, consultez la section Déployer des modèles à des fins d'inférence dans la documentation SageMaker AI AI.

Option 2 : Importer dans Amazon Bedrock

Importez votre modèle dans Amazon Bedrock pour utiliser les API d'inférence gérées de Bedrock sans qu'aucune configuration de point de terminaison ne soit requise. Amazon Bedrock prend en charge l'importation de modèles de base open source personnalisés (tels que Mistral AI ou Llama) et de modèles Amazon Nova optimisés en IA. SageMaker Pour plus d'informations, consultez la section Importer un modèle préentraîné dans Amazon Bedrock dans le guide de l'utilisateur d'Amazon Bedrock. Pour les modèles Nova, voir Importer avec créer un modèle personnalisé.

Déploiement à l'aide d' SageMaker AI Studio

  • Accédez à Emplois > Formation et sélectionnez l'onglet Multi-turn URL.

  • Sélectionnez une tâche terminée et choisissez le modèle sous Détails du modèle personnalisé pour consulter les indicateurs de performance, la lignée des modèles et les journaux d'entraînement.

  • Sous l'onglet Gouvernance, approuvez le modèle pour le rendre éligible au déploiement.

  • Choisissez Déployer. Choisissez si vous souhaitez le déployer sur un point de terminaison SageMaker AI en temps réel ou via Amazon Bedrock, et si vous souhaitez créer un nouveau point de terminaison ou réutiliser un point de terminaison existant.

  • Sélectionnez le type d'instance et configurez éventuellement les paramètres VPC, le rôle IAM et la clé de chiffrement KMS.

  • Surveillez la progression du déploiement sous l'onglet Déploiements.

  • Accédez à Déploiements > Endpoints. Lorsque votre point de terminaison et les composants d'inférence associés atteignent le statut de InService, votre point de terminaison est prêt à être invoqué.

Déploiement à l'aide du SDK SageMaker AI Python

Déployez sur un point de terminaison SageMaker IA :

from sagemaker.serve import ModelBuilder from sagemaker.core.resources import ModelPackage # Get the output model package from your completed training job model_package = ModelPackage.get( model_package_name=job.output_model_package_arn ) model_builder = ModelBuilder( model=model_package, image_uri="763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.36.0-lmi24.0.0-cu129", instance_type="ml.g6e.48xlarge", ) model_builder.accept_eula = True model_builder.build() endpoint = model_builder.deploy( endpoint_name="mtrl-finetuned-endpoint", instance_type="ml.g6e.48xlarge", initial_instance_count=1, )

Appelez le point de terminaison :

import json response = endpoint.invoke( body=json.dumps({ "model": "/opt/ml/model", "messages": [{"role": "user", "content": "What is 25 * 4?"}], "max_tokens": 200, "stream": False, }).encode("utf-8"), content_type="application/json", )