Interface utilisateur de Snowflake Model Registry

Note

Modeling Registry Snowsight UI est généralement disponible dans tous les déploiements.

L’UI du service d’inférence pour le service du modèle SPCS est disponible en prévisualisation dans les déploiements commerciaux AWS, Azure et GCP uniquement.

Sur la page Models dans Snowsight, vous trouverez tous vos modèles de machine learning. Vous pouvez également voir leurs métadonnées et leurs déploiements.

Détails du modèle

La page Models affiche les modèles que vous avez créés et connectés à Snowflake Model Registry, ou qui ont accès aux modèles via les privilèges USAGE ou READ. Ce sont les deux modèles qui ont été développés avec Snowpark ML et des modèles provenant de sources externes (tels que les modèles de Hugging Face). Elle montre aussi les modèles Cortex Fine-tuned et peut inclure d’autres types de modèles que vous pourrez créer dans Snowflake dans les futures versions.

Pour afficher la page Modèles, dans le menu de navigation, sélectionnez AI & ML » Models. La liste obtenue contient tous les modèles du Snowflake Model Registry dans toutes les bases de données et tous les schémas auxquels votre rôle actuel a accès.

La page Modèles, affichant une liste des modèles de machine learning disponibles

Note

Si vous ne voyez aucun modèle, assurez-vous que votre rôle dispose des privilèges requis.

Pour ouvrir la page de détails d’un modèle, cliquez sur la ligne correspondante dans la liste Models. La page de détails, illustrée ici, affiche des informations clés sur le modèle, notamment sa description, ses balises et ses versions.

Une page de détails sur le modèle, affichant des informations clés sur le modèle

Pour modifier la description du modèle ou supprimer le modèle, sélectionnez dans le coin supérieur droit.

Pour ouvrir la page de détails de la version, sélectionnez une version de modèle. Cette page affiche les métadonnées de la version du modèle, telles que les métriques, et une liste des méthodes disponibles qui peuvent être appelées à partir de Python ou de SQL.

Une page de détails sur la version du modèle, affichant des informations sur la version du modèle

Pour afficher le code qui appelle la fonction de modèle, sélectionnez le lien SQL ou Python à côté. Vous pouvez copier cet extrait de code dans une feuille de calcul Snowsight SQL ou un notebook Python.

Une page de détails sur la version du modèle, affichant le code permettant d'appeler la fonction du modèle

Pour ajouter ou modifier des métadonnées ou pour supprimer la version du modèle, sélectionnez le bouton dans le coin supérieur droit.

L’onglet Files contient une liste des artefacts sous-jacents de la version du modèle. Vous pouvez télécharger des fichiers individuels à partir de cette page. Cette page n’est disponible que si l’utilisateur a un privilège OWNERSHIP ou READ sur le modèle.

L'onglet Fichiers de la page de détails des versions du modèle, affichant une liste des artefacts du modèle

L’onglet Lineage affiche les informations complètes sur le lignage de flux de données du modèle, y compris les ensembles de données qui ont été utilisés pour entraîner le modèle, les vues de fonctions du magasin de fonctions et les tables de données source.

L'onglet Lignage de la page de détails des versions du modèle, affichant le lignage du modèle

Déployer des modèles d’utilisateur

Vous pouvez déployer des modèles dans SPCS Model Serving directement à partir de la page Model Registry.

Note

Snowflake Model Registry ne prend en charge que le déploiement de modèles d’utilisateurs dans SPCS Model Serving.

Pour déployer un modèle, procédez comme suit :

  1. Sélectionnez un modèle dans la liste des modèles.

  2. Dans la page des détails du modèle, accédez à la section Versions.

  3. Pour ouvrir la page de détails de la version, sélectionnez une version du modèle dans la liste des versions.

  4. Dans la page des détails de la version, sélectionnez le bouton Deploy.

  5. Dans le volet ouvert, saisissez un nom pour le service à déployer.

  6. Sélectionnez s’il faut créer un point de terminaison REST API pour le service déployé.

  7. Sélectionnez un pool de calcul pour le service déployé.

  8. (Facultatif) Pour personnaliser les performances et l’utilisation des ressources , vous pouvez ajuster des détails tels que le nombre de travailleurs, le CPU, et la mémoire, à partir des paramètres avancés.

  9. Sélectionnez Deploy.

    Le processus de déploiement peut prendre jusqu’à 15 minutes pour créer le service.

