Ottieni raccomandazioni compilate con Neo - Amazon SageMaker

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à.

Ottieni raccomandazioni compilate con Neo

Nel suggeritore di inferenza, puoi compilare il tuo modello con Neo e ottenere raccomandazioni sugli endpoint per il modello compilato. SageMaker Neo è un servizio in grado di ottimizzare il modello per una piattaforma hardware di destinazione (ovvero un tipo o un ambiente di istanza specifico). L'ottimizzazione di un modello con Neo potrebbe migliorare le prestazioni del modello ospitato.

Per i container e i framework supportati da Neo, il suggeritore di inferenza suggerisce automaticamente raccomandazioni ottimizzate per Neo. Per poter ricorrere alla compilazione Neo, l'input deve soddisfare i seguenti prerequisiti:

  • Stai utilizzando un SageMaker proprietario DLCo un XGBoost contenitore.

  • Stai utilizzando una versione del framework supportata da Neo. Per le versioni del framework supportate da Neo, Istanze cloud consultate la documentazione di SageMaker Neo.

  • Neo richiede necessita di una forma di dati di input corretta per il tuo modello. È possibile specificare questa forma di dati come DataInputConfig in InferenceSpecification quando si crea un pacchetto modello. Per informazioni sulle forme di dati corrette per ogni framework, vedi Prepare Model for Compilation nella documentazione di SageMaker Neo.

    L'esempio seguente mostra come specificare il campo DataInputConfig in InferenceSpecification, in cui data_input_configuration è una variabile che contiene la forma dei data in formato dizionario (ad esempi {'input':[1,1024,1024,3]}).

    "InferenceSpecification": { "Containers": [ { "Image": dlc_uri, "Framework": framework.upper(), "FrameworkVersion": framework_version, "NearestModelName": model_name, "ModelInput": {"DataInputConfig": data_input_configuration}, } ], "SupportedContentTypes": input_mime_types, # required, must be non-null "SupportedResponseMIMETypes": [], "SupportedRealtimeInferenceInstanceTypes": supported_realtime_inference_types, # optional }

Se queste condizioni sono soddisfatte nella richiesta, il suggeritore di inferenza esegue scenari per entrambe le versioni compilate e non compilate del modello, offrendo più combinazioni di raccomandazioni tra cui scegliere. È possibile confrontare le configurazioni per le versioni compilate e non compilate della stessa raccomandazione di inferenza e determinare quale si adatta meglio al proprio caso d'uso. Le raccomandazioni sono classificate in base al costo per inferenza.

Per ottenere i consigli sulla compilazione di Neo, non è necessario eseguire alcuna configurazione aggiuntiva oltre ad assicurarsi che l'input soddisfi i requisiti precedenti. Inference Recommender esegue automaticamente la compilazione Neo sul tuo modello se il tuo input soddisfa i requisiti e ricevi una risposta che include i consigli di Neo.

Se riscontri errori durante la compilazione di Neo, consulta Risolvi errori di compilazione Neo.

La tabella seguente è un esempio di risposta che potresti ottenere da un processo del suggeritore di inferenza che include raccomandazioni per i modelli compilati. Se il campo InferenceSpecificationName è None, la raccomandazione è un modello non compilato. L'ultima riga, in cui si trova il valore del InferenceSpecificationNamecamponeo-00011122-2333-4445-5566-677788899900, è per un modello compilato con Neo. Il valore nel campo è il nome del processo Neo utilizzato per compilare e ottimizzare il modello.

EndpointName InstanceType InitialInstanceCount EnvironmentParameters CostPerHour CostPerInference MaxInvocations ModelLatency InferenceSpecificationName

sm-epc-example-000111222

ml.c5.9xlarge

1

[]

1,836

9,15E-07

33456

7

Nessuno

sm-epc-example-111222333

ml.c5.2xlarge

1

[]

0,408

2,11E-07

32211

21

Nessuno

sm-epc-example-222333444

ml.c5.xlarge

1

[]

0,204

1,86E-07

18276

92

Nessuno

sm-epc-example-333444555

ml.c5.xlarge

1

[]

0,204

1,60E-07

21286

42

neo-00011122-2333-4445-5566-677788899900

Inizia a usare

Le operazioni generali per creare un processo del suggeritore di inferenza che includa raccomandazioni ottimizzate per NEO sono le seguenti:

  • Prepara il tuo modello ML per la compilazione. Per ulteriori informazioni, consulta Preparare il modello per la compilazione nella documentazione di Neo.

  • Crea il pacchetto del modello in un archivio di modelli (file .tar.gz).

  • Crea un archivio di payload di esempio.

  • Registra il tuo SageMaker modello nel Model Registry.

  • Crea un processo del suggeritore di inferenza.

  • Visualizza i risultati del processo del suggeritore di inferenza e scegli una configurazione.

  • Se del caso, effettua il debug degli errori di compilazione. Per ulteriori informazioni, consulta la sezione sulla Risoluzione dei problemi di compilazione Neo.

Per un esempio che illustra il flusso di lavoro precedente e come ottenere consigli ottimizzati per NEO utilizzandoXGBoost, vedete il seguente esempio di notebook. Per un esempio che mostra come ottenere consigli ottimizzati per NEO utilizzando un notebook TensorFlow, vedete il seguente esempio di notebook.