Les possibilités de Snowflake ML permettent de vous approprier un environnement de développement ML intégré très simplement, et cela, via les différentes annonces non exhaustives suivantes :
Notebooks
Snowflake Notebooks, en private preview, offre l’environnement de programmation cellulaire et interactif directement intégré dans Snowsight. Pour accélérer l’ensemble du workflow de ML (Snowpark ML) et AI (Cortex), les utilisateurs (développeurs, analystes…) pourront désormais écrire et exécuter leurs codes, entraîner et déployer des modèles ou encore inclure des éléments interactifs et visuels avec Streamlit.
Cet environnement étant directement intégré, il répond à la plateforme sécurisée et unifiée de Snowflake tout en s’appuyant sur les règles du RBAC. De plus, il est possible de se synchroniser avec Git et de planifier ses notebooks pour exécuter des pipelines automatisés !
![notebook snowflake data cloud summit](https://www.decideom.fr/assets/uploads/2024/07/notebook.avif)
![panda API Snowflake](https://www.decideom.fr/assets/uploads/2024/07/panda.png)
Snowpark Pandas API
Extension de Snowpark API, cette nouveauté ajoute le support de l’usage des dataframes Pandas, permettant aux développeurs Python de travailler avec les mêmes syntaxes qu’ils connaissent et apprécient tout en bénéficiant de la performance, gouvernance et flexibilité de Snowflake.
Cortex ML Functions
Pas moins de 4 fonctions ML ont été intégrées dans une optique d’usage très simple pour les non data scientist :
- Forecasting : processus utilisant des données historiques en entrée afin d’établir la prévision dans un horizon temporel donné. Intègre la prise en compte automatique de saisonnalité ou données manquantes.
- Anomaly detection : identifie les variations inattendues du comportement normal d’un ensemble de données et alerte ou aide à retrouver des situations qui ne devraient pas arriver ou devraient être exclues.
- Classification : processus en plusieurs étapes permettant de trier des données en différentes catégories.
- Contribution Explorer : Identifie rapidement les causes ou ce qui contribue à un changement, variation, de comportement.
Snowflake AI & ML Studio guide l’utilisateur (Data Scientist, Data Analyst ou même Business User) pas à pas sur l’usage de ces fonctionnalités.
Intégration Git-CI/CD Pipelines
Il était possible de créer des pipelines Python via VSCode et son extension pour bénéficier de Git, on peut désormais développer directement en utilisant Snowflake Notebook comme vu précédemment, mais également éditer, exécuter et collaborer avec Git.
Plus globalement, il est désormais possible d’utiliser les APIs Python et les commandes CLI pour gérer et exécuter les objets Snowflake (Notebooks, Stored procs, Functions & etc.) de Git en utilisant simplement la fonction dédiée.
En résumé, toutes les étapes d’une pipeline Python sont couvertes
- Création : Notebooks, VS Code, Streamlit
- Transformation : Snowpark Panda API, UDAF, …
- Orchestration : Tasks pour Python, Serverless Tasks Flex ou pour Python/JVM
- DevOps: Snowflake CLI, intégration Git, Snowflake Trail, Database Change Management
![Snowflake Trail, Data Cloud Summit](https://www.decideom.fr/assets/uploads/2024/07/trail.avif)
Observabilité avec Snowflake Trail
Bien sûr, la puissance n’est rien sans le contrôle, c’est pourquoi un panel de fonctionnalités a été ajouté pour permettre aux développeurs un meilleur monitoring, suivi, débug sur les pipelines, apps et usages de “compute” via une télémétrie, events, logs. Tout ça dans le but de réduire le Time To Detect et le Time To Resolution.
Consultable sur l’UI Snowsight directement ou bien en BYOT avec un outil comme Datadog par exemple.