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.
-
Innanzitutto, trova l’ID del modello relativo al modello di tua scelta nella tabella degli algoritmi integrati con modelli preaddestrati
. -
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) -
Utilizza il metodo
deployper implementare automaticamente il modello per l’inferenza. In questo esempio, utilizziamo il modello FLAN-T5 XL di Hugging Face.predictor = my_model.deploy() -
È 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