

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Implemente MLflow modelos con `ModelBuilder`
<a name="mlflow-track-experiments-model-deployment"></a>

Puede implementar MLflow modelos en un punto final de SageMaker IA mediante Amazon SageMaker AI Model Builder. Para obtener más información sobre Amazon SageMaker AI Model Builder, consulte [Crear un modelo en Amazon SageMaker AI con ModelBuilder](https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works-modelbuilder-creation.html).

`ModelBuilder` es una clase de Python que toma un modelo de marco o una especificación de inferencia especificada por el usuario y los convierte en un modelo implementable. Para obtener más información sobre la `ModelBuilder` clase, consulte [ModelBuilder](https://sagemaker.readthedocs.io/en/stable/api/inference/model_builder.html#sagemaker.serve.builder.model_builder.ModelBuilder).

Para implementar su MLflow modelo mediante`ModelBuilder`, proporcione una ruta a sus MLflow artefactos en el `model_metadata["MLFLOW_MODEL_PATH"]` atributo. Siga leyendo para obtener más información sobre los formatos válidos de entrada de ruta de modelos:

**nota**  
Si proporciona la ruta del artefacto del modelo en forma de ID de MLflow ejecución o ruta de registro del MLflow modelo, también debe especificar el ARN del servidor de seguimiento mediante `model_metadata["MLFLOW_TRACKING_ARN"]` el atributo.
+ [Rutas de modelos que requieren un ARN en los `model_metadata`](#mlflow-track-experiments-model-deployment-with-arn)
+ [Rutas de modelos que no requieren un ARN en los `model_metadata`](#mlflow-track-experiments-model-deployment-without-arn)

## Rutas de modelos que requieren un ARN en los `model_metadata`
<a name="mlflow-track-experiments-model-deployment-with-arn"></a>

Las siguientes rutas de modelo requieren que especifique un ARN en el campo `model_metadata` para su implementación:
+ MLflow ID de [ejecución](https://mlflow.org/docs/latest/python_api/mlflow.entities.html?highlight=mlflow%20info#mlflow.entities.RunInfo.run_id): `runs:/aloy-run-id/run-relative/path/to/model`
+ MLflow [ruta de registro del modelo](https://mlflow.org/docs/latest/model-registry.html#find-registered-models): `models:/model-name/model-version`

## Rutas de modelos que no requieren un ARN en los `model_metadata`
<a name="mlflow-track-experiments-model-deployment-without-arn"></a>

Las siguientes rutas de modelo requieren que especifique un ARN en el campo `model_metadata` para su implementación:
+ Ruta del modelo local: `/Users/me/path/to/local/model`
+ Ruta del modelo de Amazon S3: `s3://amzn-s3-demo-bucket/path/to/model`
+ ARN del paquete de modelos: `arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name`

Para obtener más información sobre cómo funciona la implementación de MLflow modelos con Amazon SageMaker AI, consulte [Implementación de MLflow modelos en Amazon SageMaker AI](https://mlflow.org/docs/latest/deployment/deploy-model-to-sagemaker.html) en la MLflow documentación.

Si utiliza una ruta de Amazon S3, puede encontrar la ruta del modelo registrado con los siguientes comandos:

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

En el siguiente ejemplo, se ofrece información general sobre cómo implementar un MLflow modelo `ModelBuilder` y una ruta de registro del MLflow modelo. Como este ejemplo proporciona la ruta del artefacto del modelo en forma de una ruta de registro del MLflow modelo, la llamada a también `ModelBuilder` debe especificar un ARN del servidor de seguimiento a través `model_metadata["MLFLOW_TRACKING_ARN"]` del atributo.

**importante**  
Debe usar la versión [2.224.0](https://pypi.org/project/sagemaker/2.224.0/) o posterior del SDK de SageMaker Python para poder usarlo. `ModelBuilder`

**nota**  
Utilice el siguiente código de ejemplo como referencia. Para end-to-end ver ejemplos que muestran cómo implementar MLflow modelos registrados, consulte. [Tutoriales de MLflow con cuadernos de Jupyter de ejemplo](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" )
```

Para mantener el [seguimiento del linaje de](https://docs.aws.amazon.com/sagemaker/latest/dg/lineage-tracking.html) MLflow los modelos implementados`ModelBuilder`, debe tener los siguientes permisos de IAM:
+ `sagemaker:CreateArtifact`
+ `sagemaker:ListArtifacts`
+ `sagemaker:AddAssociation`
+ `sagemaker:DescribeMLflowTrackingServer`

**importante**  
El seguimiento del linaje es opcional. La implementación se realiza correctamente sin los permisos relacionados con el seguimiento del linaje. Si no tiene los permisos configurados, aparecerá un error en los permisos de seguimiento del linaje al llamar a `model.deploy()`. Sin embargo, la implementación del punto de conexión aún se realiza correctamente, y puede interactuar directamente con el punto de conexión del modelo. Si se configuran los permisos anteriores, se creará la información de seguimiento del linaje, que se almacenará automáticamente.

Para obtener más información y end-to-end ejemplos, consulte. [Tutoriales de MLflow con cuadernos de Jupyter de ejemplo](mlflow-tutorials.md)