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 de fondation accessibles au public à l’aide de la classe ModelBuilder
Vous pouvez déployer un algorithme intégré ou un modèle pré-entraîné sur un terminal d' SageMaker IA en quelques lignes de code à l'aide du SageMaker Python SDK.
-
Tout d'abord, recherchez l'identifiant du modèle de votre choix dansModèles de fondation disponibles.
-
À l'aide de l'ID du modèle, définissez votre modèle en tant que JumpStart modèle.
from sagemaker.serve import ModelBuilder from sagemaker.core.jumpstart.configs import JumpStartConfig jumpstart_config = JumpStartConfig(model_id="huggingface-text2text-flan-t5-xl") model_builder = ModelBuilder.from_jumpstart_config(jumpstart_config=jumpstart_config) -
Utilisez la méthode
deploypour déployer automatiquement votre modèle à des fins d’inférence. Dans cet exemple, nous utilisons le modèle FLAN-T5 XL deHugging Face.model = model_builder.build() endpoint = model_builder.deploy() -
Vous pouvez ensuite exécuter une inférence avec le modèle déployé à l'aide de la
invokeméthode. Text-generation les modèles comme celui-ci acceptent un corps de requête JSON avec uneinputsclé. Sérialisez la charge utile avecjson.dumpset définissez le type de contenu sur.application/jsonimport json question ="What is Southern California often abbreviated as?"payload = {"inputs": question, "parameters": {"max_new_tokens": 100}} response = endpoint.invoke(body=json.dumps(payload), content_type="application/json") print(response.body.read().decode('utf-8'))
Note
Cet exemple utilise le modèle de base FLAN-T5 XL, qui convient à un large éventail de cas d'utilisation de génération de texte, notamment la réponse à des questions, la synthèse, la création de chatbots, etc. Pour plus d’informations sur les cas d’utilisation d’un modèle, consultez Modèles de fondation disponibles.
Pour plus d'informations sur la ModelBuilder classe et ses paramètres, consultez ModelBuilder
Vérification de types d’instance par défaut
Lorsque vous déployez un modèle pré-entraîné, vous pouvez éventuellement spécifier une version du modèle sur votreJumpStartConfig. Vous pouvez également choisir un type d'instance sur votre ModelBuilder (par exemple, avec le instance_type paramètre). Tous les JumpStart modèles possèdent un type d'instance par défaut. Extrayez le type d’instance de déploiement par défaut à l’aide du code suivant :
from sagemaker.core import instance_types instance_type = instance_types.retrieve_default( model_id=model_id, model_version=model_version, scope="inference") print(instance_type)
Consultez tous les types d'instances pris en charge pour un JumpStart modèle donné à l'aide de la instance_types.retrieve() méthode.
Utilisation de composants d’inférence pour déployer plusieurs modèles vers un point de terminaison partagé
Un composant d'inférence est un objet d'hébergement d' SageMaker IA que vous pouvez utiliser pour déployer un ou plusieurs modèles sur un terminal afin d'améliorer la flexibilité et l'évolutivité. Vous devez modifier le paramètre endpoint_type pour que votre JumpStart modèle soit basé sur des composants d'inférence plutôt que le point de terminaison par défaut basé sur le modèle. Importez EndpointType et déployez avec le type de point de terminaison basé sur les composants d'inférence :
from sagemaker.core.enums import EndpointType endpoint = model_builder.deploy( endpoint_name ='jumpstart-model-id-123456789012', endpoint_type = EndpointType.INFERENCE_COMPONENT_BASED )
Pour plus d'informations sur la création de points de terminaison avec des composants d'inférence et le déploiement de modèles d' SageMaker IA, consultez. Utilisation partagée des ressources avec plusieurs modèles
Vérification des formats d’inférence d’entrée et de sortie valides
Pour vérifier les formats d’entrée et de sortie de données valides à des fins d’inférence, vous pouvez utiliser la méthode retrieve_options() des classes Serializers et Deserializers.
from sagemaker.core.serializers.implementations import retrieve_options as retrieve_serializer_options from sagemaker.core.deserializers.implementations import retrieve_options as retrieve_deserializer_options print(retrieve_serializer_options(model_id=model_id, model_version=model_version)) print(retrieve_deserializer_options(model_id=model_id, model_version=model_version))
Vérification du contenu pris en charge et des types d’acceptations
De même, vous pouvez utiliser la méthode retrieve_options() pour vérifier le contenu pris en charge et les types d’acceptations pour un modèle.
from sagemaker.core import content_types, accept_types print(content_types.retrieve_options(model_id=model_id, model_version=model_version)) print(accept_types.retrieve_options(model_id=model_id, model_version=model_version))
Pour plus d’informations sur les utilitaires, consultez API d’utilitaire