

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

# Raccomandazioni compilate con Neo
<a name="inference-recommender-neo-compilation"></a>

Nel suggeritore di inferenza, puoi compilare il tuo modello con Neo e ottenere raccomandazioni sugli endpoint per il modello compilato. [SageMaker Neo](https://docs.aws.amazon.com/sagemaker/latest/dg/neo.html) è 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 [DLC](https://docs.aws.amazon.com/deep-learning-containers/latest/devguide/what-is-dlc.html) o un XGBoost contenitore di proprietà dell' SageMaker intelligenza artificiale.
+ Stai utilizzando una versione del framework supportata da Neo. Per le versioni del framework supportate da Neo, consulta [Istanze cloud](neo-supported-cloud.md#neo-supported-cloud-instances) 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](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelInput.html#sagemaker-Type-ModelInput-DataInputConfig)` in `[InferenceSpecification](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html#sagemaker-CreateModelPackage-request-InferenceSpecification)` quando si crea un pacchetto modello. Per informazioni sulle forme di dati corrette per ogni framework, vedi [Prepare Model for Compilation](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-compilation-preparing-model.html) 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 le raccomandazioni sulla compilazione 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 l’input soddisfa i requisiti e riceverai una risposta che include le raccomandazioni di Neo.

Se riscontri errori durante la compilazione di Neo, consulta [Risolvi errori di compilazione Neo](neo-troubleshooting-compilation.md).

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 **InferenceSpecificationName**campo`neo-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 | 

## Nozioni di base
<a name="inference-recommender-neo-compilation-get-started"></a>

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](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-compilation-preparing-model.html) 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](https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-compilation.html).

[Per un esempio che illustra il flusso di lavoro precedente e come ottenere consigli ottimizzati per NEO utilizzando XGBoost, vedete il seguente esempio di notebook.](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker-inference-recommender/xgboost/xgboost-inference-recommender.ipynb) [Per un esempio che mostra come ottenere consigli ottimizzati per NEO utilizzando un notebook TensorFlow, vedete il seguente esempio di notebook.](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker-inference-recommender/inference-recommender.ipynb)