Compartir a través de


Despliegues optimizados para puntos finales de servicio de modelos sin servidor

En este artículo se describe cómo usar implementaciones optimizadas sin servidor en los puntos de conexión de servicio del modelo . Las implementaciones optimizadas sin servidor reducen considerablemente los tiempos de implementación y mantienen el entorno de servicio del modelo igual que el entorno de entrenamiento del modelo.

¿Qué son las implementaciones optimizadas sin servidor?

Las implementaciones optimizadas sin servidor aprovechan los artefactos del modelo de empaquetado y almacenamiento provisional en entornos de cuadernos sin servidor durante el registro del modelo, lo que da lugar a la implementación acelerada de puntos de conexión y entornos coherentes entre el entrenamiento y el servicio.

Esto difiere de las implementaciones optimizadas sin servidor, donde los artefactos y entornos del modelo se empaquetan en contenedores en el momento de la implementación. En tales casos, es posible que el entorno de servicio no coincida con el usado durante el entrenamiento del modelo.

Requisitos

Los puntos de conexión optimizados sin servidor tienen los mismos requisitos que el punto de conexión de servicio del modelo (consulte Requisitos). Además:

  • El modelo debe ser un modelo personalizado (no FMAPI)
  • El modelo debe registrarse e inscribirse en un Serverless Notebook usando versión 3 o 4.
  • El modelo debe ser registrado y registrado con mlflow>=3.1
  • El modelo debe registrarse en UC y servirse con CPU
  • El tamaño máximo del entorno del modelo es de 1 GB

Uso de implementaciones optimizadas sin servidor

Al generar registros de y registrar un modelo, use un Notebook sin servidor con el cliente 3 o 4 y mlflow>=3.1.

Para ajustar la versión de cliente del entorno sin servidor, consulte Configuración del entorno sin servidor.

A continuación, al registrar un modelo, establezca el env_pack parámetro con los valores deseados.

import mlflow
from mlflow.utils.env_pack import EnvPackConfig

mlflow.register_model(
    model_info.model_uri,
    model_name,
    env_pack=env_pack=EnvPackConfig(name="databricks_model_serving")
)

La adición del parámetro env_pack hará que la función empaquete y prepare los artefactos del modelo y el entorno del cuaderno sin servidor durante el registro del modelo para que esté listo para su uso durante la implementación. Esto puede tardar más tiempo en comparación con el registro del modelo sin env_pack.

EnvPackConfig tiene un parámetro install_dependencies (True de forma predeterminada) que determina si las dependencias del modelo están instaladas en el entorno actual para confirmar que el entorno es válido. Si desea omitir ese paso, establezca el valor en False.

Nota:

Los puntos de conexión de las áreas de trabajo sin acceso a internet o con dependencias en bibliotecas personalizadas pueden fallar si se establece install_dependencies a True. En estos casos, establezca install_dependencies en False.

También puede sustituir EnvPackConfig(...) por "databricks_model_serving" como abreviada. Es equivalente a EnvPackConfig(name="databricks_model_serving", install_dependencies = True).

Una vez finalizado el registro del modelo, puede implementar el modelo en el servicio de modelos. Tenga en cuenta que el tiempo de implementación se reduce y los registros de eventos ya no indican la compilación del contenedor.