Utilisez les modèles de machine learning de Snowflake dans une Snowflake Native App

Cette rubrique décrit comment utiliser un modèle Snowflake ML dans une Snowflake Native App. Elle décrit également comment appeler les fonctions Snowflake Cortex à partir d’une application.

Aperçu de l’utilisation de Snowpark ML dans une Snowflake Native App

Snowflake ML est un ensemble intégré de capacités pour le machine learning de bout en bout dans une plateforme unique au-dessus de vos données gouvernées. Vous pouvez utiliser cette fonctionnalité dans une Snowflake Native App.

Snowflake Native App Framework prend en charge les cas d’utilisation suivants :

  • Les fournisseurs incluent un algorithme d’entraînement dans l’application, mais le modèle entraîné n’est pas inclus. Les fournisseurs incluent le code source du modèle, par exemple la régression linéaire ou la régression logistique, dans l’application.

    Une fois l’application installée, l’entraînement se fait sur les données du compte du consommateur, par exemple en appelant la méthode fit() du modèle.

    Pour plus d’informations, voir Créer, entraîner et utiliser un modèle Snowflake ML dans une application.

  • Les fournisseurs partagent les données avec le consommateur et incluent un algorithme d’entraînement dans l’application. Après l’installation, l’application entraîne le modèle sur la base des données du compte du consommateur qui ont été partagées avec l’application.

    Pour plus d’informations, voir Créer, entraîner et utiliser un modèle Snowflake ML dans une application.

  • Les fournisseurs forment un modèle basé sur les données de leur compte et incluent ces modèles dans l’application. Lorsque l’application est installée, les consommateurs peuvent utiliser le modèle directement, par exemple en appelant la méthode :predict() du modèle.

    Pour plus d’informations, voir Inclure un modèle formé dans une application.

Limites de l’utilisation de Snowflake ML dans une application

Les limites suivantes s’appliquent lors de l’utilisation de Snowflake ML dans une application :

  • Seuls les modèles basés sur les entrepôts sont actuellement pris en charge.

  • Les fournisseurs doivent utiliser le Snowflake Model Registry pour partager des modèles avec les consommateurs. Les fonctions Snowpark ML comme fit() stockent les résultats dans une zone de préparation temporaire qui n’est pas prise en charge pour Snowflake Native Apps.

  • Il existe des limites relatives aux algorithmes de machine learning qui peuvent être exécutés dans un environnement sandbox Snowpark au sein d’un entrepôt. Les cadres de machine learning plus complexes tels que TensorFlow ou PyTorch ne peuvent pas être exécutés dans ces environnements sandbox.

  • L’entraînement effectué sur l’ensemble de données d’un fournisseur peut ne pas produire un modèle suffisamment efficace pour les données d’un consommateur. L’entraînement d’un modèle sur les données d’un consommateur peut donner de meilleurs résultats.

Appel de fonctions Snowflake Cortex à partir d’une application

Pour appeler une fonction Snowflake Cortex à partir d’une application, les consommateurs doivent d’abord accorder le rôle de base de données CORTEX_USER à l’application, comme dans l’exemple suivant :

GRANT DATABASE ROLE SNOWFLAKE.CORTEX_USER TO APPLICATION my_app;
Copy

Note

Les fournisseurs doivent mentionner dans le listing d’une application que les consommateurs doivent accorder le rôle de base de données CORTEX_USER.

Le rôle de base de données CORTEX_USER dans la base de données SNOWFLAKE comprend les privilèges qui permettent aux utilisateurs d’appeler les fonctions LLM Cortex de Snowflake. Voir Snowflake Cortex AISQL (y compris les fonctions LLM) pour plus d’informations.

Après que les consommateurs ont attribué ce rôle à l’application, celle-ci peut appeler les fonctions Snowflake Cortex, comme dans l’exemple suivant :

SELECT SNOWFLAKE.CORTEX.TRANSLATE('La plateforme unique de Snowflake élimine les silos de données!','fr','en');
Copy