Une fois le déploiement terminé, le service est affiché sur l’onglet Inference Services sur la page principale du registre de modèles.

Importer et déployer des modèles à partir d’un service externe

Note

Actuellement, seul Hugging Face est pris en charge en tant que fournisseur de modèles.

Vous pouvez importer des modèles pré-entraînés à partir d’un fournisseur externe et les déployer en tant que services Snowflake pour l’inférence. Pour importer un modèle externe, procédez comme suit :

  1. Dans le menu de navigation, sélectionnez AI & ML » Models.

  2. Sélectionnez Import model.

    La boîte de dialogue Import model s’ouvre.

  3. Dans le champ Model handle, saisissez l’identifiant du modèle auprès de votre fournisseur ou sélectionnez-en un dans la liste des modèles vérifiés par Snowflake.

  4. Dans la liste Task, sélectionnez la tâche que le modèle effectuera.

  5. Facultatif : Pour activer le téléchargement de code Python personnalisé à partir du référentiel de modèles, sélectionnez la case à cocher Trust remote code.

    Avertissement

    Permettre aux modèles de télécharger du code arbitraire doit être considéré comme un risque pour la sécurité. Autorisez uniquement le code distant des modèles que vous avez soigneusement évalués et auxquels vous faites confiance à s’exécuter sur Snowflake.

  6. Optional: To import a gated model, enter the name of the Snowflake secret for your Hugging Face token in the Hugging Face token secret field.

    Your Hugging Face token secret should be a generic text secret, with your Hugging Face token as a value. For information on how to create a generic text secret, see CREATE SECRET.

  7. Facultatif : Développez Advanced settings :

    1. Pour effectuer une conversion de jeton d’entrée et de sortie pour votre modèle, dans le champ Tokenizer model, saisissez un modèle de jeton.

    2. Pour ajouter un hyperparamètre, sélectionnez Add parameter, puis saisissez un nom et une valeur reconnus par le modèle.

  8. Dans le champ Model name, saisissez un nom à utiliser dans le registre des modèles de Snowflake.

  9. Dans le champ Version name, saisissez une version à enregistrer.

  10. Dans la liste Database and schema, sélectionnez une base de données à laquelle lier ce modèle.

  11. Facultatif : Développez Advanced settings :

    1. Pour ajouter des exigences pip à l’environnement d’exécution du modèle, sélectionnez Add Pip requirement, puis ajoutez un pip spécificateur d’exigences pour votre paquet. Seuls les paquets fournis par PyPi sont pris en charge.

    2. Dans le champ Comment, saisissez toute information utile sur le modèle.

  12. Sélectionnez Continue to deployment.

    La boîte de dialogue Deploy (model handle) s’ouvre.

Pour déployer votre modèle, procédez comme suit :

  1. Dans le champ Service name, saisissez un nom sous lequel le service sera exécuté.

    Snowflake fournit un nom par défaut basé sur le nom et la version du modèle.

  2. Facultatif : Pour modifier la création automatique d’un point de terminaison API pour le service de votre modèle, sélectionnez ou désélectionnez Create REST API endpoint.

  3. Dans la liste Compute pool, sélectionnez un pool de calcul existant sur lequel le service doit être exécuté.

  4. Facultatif : Ajustez le nombre d’instances du pool de calcul sur lesquelles le service s’exécute.

    Le nombre maximum est limité par le nombre de nœuds de votre pool de calcul.

  5. Facultatif pour pools de calcul CPU : Pour fournir des détails sur les ressources disponibles du service dans le pool de calcul, développez Advanced settings :

    • Number of workers

    • Max batch rows

    • CPU : Le nombre de cœurs virtuels, en milliunités

    • GPU : Le nombre de GPUs physiques (Obligatoire pour les pools de calcul GPU)

    • Memory : La quantité de mémoire maximale disponible

  6. Pour importer le modèle et créer le service par lequel les utilisateurs accèdent à votre modèle, sélectionnez Deploy.

    Vous pouvez également annuler l’importation du modèle ou revenir aux détails du modèle.

