View a markdown version of this page

Implementazione dei modelli di fondazione disponibili al pubblico con la classe ModelBuilder - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Implementazione dei modelli di fondazione disponibili al pubblico con la classe ModelBuilder

Puoi implementare un algoritmo integrato o un modello preaddestrato su un endpoint SageMaker AI in poche righe di codice utilizzando l'SDK. SageMaker Python

  1. Innanzitutto, trova l'ID del modello di tua scelta in. Modelli di fondazione disponibili

  2. Utilizzando l'ID del modello, definisci il tuo modello come JumpStart modello.

    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)
  3. Utilizza il metodo deploy per implementare automaticamente il modello per l’inferenza. In questo esempio, utilizziamo il modello FLAN-T5 XL diHugging Face.

    model = model_builder.build() endpoint = model_builder.deploy()
  4. È quindi possibile eseguire l'inferenza con il modello distribuito utilizzando il invoke metodo. Text-generation modelli come questo accettano un corpo di richiesta JSON con una chiave. inputs Serializza il payload con json.dumps e imposta il tipo di contenuto su. application/json

    import 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'))
Nota

Questo esempio utilizza il modello base FLAN-T5 XL, adatto per un'ampia gamma di casi d'uso della generazione di testo, tra cui la risposta alle domande, il riepilogo, la creazione di chatbot e altro ancora. Per ulteriori informazioni sui casi d’uso dei modelli, consulta Modelli di fondazione disponibili.

Per ulteriori informazioni sulla ModelBuilder classe e sui relativi parametri, ModelBuilder consultate la documentazione SageMaker Python SDK sul sito Web Read the Docs.

Controllo dei tipi di istanza predefiniti

Quando si implementa un modello preaddestrato, è possibile specificare facoltativamente una versione del modello sul proprio. JumpStartConfig Puoi anche scegliere un tipo di istanza sul tuo ModelBuilder (ad esempio, con il instance_type parametro). Tutti i JumpStart modelli hanno un tipo di istanza predefinito. Recupera il tipo di istanza di implementazione predefinita utilizzando il seguente codice:

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)

Visualizza tutti i tipi di istanza supportati per un determinato JumpStart modello con il instance_types.retrieve() metodo.

Utilizzo dei componenti di inferenza per implementare più modelli su un endpoint condiviso

Un componente di inferenza è un oggetto di hosting SageMaker AI che puoi utilizzare per distribuire uno o più modelli su un endpoint per una maggiore flessibilità e scalabilità. È necessario modificarlo endpoint_type affinché il JumpStart modello sia basato su componenti di inferenza anziché sull'endpoint predefinito basato sul modello. Importa EndpointType e distribuisci con il tipo di endpoint basato sui componenti di inferenza:

from sagemaker.core.enums import EndpointType endpoint = model_builder.deploy( endpoint_name = 'jumpstart-model-id-123456789012', endpoint_type = EndpointType.INFERENCE_COMPONENT_BASED )

Per ulteriori informazioni sulla creazione di endpoint con componenti di inferenza e sull'implementazione di modelli AI, consulta. SageMaker Utilizzo condiviso delle risorse con più modelli

Verifica dei formati di inferenza di input e output validi

Per verificare i formati di input e output dei dati validi per l’inferenza, puoi utilizzare il metodo retrieve_options() delle classi Serializers e 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))

Verifica dei contenuti supportati e dei tipi di accettazione

Allo stesso modo, è possibile utilizzare il metodo retrieve_options() per verificare i contenuti supportati e i tipi di accettazione per un modello.

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))

Per ulteriori informazioni sulle utility, consulta API Utility.