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
-
Innanzitutto, trova l'ID del modello di tua scelta in. Modelli di fondazione disponibili
-
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) -
Utilizza il metodo
deployper 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() -
È quindi possibile eseguire l'inferenza con il modello distribuito utilizzando il
invokemetodo. Text-generation modelli come questo accettano un corpo di richiesta JSON con una chiave.inputsSerializza il payload conjson.dumpse imposta il tipo di contenuto su.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'))
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
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