Exemples de workflows¶
Cette page fournit des exemples de workflows pour déployer des modèles de machine learning pour l’inférence en temps réel à l’aide des Snowpark Container Services (SPCS). Chaque exemple illustre le cycle de vie complet de l’enregistrement du modèle au déploiement et à l’inférence.
Cela inclut :
Comment créer des services, faire des prédictions et accéder à des modèles via les points de terminaison HTTP.
Comment utiliser différentes architectures de modèle (XGBoost, Hugging Face transformers, PyTorch) et options de calcul (CPU et GPU).
Déployer un modèle XGBoost pour une inférence alimentée par CPU¶
Le code suivant :
Déploie un modèle XGBoost pour l’inférence dans SPCS.
Utilise le modèle déployé pour l’inférence.
Appel via HTTP (application externe)¶
Étant donné que l’entrée est activée sur ce modèle (ingress_enabled=True), vous pouvez appeler son point de terminaison HTTP public. L’exemple suivant utilise un PAT stocké dans la variable d’environnement PAT_TOKEN pour s’authentifier auprès d’un point de terminaison public Snowflake :
Déployer un transformateur de phrases Hugging Face pour inférence alimentée par GPU¶
Le code suivant entraîne et déploie un transformateur de phrases Hugging Face, y compris un point de terminaison HTTP.
Cet exemple nécessite le paquet sentence-transformers, un pool de calcul GPU et un référentiel d’images.
Dans SQL, vous pouvez appeler la fonction de service comme suit :
De même, vous pouvez appeler son point de terminaison HTTP comme suit.
Déployer un modèle PyTorch pour l’inférence alimentée par GPU¶
Pour un exemple d’entraînement et de déploiement d’un modèle de recommandation d’apprentissage profond (DLRM) PyTorch dans SPCS pour une inférenceGPU, voir ce démarrage rapide (`)<https://quickstarts.snowflake.com/guide/snowpark-container-services-model-serving-guide/>`__
Déployer un modèle de modélisation ML Snowpark¶
Les modèles développés à l’aide des classes de modélisation ML Snowpark ne peuvent pas être déployés dans des environnements dotés d’un GPU. Pour contourner le problème, vous pouvez extraire le modèle natif et le déployer. Par exemple :