

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 MLflow con `ModelBuilder`
<a name="mlflow-track-experiments-model-deployment"></a>

Puoi distribuire modelli MLFlow su un endpoint di intelligenza artificiale utilizzando Amazon SageMaker SageMaker AI Model Builder. Per ulteriori informazioni su Amazon SageMaker AI Model Builder, consulta [Creare un modello in Amazon SageMaker AI con ModelBuilder](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-modelbuilder-creation.html).

`ModelBuilder` è una classe Python che accetta un modello di framework o una specifica di inferenza indicata dall’utente e la converte in un modello implementabile. Per ulteriori dettagli sulla `ModelBuilder` classe, consulta [ModelBuilder](https://sagemaker.readthedocs.io/en/stable/api/inference/model_builder.html#sagemaker.serve.builder.model_builder.ModelBuilder).

Per implementare il tuo modello MLflow utilizzando `ModelBuilder`, fornisci un percorso agli artefatti MLflow nell’attributo `model_metadata["MLFLOW_MODEL_PATH"]`. Continua a leggere per ulteriori informazioni sui formati di input validi per i percorsi del modello:

**Nota**  
Se fornisci il percorso dell’artefatto del modello sotto forma di un ID di esecuzione MLflow o di un percorso di registro dei modelli MLflow, devi specificare anche l’ARN del server di tracciamento tramite l’attributo `model_metadata["MLFLOW_TRACKING_ARN"]`.
+ [`Percorsi di modello che richiedono un ARN in model_metadata`](#mlflow-track-experiments-model-deployment-with-arn)
+ [`Percorsi del modello che non richiedono un ARN in model_metadata`](#mlflow-track-experiments-model-deployment-without-arn)

## `Percorsi di modello che richiedono un ARN in model_metadata`
<a name="mlflow-track-experiments-model-deployment-with-arn"></a>

I seguenti percorsi del modello richiedono che si specifichi un ARN in `model_metadata` per l’implementazione:
+ [ID di esecuzione](https://mlflow.org/docs/latest/python_api/mlflow.entities.html?highlight=mlflow%20info#mlflow.entities.RunInfo.run_id) MLflow: `{{runs:/aloy-run-id/run-relative/path/to/model}}`
+ [Percorso del registro dei modelli](https://mlflow.org/docs/latest/model-registry.html#find-registered-models) MLflow: `{{models:/model-name/model-version}}`

## `Percorsi del modello che non richiedono un ARN in model_metadata`
<a name="mlflow-track-experiments-model-deployment-without-arn"></a>

I seguenti percorsi del modello non richiedono che si specifichi un ARN in `model_metadata` per l’implementazione:
+ Percorso del modello locale: `{{/Users/me/path/to/local/model}}`
+ Percorso del modello Amazon S3: `{{s3://amzn-s3-demo-bucket/path/to/model}}`
+ ARN del pacchetto di modelli: `{{arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name}}`

Per ulteriori informazioni su come la distribuzione del modello MLFlow funziona con Amazon SageMaker AI, consulta [Deploy MLFlow Model to Amazon SageMaker AI](https://mlflow.org/docs/latest/deployment/deploy-model-to-sagemaker.html) nella documentazione MLFlow.

Se utilizzi un percorso Amazon S3, puoi trovare il percorso del tuo modello registrato con i seguenti comandi:

```
registered_model = client.get_registered_model(name={{'AutoRegisteredModel'}})
source_path = registered_model.latest_versions[0].source
```

L’esempio seguente è una panoramica di come implementare il modello MLflow utilizzando `ModelBuilder` e un percorso del registro dei modelli MLflow. Poiché questo esempio fornisce il percorso dell’artefatto del modello sotto forma di un percorso di registro dei modelli MLflow, la chiamata a `ModelBuilder` deve specificare anche un ARN del server di tracciamento tramite l’attributo `model_metadata["MLFLOW_TRACKING_ARN"]`.

**Importante**  
È necessario utilizzare la versione [2.224.0](https://pypi.org/project/sagemaker/2.224.0/) o successiva di SageMaker Python SDK per utilizzarlo. `ModelBuilder`

**Nota**  
Utilizza il seguente esempio di codice come riferimento. Per esempi completi che mostrano come implementare modelli MLflow registrati, consulta [Tutorial di MLflow con notebook Jupyter di esempio](mlflow-tutorials.md).

```
from sagemaker.serve import ModelBuilder
from sagemaker.serve.mode.function_pointers import Mode
from sagemaker.serve import SchemaBuilder

my_schema = SchemaBuilder(
    sample_input={{sample_input}}, 
    sample_output={{sample_output}}
)

model_builder = ModelBuilder(
    mode=Mode.SAGEMAKER_ENDPOINT,
    schema_builder=my_schema,
    role_arn="{{Your-service-role-ARN}}",
    model_metadata={
        # both model path and tracking server ARN are required if you use an mlflow run ID or mlflow model registry path as input
        "MLFLOW_MODEL_PATH": "{{models:/sklearn-model/1}}"
        "MLFLOW_TRACKING_ARN": "{{arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name}}"
    }
)
model = model_builder.build()
predictor = model.deploy( initial_instance_count={{1}}, instance_type="{{ml.c6i.xlarge}}" )
```

Per mantenere il [monitoraggio del lineage](https://docs.aws.amazon.com/sagemaker/latest/dg/lineage-tracking.html) per i modelli MLflow implementati utilizzando `ModelBuilder`, è necessario disporre delle seguenti autorizzazioni IAM:
+ `sagemaker:CreateArtifact`
+ `sagemaker:ListArtifacts`
+ `sagemaker:AddAssociation`
+ `sagemaker:DescribeMLflowTrackingServer`

**Importante**  
Il monitoraggio del lineage è facoltativo. L’implementazione riesce senza le autorizzazioni relative al monitoraggio del lineage. Se non hai configurato le autorizzazioni, durante la chiamata di `model.deploy()` verrà visualizzato un errore di autorizzazione per il monitoraggio del lineage. Tuttavia, l’implementazione dell’endpoint riesce comunque e puoi interagire direttamente con l’endpoint modello. Se le autorizzazioni di cui sopra sono configurate, le informazioni sul monitoraggio del lineage vengono create e archiviate automaticamente.

Per ulteriori informazioni ed esempi completi, consulta [Tutorial di MLflow con notebook Jupyter di esempio](mlflow-tutorials.md).