Déploiements express pour les Endpoint de service de modèle
Cet article décrit comment utiliser les déploiements express sur vos endpoints de déploiement de modèles. Les déploiements express réduisent considérablement les temps de déploiement et maintiennent l'environnement de déploiement de modèles identique à l'environnement d'entraînement de modèles.
Les déploiements Express étaient auparavant appelés déploiements optimisés Serverless.
Que sont les déploiements express ?
Les déploiements express tirent parti de l'empaquetage et de la mise en scène des artefacts de modèle dans des environnements de notebook serverless lors de l'enregistrement du modèle, ce qui accélère le déploiement des endpoints et assure des environnements cohérents entre l'entraînement et le service.
Cela diffère des déploiements non express, où les artefacts de modèle et les environnements sont packagés dans des conteneurs au moment du déploiement. Dans de tels cas, l'environnement de service peut ne pas correspondre à celui utilisé pendant l'entraînement du modèle.
Exigences
Les Endpoint de déploiement Express ont les mêmes exigences que les Endpoint de service de modèles (voir Exigences). De plus :
- Le modèle doit être un modèle personnalisé (pas FMAPI)
- Le modèle doit être enregistré et inscrit dans un Notebook Serverless en utilisant la version 3 ou 4.
- Le modèle doit être journalisé et enregistré avec
mlflow>=3.1etdatabricks-sdk>=0.102.0 - Le modèle doit être enregistré dans Unity Catalog. Le compute de diffusion doit correspondre au compute à partir duquel le modèle a été enregistré. Vous pouvez vous inscrire à partir d'un Notebook serverless standard pour servir sur CPU, ou à partir d'un compute GPU serverless pour servir sur GPU.
- La taille maximale de l'environnement du modèle est de 200 Go
Pour servir un LLM personnalisé sur compute GPU en utilisant des déploiements express, consultez Servir des LLM personnalisés avec un Model Serving personnalisé.
Utilisation des déploiements rapides
Lors de la journalisation et de l’enregistrement d’un modèle, utilisez un Notebook Serverless avec le client 3 ou 4 et mlflow>=3.1.
Pour ajuster la version client de l'environnement Serverless, consultez configurer l'environnement Serverless.
Ensuite, lors de l'enregistrement d'un modèle, définissez le paramètre env_pack 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=EnvPackConfig(name="databricks_model_serving")
)
L'ajout du paramètre env_pack permettra à la fonction de packager et de préparer les artefacts du modèle et l'environnement de notebook Serverless lors de l'enregistrement du modèle, afin de le rendre prêt à l'emploi pendant le déploiement. Cela peut prendre plus de temps comparé à l'enregistrement du modèle sans env_pack.
EnvPackConfig dispose d'un paramètre install_dependencies True (default) 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 sur False.
Les Endpoints dans les workspaces sans accès à Internet ou les endpoints avec des dépendances sur des bibliothèques personnalisées peuvent échouer si install_dependencies est défini sur True. Dans ces cas, définissez install_dependencies sur False.
Vous pouvez également remplacer EnvPackConfig(...) par "databricks_model_serving" comme abréviation. Cela équivaut à EnvPackConfig(name="databricks_model_serving", install_dependencies = True).
Une fois l'enregistrement du modèle terminé, vous pouvez déployer le modèle dans le service de modèles. Notez que le temps de déploiement est réduit et que les logs d'événements n'indiquent plus de build de conteneur.