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à.
Distribuisci MLflow modelli con ModelBuilder
Puoi distribuire MLflow modelli 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.
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
Per distribuire il MLflow modello utilizzandoModelBuilder, fornite un percorso agli MLflow artefatti 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 fornite il percorso dell'artefatto del modello sotto forma di MLflow run ID o percorso del registro del MLflow modello, dovete anche specificare l'ARN del server di tracciamento tramite l'attributo. model_metadata["MLFLOW_TRACKING_ARN"]
Percorsi del modello che richiedono un ARN in model_metadata
I seguenti percorsi del modello richiedono che si specifichi un ARN in model_metadata per l’implementazione:
MLflow ID di esecuzione:
runs:/aloy-run-id/run-relative/path/to/modelMLflow percorso del registro del modello
: models:/model-name/model-version
Percorsi del modello che non richiedono un ARN in model_metadata
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/modelPercorso del modello Amazon S3:
s3://amzn-s3-demo-bucket/path/to/modelARN del pacchetto di modelli:
arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name
Per ulteriori informazioni su come funziona la distribuzione dei MLflow modelli con Amazon SageMaker AI, consulta Deploy MLflow Model to Amazon SageMaker AI
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 distribuire il MLflow modello utilizzando ModelBuilder e un percorso di registro del MLflow modello. Poiché questo esempio fornisce il percorso dell'artefatto del modello sotto forma di percorso del registro del MLflow modello, 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.0ModelBuilder
Nota
Utilizza il seguente esempio di codice come riferimento. Per end-to-end esempi che mostrano come distribuire modelli registrati, consulta. MLflow Tutorial di MLflow con notebook Jupyter di esempio
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 tracciamento della discendenza per MLflow i modelli distribuiti utilizzandoModelBuilder, devi disporre delle seguenti autorizzazioni IAM:
sagemaker:CreateArtifactsagemaker:ListArtifactssagemaker:AddAssociationsagemaker: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 end-to-end esempi, consulta. Tutorial di MLflow con notebook Jupyter di esempio