Snowpark Container Services : déployez et exécutez en toute sécurité des applications sophistiquées d’IA générative et à pile complète dans Snowflake
Approche moderne émergente, les conteneurs permettent de créer un package de code dans n’importe quel langage afin d’en assurer la portabilité et la cohérence entre les environnements, notamment pour les modèles d’IA/de ML sophistiqués et les applications riches en données à pile complète. Ces types de produits de données modernes gèrent souvent un volume important de données propriétaires. Créer, développer et exécuter ces charges de travail à grande échelle s’avère généralement complexe, obligeant ainsi les développeurs et data scientists à passer plus de temps à gérer le calcul et les clusters pour ces applications au lieu de se concentrer sur le problème opérationnel. De plus, étant donné que les applications à pile complète et les LLM ne peuvent pas s’exécuter directement là où les données sont gouvernées, il est difficile, voire presque impossible, de gérer la sécurité des données utilisées dans ces scénarios.
Pour rapprocher des données les applications à pile complète, les LLM et d’autres produits de données sophistiqués, le tout de manière simple et sécurisée, nous lançons Snowpark Container Services en private preview. Cet environnement d’exécution Snowpark supplémentaire permet aux développeurs de facilement déployer, gérer et faire évoluer les charges de travail conteneurisées (tâches, services, fonctions de service) à l’aide d’une infrastructure sécurisée gérée par Snowflake proposant des options matérielles configurables (processeurs graphiques, par exemple).
Grâce à ce nouvel environnement d’exécution, les utilisateurs n’ont plus à se soucier des opérations complexes de gestion et de maintenance du calcul et des clusters pour les conteneurs. Les conteneurs s’exécutent dans Snowflake. Il est donc inutile de déplacer les données gouvernées hors de Snowflake (les exposant alors à des risques de sécurité supplémentaires) pour les utiliser dans le cadre des applications et modèles d’IA/de ML les plus sophistiqués, qu’ils soient développés en interne ou par des fournisseurs tiers, disponibles en tant qu’applications natives Snowflake installables depuis la Marketplace Snowflake.
Présentation de SnowparkContainerServices
Langage de programmation et flexibilité matérielle
Les conteneurs créés et empaquetés par des développeurs à l’aide des outils de leur choix peuvent inclure du code dans n’importe quel langage de programmation (C/C++, Node.js, Python, R, React, etc.) et peuvent être exécutés à l’aide d’options matérielles configurables (processeurs graphiques, par exemple). Cette flexibilité en matière de langage de programmation et de matériel élargit encore davantage la portée des charges de travail relatives à l’IA/au ML et aux applications rapprochées des données Snowflake via Snowpark.
Par exemple, les équipes de data science peuvent accélérer l’exécution des bibliothèques Python de machine learning (ML) utilisées dans les tâches de formation et d’inférence. Elles peuvent également exécuter des outils d’IA générative gourmands en calcul, tels que de grands modèles de langage (LLM). Les développeurs d’applications peuvent créer et déployer des interfaces utilisateur front-end à l’aide du langage React et autres frameworks de développement Web populaires. Les data engineers peuvent exécuter une logique optimisée, généralement écrite en C/C++, dans le même moteur de traitement qui exécute les opérations SQL ou Python DataFrame.
Lors du lancement de Snowpark en 2020, Snowflake a introduit un moyen sécurisé de déployer et de traiter du code Python, Java et Scala dans Snowflake via un ensemble de bibliothèques et d’environnements d’exécution, notamment des fonctions définies par l’utilisateur (UDF) et des procédures stockées. Snowpark Container Services est une nouvelle façon de donner vie à la vision Snowpark, qui consiste à offrir aux développeurs une solution fiable, efficace et familière pour traiter facilement tout code non-SQL dans la limite des données gouvernées de Snowflake. Comme pour le reste de Snowpark, il est possible d’accéder au code et à la logique, et de les intégrer, via toute expérience Snowflake. Les utilisateurs peuvent écrire, dans le langage de programmation SQL, Python, Java ou Scala, des requêtes de données qui traitent les données via des conteneurs exécutés dans Snowpark Container Services.
Services entièrement gérés et unifiés
Snowpark Container Services assure une expérience unifiée simple pour le cycle de vie de bout en bout des modèles d’IA/de ML et des applications en conteneur. D’autres solutions exigent que vous combiniez manuellement un registre de conteneurs, un service de gestion des conteneurs et un service de calcul, mais aussi que vous gériez vos propres outils à des fins d’observabilité, de connectivité des données, de sécurité, etc.
Restant fidèle à la philosophie de Snowflake qui vise à garantir que la plateforme fonctionne, tout simplement, Snowpark Container Services réunit toutes les fonctions nécessaires et vous évite de devoir gérer le calcul et la maintenance des clusters pour accélérer le développement et la commercialisation des applications de données. Ainsi, Snowpark Container Services simplifie et stimule l’hébergement et la gestion des conteneurs pour les développeurs, qui doivent seulement fournir leurs conteneurs. Snowflake les gérera et les hébergera à grande échelle sans avoir à assimiler les complexités de Kubernetes.
Pour faciliter l’accès aux conteneurs, les développeurs peuvent utiliser SQL, CLI ou Python comme interface de programmation. Pour prendre en charge un large éventail de charges de travail, Snowpark Container Services compte trois options d’exécution :
- Tâches : processus de durée limitée déclenchés manuellement au cas par cas ou dans le cadre d’un processus planifié. Exemples courants : images de conteneurs utilisées pour démarrer une formation ML sur des processeurs graphiques ou toute étape d’un pipeline de données susceptible d’exécuter n’importe quel langage, framework ou bibliothèque à l’intérieur d’un conteneur.
- Fonctions de service : processus de durée limitée qui acceptent des entrées, exécutent des actions et peuvent être déclenchés plusieurs fois par un événement soutenu par vos conteneurs.
- Services : processus à long terme avec des points de terminaison d’entrée sécurisés qui hébergent généralement une application front-end ou une API et qui doivent être toujours disponibles pour les requêtes à la demande.
Rapprochez les applications et logiciels tiers sophistiqués des données
Il est possible d’utiliser Snowpark Container Services en tant qu’application native Snowflake pour permettre aux développeurs de distribuer des applications sophistiquées qui s’exécutent entièrement dans le compte Snowflake de leurs clients finaux. Pour les clients Snowflake, cela signifie qu’ils peuvent installer et exécuter en toute sécurité des produits de pointe (notebooks hébergés et LLM, par exemple) dans leur compte Snowflake de manière à protéger la propriété intellectuelle du fournisseur.
- Hex. Les équipes de data science peuvent accélérer leurs analyses et la data science à l’aide de Snowpark Container Services pour déployer Hex, une plateforme d’analyse collaborative et de data science, pour interroger et traiter leurs données avec SQL, R et Python, et pour exécuter toute formation de machine learning sur des processeurs graphiques, le tout en s’assurant que leurs données ne quittent jamais le compte Snowflake du client. Visionnez la vidéo de démo et inscrivez-vous sur la liste d’attente pour déployer Hex dans Snowflake.
- Fournisseurs de LLM. Les entreprises peuvent ajouter des modèles d’IA générative de pointe dans leur compte Snowflake en tant qu’applications natives Snowflake, protégeant ainsi pleinement la propriété intellectuelle du fournisseur et les données du client. Pour ceux qui utilisent un fournisseur tel que AI21 Labs, Reka ou NVIDIA (framework NeMo, partie intégrante de la plateforme logicielle NVIDIA AI Enterprise), le poids des LLM et toute autre propriété intellectuelle ne sont pas exposés au client de l’application, car la logique dans l’application native Snowflake n’est pas accessible. Étant donné que le LLM s’exécute dans le compte du client final, les données d’entreprise gouvernées utilisées à des fins d’optimisation ou pour toute autre interaction avec le LLM ne sont jamais exposées au développeur. Voyez cela en action dans la démo de la présentation du Snowflake Summit 2023.
Ce nouvel environnement d’exécution Snowpark développe et renforce l’écosystème de partenaires Snowpark Accelerated. Il exploite la puissante plateforme de Snowflake pour améliorer l’expérience des équipes techniques et commerciales via les applications et services intégrés de nos partenaires qui rapprochent les processus de traitement des données gouvernées.
- Alteryx. Créez un flux de travail dans Alteryx Designer en choisissant parmi plus de 160 outils compatibles avec le code et sans code pour résoudre un problème d’analyse avancée (création d’un modèle prédictif pour prévoir la demande, par exemple). Chargez le flux de travail sur la plateforme Alteryx Analytics Cloud et exécutez la logique dans Snowpark Container Services.
- Astronomer. Utilisez Apache Airflow pour organiser plus efficacement les pipelines de données complexes et puissants (planification avancée, alerte, surveillance, ramification complexe, logique de nouvelle tentative, etc.) en ajoutant un code aux données sans gestion des dépendances, ni restrictions de calcul spécialisées.
- Dataiku. Déployez dans Snowpark Container Services des modèles entraînés dans Dataiku en tant que service d’inférence évolutif. Avec une application Web, Dataiku peut intégrer des fonctionnalités au modèle et recevoir immédiatement des prévisions de Snowpark Container Services.
- NVIDIA. Les processeurs graphiques NVIDIA serviront de couche d’infrastructure accélérée pour Snowpark Container Services, assurant ainsi un calcul plus efficace, plus performant et plus rentable pour les clients Snowflake.
- SAS. Utilisez SAS® Viya® pour tout développement de modèles et toute formation à la prise de décision à l’aide de données dans Snowflake en publiant le meilleur modèle sur Snowpark Container Services via SAS Container Runtime, un conteneur conforme OCI qui assure un prototypage rapide et un déploiement en toute simplicité.
Il existe de nombreuses autres solutions de partenaires intégrées à Snowpark Container Services, notamment les suivantes : bases de données conçues à cet effet (RelationalAI, Pinecone, CARTO), ML et opérations de machine learning (H2O.ai, Kumo AI, Weights & Biases) et applications entières (Amplitude).
L’avenir de Snowpark Container Services
Snowpark Container Services ouvre la voie à une nouvelle ère de développement d’applications, vous permettant d’ajouter tout ce que vous voulez à Snowflake. Mais nous avons d’autres ambitions pour ce nouvel environnement d’exécution Snowpark, notamment réaliser la vision consistant à proposer des applications natives Snowflake avec des images de conteneurs via la Marketplace Snowflake.
Pour en savoir plus sur Snowpark Container Services, veillez à vous inscrire ici.