Migrar al servicio de modelos
En este artículo se muestra cómo habilitar Model Serving en el área de trabajo y cambiar los modelos a la experiencia de Servicio de modelos de IA de Mosaico basada en un proceso sin servidor.
Requisitos
- Modelo registrado en el registro de modelos de MLflow.
- Permisos en los modelos registrados, tal y como se describe en la guía de control de acceso.
- Habilitar procesos sin servidor en el área de trabajo.
Cambios significativos
- En Servicio de modelos, el formato de la solicitud al punto de conexión y la respuesta del punto de conexión son ligeramente diferentes del servicio de modelos de MLflow heredado. Consulte Puntuación de un punto de conexión de modelo para obtener más información sobre el nuevo protocolo de formato.
- En Servicio de modelos, la dirección URL del punto de conexión incluye
serving-endpoints
en lugar demodel
. - El servicio de modelos incluye compatibilidad completa con administrar recursos con flujos de trabajo de API.
- El servicio de modelos está listo para producción y está respaldado por el Acuerdo de Nivel de Servicio de Azure Databricks.
Migración de modelos de MLflow heredados que sirven modelos de servicio a Servicio de modelos
Es posible crear un punto de conexión de servicio de modelos y flujos de trabajo de servicio de modelos de transición flexible sin deshabilitar Servicio de modelos de MLflow heredado.
Los pasos siguientes muestran cómo realizarlo mediante la UI. Para cada modelo en el que tenga habilitado el servicio de modelos de MLflow heredado:
- Registre el modelo en el catálogo de Unity.
- Vaya a Puntos de conexión de servicio en la barra lateral del área de trabajo de aprendizaje automático.
- Siga el flujo de trabajo descrito en Creación de puntos de conexión de servicio de modelos personalizados sobre cómo crear un punto de conexión de servicio con el modelo.
- Realice la transición de la aplicación para usar la nueva dirección URL proporcionada por el punto de conexión de servicio para consultar el modelo, junto con el nuevo formato de puntuación.
- Cuando se realice la transición de los modelos, podrá ir a Modelos en la barra lateral del área de trabajo de Aprendizaje automático.
- Seleccione el modelo para el que desea deshabilitar legacy MLflow Model Serving.
- En la pestaña Servicio, seleccione Detener.
- Aparecerá un mensaje para confirmarlo. Seleccione Detener servicio.
Migración de versiones de modelo implementadas al servicio de modelos
En versiones anteriores de la funcionalidad del servicio de modelos, el punto de conexión de servicio se creó en función de la fase de la versión del modelo registrada: Staging
o Production
. Para migrar los modelos servidos desde esa experiencia, se puede replicar ese comportamiento en la nueva experiencia de servicio de modelos.
En esta sección se muestra cómo crear puntos de conexión de servicio de modelos independientes para versiones del modelo Staging
y Production
. Los pasos siguientes muestran cómo hacerlo con la API de puntos de conexión de servicio para cada uno de los modelos servidos.
En el ejemplo, el nombre del modelo registrado modelA
tiene la versión 1 en la fase del modelo Production
y la versión 2 en la fase del modelo Staging
.
Cree dos puntos de conexión para el modelo registrado, uno para las versiones del modelo
Staging
y otro para las versiones del modeloProduction
.Para las versiones del modelo
Staging
:POST /api/2.0/serving-endpoints { "name":"modelA-Staging" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // Staging Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Para las versiones del modelo
Production
:POST /api/2.0/serving-endpoints { "name":"modelA-Production" "config": { "served_entities": [ { "entity_name":"model-A", "entity_version":"1", // Production Model Version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }, }
Compruebe el estado de los puntos de conexión.
Para el punto de conexión de entorno de ensayo:
GET /api/2.0/serving-endpoints/modelA-Staging
Para punto de conexión de producción:
GET /api/2.0/serving-endpoints/modelA-Production
Una vez que los puntos de conexión estén listos, consulte el punto de conexión mediante:
Para el punto de conexión de entorno de ensayo:
POST /serving-endpoints/modelA-Staging/invocations
Para punto de conexión de producción:
POST /serving-endpoints/modelA-Production/invocations
Actualice el punto de conexión en función de las transiciones de versiones del modelo.
En el escenario en el que se crea una nueva versión de modelo 3, es posible hacer que la transición de la versión 2 del modelo a
Production
, mientras que a la versión 3 del modelo se le puede realizar la transición aStaging
y la versión 1 del modelo esArchived
. Estos cambios se pueden reflejar en puntos de conexión de servicio de modelos independientes, tal y como se indica a continuación:Para el punto de conexión
Staging
, actualice el punto de conexión para usar la nueva versión del modelo enStaging
.PUT /api/2.0/serving-endpoints/modelA-Staging/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"3", // New Staging model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Para el punto de conexión
Production
, actualice el punto de conexión para usar la nueva versión del modelo enProduction
.PUT /api/2.0/serving-endpoints/modelA-Production/config { "served_entities": [ { "entity_name":"model-A", "entity_version":"2", // New Production model version "workload_size":"Small", "scale_to_zero_enabled":true }, ], }
Migración de flujos de trabajo de inferencia de MosaicML a servicio de modelos
En esta sección se proporcionan instrucciones sobre cómo migrar las implementaciones de inferencia de MosaicML a Mosaic AI Model Serving e incluye un ejemplo de cuaderno.
En la tabla siguiente se resume la paridad entre la inferencia MosaicML y el modelo que sirve en Azure Databricks.
Inferencia de MosaicML | Servicio de modelo de IA de Mosaic |
---|---|
create_inference_deployment | Creación de un modelo que sirve de punto de conexión |
update_inference_deployment | Actualizar un modelo de punto de conexión |
delete_inference_deployment | Eliminar un modelo que sirve de punto de conexión |
get_inference_deployment | Obtención del estado de un punto de conexión de servicio de modelo |
En el cuaderno siguiente se proporciona un ejemplo guiado de cómo migrar un modelo de llama-13b
MosaicML a Mosaic AI Model Serving.