Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment utiliser des déploiements optimisés pour le mode serverless sur vos points de terminaison de mise en service de modèles. Les déploiements optimisés serverless réduisent considérablement les temps de déploiement et conservent l'environnement de service du modèle identique à l'environnement d'entraînement du modèle.
Qu’est-ce que les déploiements optimisés « serverless » ?
Les déploiements optimisés sans serveur tirent parti de l’empaquetage et de la mise en scène des artefacts de modèles dans les environnements de notebooks sans serveur pendant l’enregistrement du modèle, ce qui permet un déploiement accéléré des points de terminaison et assure la cohérence des environnements entre l'entraînement et la mise en service.
Cela diffère des déploiements optimisés non serverless, où les artefacts de modèle et les environnements sont emballés dans des conteneurs au moment du déploiement. Dans ce cas, l’environnement de service peut ne pas correspondre à celui utilisé pendant l’entraînement du modèle.
Spécifications
Les points de terminaison optimisés serverless ont les mêmes exigences que les points de terminaison de service de modèle (voir Exigences). De plus,:
- Le modèle doit être un modèle personnalisé (et non FMAPI)
- Le modèle doit être consigné et enregistré dans un notebook serverless à l'aide de la version 3 ou 4
- Le modèle doit être consigné et enregistré avec
mlflow>=3.1 - Le modèle doit être enregistré dans UC et exécuté avec un processeur CPU
- La taille maximale de l’environnement du modèle est de 1 Go
Utilisation de déploiements optimisés sans serveur
Lors de l'enregistrement et de l’inscription d’un modèle, utilisez un notebook serverless avec le client 3 ou 4 et mlflow>=3.1.
Pour ajuster la version du client de l’environnement serverless, consultez Configurer l’environnement serverless.
Ensuite, lors de l’inscription d’un modèle, définissez le env_pack paramètre avec les valeurs souhaitées.
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")
)
En ajoutant le paramètre env_pack, la fonction emballera et préparera les artefacts du modèle ainsi que l'environnement de notebook sans serveur lors de l'enregistrement du modèle afin de le préparer pour l'utilisation pendant le déploiement. Cela peut prendre du temps supplémentaire par rapport à l’inscription du modèle sans env_pack.
EnvPackConfig a un paramètre install_dependencies (True par défaut) qui détermine si les dépendances du modèle sont installées dans l’environnement actuel pour confirmer que l’environnement est valide. Si vous souhaitez ignorer cette étape, définissez la valeur Falsesur .
Note
Les points de terminaison dans les espaces de travail sans accès à Internet ou les points de terminaison avec des dépendances sur les bibliothèques personnalisées peuvent échouer si install_dependencies à False.
Vous pouvez également remplacer EnvPackConfig(...) par "databricks_model_serving" comme un raccourci. Ceci équivaut à EnvPackConfig(name="databricks_model_serving", install_dependencies = True).
Une fois le modèle inscrit, vous pouvez déployer le modèle dans le service de modèle. Notez que le temps de déploiement est réduit et que les journaux d'événements n’indiquent plus la génération du conteneur.