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

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

È possibile implementare un algoritmo integrato o un modello preaddestrato su un endpoint di SageMaker AI con poche righe di codice utilizzando SageMaker Python SDK.

  1. Innanzitutto, trova l’ID del modello relativo al modello di tua scelta nella tabella degli algoritmi integrati con modelli preaddestrati.

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

    from sagemaker.jumpstart.model import JumpStartModel model_id = "huggingface-text2text-flan-t5-xl" my_model = JumpStartModel(model_id=model_id)
  3. Utilizza il metodo deploy per implementare automaticamente il modello per l’inferenza. In questo esempio, utilizziamo il modello FLAN-T5 XL di Hugging Face.

    predictor = my_model.deploy()
  4. È quindi possibile eseguire l’inferenza con il modello implementato utilizzando il metodo predict.

    question = "What is Southern California often abbreviated as?" response = predictor.predict(question) print(response)
Nota

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

Per ulteriori informazioni sulla classe JumpStartModel e sui relativi parametri, consulta JumpStartModel.

Controllo dei tipi di istanza predefiniti

Se lo desideri, durante l’implementazione di un modello preaddestrato puoi includere versioni di modello o tipi di istanza specifici utilizzando la classe JumpStartModel. Tutti i modelli JumpStart hanno un tipo di istanza predefinito. Recupera il tipo di istanza di implementazione predefinita utilizzando il seguente codice:

from sagemaker 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 modello JumpStart con il metodo instance_types.retrieve().

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

Un componente di inferenza è un oggetto di hosting SageMaker AI che è possibile utilizzare per implementare uno o più modelli su un endpoint per ottenere maggiore flessibilità e scalabilità. È necessario modificare il endpoint_type affinché il modello JumpStart sia basato su componenti di inferenza anziché sull’endpoint predefinito basato sul modello.

predictor = my_model.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 dei modelli di SageMaker AI, consulta 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.

print(sagemaker.serializers.retrieve_options(model_id=model_id, model_version=model_version)) print(sagemaker.deserializers.retrieve_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.

print(sagemaker.content_types.retrieve_options(model_id=model_id, model_version=model_version)) print(sagemaker.accept_types.retrieve_options(model_id=model_id, model_version=model_version))

Per ulteriori informazioni sulle utility, consulta API Utility.