Une fois le déploiement démarré, une boîte de dialogue affiche un Query ID. Cette requête crée les tâches nécessaires à l’importation du modèle et au déploiement de votre service ; ce n’est pas une requête pour surveiller l’une ou l’autre tâche.

  1. Effectuez au choix :

    • Pour ignorer la boîte de dialogue, sélectionnez Done.

    • Pour surveiller la requête, sélectionnez Open query monitoring.

Snowflake effectue les actions suivantes pour votre déploiement de modèles et de services :

  • Télécharge les fichiers requis à partir de votre fournisseur.

  • Importe et connecte le modèle à votre registre de modèles.

  • Crée une image de conteneur spécifique au modèle dans laquelle votre service peut être exécuté.

  • Déploie l’image du modèle en tant que service.

Note

Le temps que Snowflake prend pour effectuer ces opérations dépend de plusieurs facteurs, notamment de la taille du modèle, des ressources de calcul disponibles et de la configuration du réseau.

Si une erreur se produit lors du déploiement, recherchez la requête SQL associée pour en savoir plus. Dans le menu de navigation, sélectionnez Monitoring » Query History pour trouver votre requête de déploiement, qui contient un appel à SYSTEM$DEPLOY_MODEL.

Surveillance du déploiement des modèles et des services

Lorsque les modèles externes sont chargés et préparés pour le déploiement, Snowflake démarre automatiquement l’enregistrement du service associé. Surveillez le déploiement en procédant comme suit :

  1. Dans le menu de navigation, sélectionnez Monitoring » Services & jobs.

  2. Dans l’onglet Jobs, sélectionnez la tâche qui correspond à l’emplacement et au pool de calcul de votre service, créé au moment où vous avez démarré l’importation.

    Cette tâche a un nom sous la forme MODEL_DEPLOY_IDENTIFIER. Chaque déploiement de service effectué par une importation de modèle crée un identificateur unique pour les tâches associées.

  3. Pour surveiller le déploiement du modèle, sélectionnez l’onglet Logs.

    Lorsque le déploiement du modèle est terminé, Snowflake démarre une tâche pour créer et déployer votre service.

  4. Revenez à l’onglet Jobs et sélectionnez la tâche nommée MODEL_BUILD_IDENTIFIER.

    Cet identificateur est le même que celui de votre tâche de déploiement de modèles.

  5. Pour surveiller la création du conteneur de service, revenez sur l’onglet Logs.

    Lorsque cette tâche est terminée, votre service est déployé et prêt.

Services d’inférence de modèles

Vous pouvez voir les services d’inférence de modèles créés avec SPCS Model Serving dans le Model Registry UI. La page principale du listing du modèle affiche le statut des services d’inférence créés pour n’importe quel modèle.

Les services d'inférence créés pour les modèles.

Si vous sélectionnez un nom de modèle et une version de modèle, vous pouvez utiliser l’onglet Inference Services dans la page de détails de la version du modèle pour voir plus de détails sur le service d’inférence déployé, ainsi que suspendre le service d’inférence. Cela affiche également la liste des fonctions que le service propose. Et vous pouvez voir ou copier l” extrait de code d’utilisation SQL ou Python.

Les versions des services d'inférence de modèles.

Sélectionnez Open Details pour afficher les paramètres du service. Pour voir plus de détails sur le service d’inférence déployé, sélectionnez. Open Service Details dans le volet des paramètres de service. Vous pouvez également accéder aux détails du service à partir de l’onglet Inference Services sur la page principale de Model Registry.

Surveillance de modèles

Pour tous les modèles auxquels sont joints des moniteurs de modèle, vous pouvez visualiser les métriques de surveillance du modèle à l’aide des moniteurs de modèle dans la page de détails du modèle.

Une page de détails sur le modèle, affichant des informations clés sur le modèle

Sélectionnez les moniteurs de modèles souhaités pour afficher le tableau de bord de surveillance :

Les moniteurs de modèles sélectionnés pour le tableau de bord.

Sélectionnez Compare pour afficher le menu de la version du modèle. Sélectionnez une deuxième version du modèle à laquelle comparer cette version du modèle :

Une comparaison entre deux versions de modèles.

La surveillance prend en charge un grand nombre de métriques de précision du modèle, de dérive du modèle et de dérive des fonctions. Pour sélectionner les mesures qui sont calculées et affichées, sélectionnez l’icône Settings pour choisir les métriques souhaitées :

Les paramètres de la page de surveillance du modèle