Share via


Migrar al servicio de modelos

En este artículo se muestra cómo habilitar el servicio de modelos en el área de trabajo y cambiar los modelos a la nueva experiencia de Servicio de modelos creada en el proceso sin servidor.

Requisitos

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 de model.
  • 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:

  1. Vaya a Puntos de conexión de servicio en la barra lateral del área de trabajo de aprendizaje automático.
  2. 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.
  3. 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.
  4. 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.
  5. Seleccione el modelo para el que desea deshabilitar legacy MLflow Model Serving.
  6. En la pestaña Servicio, seleccione Detener.
  7. 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.

  1. Cree dos puntos de conexión para el modelo registrado, uno para las versiones del modelo Staging y otro para las versiones del modelo Production.

    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
               },
            ],
         },
      }
    
  2. 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

  3. 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 el punto de conexión de producción: POST /serving-endpoints/modelA-Production/invocations

  4. 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 a Staging y la versión 1 del modelo es Archived. 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 en Staging.

    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 en Production.

    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 los servicios de modelos de Databricks 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 modelos de Databricks
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 migración de un llama-13b modelo de MosaicML a un servicio de modelos de Databricks.

Migración desde la inferencia de MosaicML al cuaderno De servicio de modelos de Databricks

Obtener el cuaderno

Recursos adicionales