Inférence de modèles dans Snowflake

Snowflake utilise deux moteurs de calcul distincts :

  • L’entrepôt (moteur SQL)

  • Service de conteneurs Snowpark

Le registre des modèles de Snowflake fournit une interface unifiée aux deux moteurs. L’environnement optimal pour vos cas d’utilisation dépend de vos exigences en matière de latence, de type de données et de mise à l’échelle. Snowflake propose les approches suivantes pour vos workflows d’inférence :

Inférence en temps réel (API REST : conçu pour les cas d’utilisation à faible latence et en temps réel. Les demandes sont simplifiées via les points de terminaison HTTP et sont idéaux pour le fonctionnement des applications externes.

Inférence par lots native Snowflake (SQL) : conçue pour les charges de travail par lots qui nécessitent une intégration avec l’écosystème Snowflake SQL. Par exemple, les charges de travail par lots peuvent être intégrées aux tables dynamiques, à Snowpark, à DBT et aux tâches utilisateur. Vous pouvez utiliser une fonction SQL, vous pouvez intégrer de l’intelligence directement dans vos pipelines de données existants sans déplacer les données ni gérer une infrastructure externe.

Inférence par lots basée sur les tâches : cette approche est conçue pour un traitement distribué à haut débit, où l’inférence est traitée comme une étape de calcul autonome. En découplant l’inférence du moteur SQL, vous pouvez optimiser à la fois le prix et les performances. Vous pouvez utiliser l’inférence par lots pour vous aider à gérer des ensembles de données volumineux ou à naviguer dans des exigences de calcul complexes. Cette fonction est idéale pour traiter des fichiers, tels que des images, des vidéos et des sons, directement depuis les zones de préparation de Snowflake.

Quand choisir

Utilisez le tableau suivant pour aligner vos exigences spécifiques de charge de travail avec le modèle de calcul correct.

Fonctionnalité

Inférence en temps réel (SPCS)

Inférence par lots native (SQL)

Traitement par lot basé sur les tâches (SPCS)

Objectif principal

Réponses interactives : Faible latence, avec un retour en moins d’une seconde pour les utilisateurs en temps réel.

Intelligence en ligne : Intégration transparente des modèles dans les pipelines de données SQL.

Traitement autonome : Calcul à grande échelle et découplé pour les données non structurées.

Mieux adapté pour…

• Web/Mobile app backends.
• Real-time user interactions.
• High-concurrency request spikes.
• Upstream pipelines (Dynamic Tables, Snowpark).
• SQL-first users (Analysts/DEs).
• Tools like dbt.
• Processing files (Images, Video, Audio).
• Large-scale historical backfills.
• Multi-modal data processing.

Source de données

Petites entrées transmises via la charge utile HTTP.

Données résidant dans les tables Snowflake.

Données résidant dans les zones de préparation (fichiers) Snowflake.

Évolutivité

Mise à l’échelle automatique horizontale pour répondre au volume des requêtes.

Mise à l’échelle sans serveur via des entrepôts virtuels.

Traitement distribué à haut débit pour les données en masse.

Avantage clé

Complexité zéro Ops : Snowflake gère automatiquement l’orchestration des conteneurs, l’entrée et la mise à jour des correctifs de sécurité.

Aucune infrastructure : Traitez votre modèle comme une fonction SQL native.

Optimisation des coûts : Efficacité significative pour les zones de préparation de calcul distinctes et de haut volume.