Aller au contenu principal

Déploiements express pour les Endpoint de service de modèle

Cette page décrit comment utiliser les déploiements express sur vos Endpoint de service de modèle. Les déploiements express réduisent les temps de déploiement et maintiennent l'environnement de service de modèle identique à l'environnement d'entraînement de modèle.

remarque

Les déploiements Express étaient auparavant appelés déploiements optimisés Serverless.

Que sont les déploiements express ?

Les déploiements express empaquettent et mettent en scène les artefacts de modèle dans des environnements de Notebook Serverless pendant l'enregistrement du modèle. Cela accélère le déploiement d'endpoint et maintient les environnements d'entraînement et de service cohérents.

Dans les déploiements non express, les artefacts de modèle et les environnements sont empaquetés dans des conteneurs au moment du déploiement, de sorte que l'environnement de service pourrait ne pas correspondre à celui utilisé pendant l'entraînement du modèle.

Déploiements standard vs express

Le tableau suivant compare un déploiement standard et un déploiement express.

Aspect

Déploiement standard

Déploiement express

Lorsque l'environnement est créé

Une image de conteneur est créée au moment du déploiement.

Les artefacts et l'environnement sont empaquetés lorsque vous enregistrez le modèle.

Environnement d'entraînement et de service

L'environnement de service pourrait ne pas correspondre à l'environnement d'entraînement.

L'environnement de service est identique à l'environnement du Notebook à partir duquel vous vous êtes enregistré.

Vitesse de déploiement

Plus lent. Le déploiement attend une build d'image de conteneur.

Plus rapide. Le déploiement ignore la build d'image de conteneur.

Vitesse d'enregistrement

Standard.

Ajoute des secondes à une minute pour le packaging, en fonction de la taille du modèle et de l'environnement.

Journal des événements de déploiement

Affiche les événements de création d'images de conteneurs.

Ne montre pas les événements de création d'image de conteneur.

Aspect

Déploiement standard

Déploiement express

Lorsque l'environnement est créé

Une image de conteneur est créée au moment du déploiement.

Les artefacts et l'environnement sont empaquetés lorsque vous enregistrez le modèle.

Environnement d'entraînement et de service

L'environnement de service pourrait ne pas correspondre à l'environnement d'entraînement.

L'environnement de service est identique à l'environnement du Notebook à partir duquel vous vous êtes enregistré.

Vitesse de déploiement

Plus lent. Le déploiement attend une build d'image de conteneur.

Plus rapide. Le déploiement ignore la build d'image de conteneur.

Vitesse d'enregistrement

Standard.

Ajoute des secondes à une minute pour le packaging, en fonction de la taille du modèle et de l'environnement.

Journal des événements de déploiement

Affiche les événements de création d'images de conteneurs.

Ne montre pas les événements de création d'image de conteneur.

Les déploiements express transfèrent le travail de packaging unique à l'enregistrement du modèle, ce qui ajoute de quelques secondes à une minute à un appel register_model, en fonction de la taille du modèle et de l'environnement. En contrepartie, le déploiement est considérablement plus rapide : il ignore entièrement la construction de l'image de conteneur. Cette construction est également une source courante d'échecs de déploiement (résolution des dépendances, erreurs de build d'images) ; la contourner élimine toute une catégorie de problèmes. Le log des événements de déploiement pour un modèle express ne contient aucun événement de build de conteneur.

Exigences

Les Endpoint de déploiement express ont les mêmes exigences qu'un Endpoint de service de modèle. Consultez les exigences.

En outre :

  • Le modèle doit être un modèle personnalisé
  • Le modèle doit être journalisé et enregistré dans un Notebook Serverless en utilisant la version 3 ou ultérieure.
  • Le modèle doit être journalisé et enregistré avec mlflow>=3.12 et databricks-sdk>=0.102.0
  • Le modèle doit être enregistré dans Unity Catalog et être servi sur CPU compute. Enregistrez-vous à partir d'un Notebook Serverless standard.
  • La taille maximale de l'environnement du modèle est de 200 Go

Le parameter env_pack

Activez le déploiement express par le passage de env_pack à register_model:

Python
import mlflow
from mlflow.utils.env_pack import EnvPackConfig

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

env_pack empaquette et met en scène les artefacts de modèle et les dépendances que vous avez ajoutées à la session du Notebook au moment de l'enregistrement, c'est pourquoi l'enregistrement prend plus de temps qu'un appel sans env_pack.

EnvPackConfig accepte un parameter install_dependencies (True par default). Lorsque True, les dépendances du modèle sont installées dans l'environnement actuel pour confirmer que l'environnement est valide.

remarque

L'enregistrement peut échouer dans les Workspace sans accès à Internet, ou lorsque le modèle dépend de bibliothèques personnalisées, si install_dependencies est True. Dans ces cas, définissez install_dependencies sur False.

Vous pouvez substituer la chaîne "databricks_model_serving" par EnvPackConfig(...) comme raccourci. C'est l'équivalent de EnvPackConfig(name="databricks_model_serving", install_dependencies=True).