Efficacité et gouvernance pour les pipelines Polyglot ML

Efficacité et gouvernance pour les pipelines Polyglot ML


VEUILLEZ NOTER : Ce message a été initialement publié en mai. Il a été mis à jour en juillet pour refléter les caractéristiques et fonctionnalités actuellement disponibles.

L’apprentissage automatique (ML), plus que tout autre flux de travail, a imposé le plus de stress aux architectures de données modernes. Son succès dépend souvent de la collaboration d’équipes de données polyglottes qui assemblent des pipelines basés sur SQL et Python pour exécuter les nombreuses étapes qui se déroulent de l’ingestion de données à l’inférence de modèle ML.

Cette nature polyglotte des équipes de données est l’un des principaux obstacles à la capacité d’une organisation à opérationnaliser le flux de travail d’apprentissage automatique et à créer un retour sur investissement durable à partir de ses données.

L’empêchement polyglotte

Depuis plus d’une décennie, les professionnels des données vantent, construisent et luttent pour l’utopie de la démocratisation des données : un état futur où n’importe qui, quel que soit son rôle ou ses compétences, peut tirer parti de la puissance des données dans son travail quotidien.

Pourtant, alors que de plus en plus de personnes d’horizons divers se joignent à la conversation, il est irréaliste de s’attendre à ce qu’elles parlent toutes avec les données en utilisant le même langage de programmation. Au fil du temps, différentes langues ont émergé pour répondre aux besoins des différentes communautés. Alors que SQL a longtemps été le pilier de la transformation et de la gestion des données à grande échelle, d’autres langages comme Python ont émergé avec une flexibilité accrue dans les constructions fonctionnelles pour une plus grande expressivité ainsi qu’une extensibilité. Aujourd’hui, il existe un nombre considérable de frameworks Python pour tout simplifier, du développement d’applications à l’analyse quantitative et au ML.

Spécifiques au ML, de nombreux défis des opérations d’apprentissage automatique (MLOps) découlent directement de cet obstacle polyglotte. Souvent, l’outil le plus efficace pour une tâche particulière dans un pipeline de formation ou d’inférence complexe peut être écrit en SQL ou Python. La multitude de frameworks (par exemple, TensorFlow, Pytorch, etc.), ainsi que l’infrastructure de calcul spécialisée pour les prendre en charge, exacerbent encore plus cette complexité. Les équipes MLOps et DevOps se retrouvent avec la tâche peu enviable de créer et de maintenir des pipelines efficaces et évolutifs sur plusieurs plates-formes prenant en charge différents langages et frameworks.

L’approche multiplateforme

Différentes plates-formes ont vu le jour pour prendre en charge ces différentes langues afin de surmonter l’obstacle polyglotte. Par exemple, les plates-formes de données ont traditionnellement été le domaine des ingénieurs et des analystes de données, mais comme ces plates-formes ne répondent pas toujours aux besoins des scientifiques des données, qui nécessitent parfois des langages et des cadres différents, certains scientifiques des données choisissent de créer leurs propres plates-formes distinctes. En plus de cela, les ingénieurs ML construisent souvent leurs propres plates-formes MLOps pour prendre en charge des éléments tels que la surveillance, l’orchestration et les contrôles de version.

YWVcKhc2uo lAC9 J4L0WKEpxdJobGRW3wxx46jcuHOEZaUVFxJOaAcClC6N7PVSkFQLqFGtL8cHqF7H9mLX1oQuAfb07JPL1oxdeAxLZ6F

Plates-formes utilisées pour développer et fournir des applications alimentées par ML

Pour relier plusieurs étapes de traitement sur ces plates-formes, des frameworks tels qu’Apache Airflow et dbt ont émergé pour simplifier cette orchestration en agissant comme un hub d’intégration. Mais il reste encore le problème de ces plates-formes uniques qui ajoutent une dette technique et un risque lorsque les données sont copiées et déplacées entre elles, et jusqu’à présent, ces plates-formes n’ont pas évolué pour surmonter cet obstacle polyglotte au niveau de la couche de données.

Alors que les équipes techniques ont du mal à maintenir une infrastructure de données fragile et trop complexe en termes de langage et de charge de travail, les DSI et les CDO sont constamment confrontés à la hausse des coûts et des risques de sécurité liés aux pipelines en double et aux quantités massives de données circulant sur ces plateformes.

L’approche de la plateforme polyglotte

Étant donné que la nature polyglotte du monde des données ne changera probablement pas (pensez à l’émergence de nouveaux langages tels que Julia) et que les équipes de données continuent de se heurter aux défis et aux risques associés au déplacement des données sur des architectures multiplateformes, il devient de plus en plus évident que les plates-formes multilingues joueront un rôle vital. Plutôt que de déplacer des données sur diverses plates-formes unilingues, les plates-formes multilingues peuvent prendre en charge les besoins de traitement de plusieurs équipes et langues, réduisant ainsi la nécessité de déplacer des données en dehors de ses limites régies.

Pour rationaliser les architectures, améliorer la collaboration entre les différentes équipes et fournir une gouvernance cohérente sur toutes les données, le monde a besoin de plus de plates-formes polyglottes avec une bonne intégration transparente avec les meilleurs frameworks d’orchestration.

Snowpark : la réponse polyglotte pour les équipes data modernes

Flocon de neige introduit Snowpark en tant que cadre d’extensibilité pour créer une plate-forme polyglotte qui comble les lacunes entre les ingénieurs de données, les scientifiques des données, les ingénieurs ML, les développeurs d’applications et les équipes MLOps et DevOps qui les soutiennent.

D’abord avec le support des langages les plus populaires tels que Java, Scala et JavaScript, Snowpark permet de simplifier les architectures tout en réduisant les coûts et les risques de gouvernance liés à la duplication des données. Snowpark permet aux utilisateurs de parler à leurs données dans la langue de leur choix tout en tirant parti des performances, de l’évolutivité, de la simplicité, de la sécurité et de la gouvernance qu’ils attendent de Snowflake. Mieux encore, Snowpark a été conçu pour faciliter l’intégration de fonctions personnalisées écrites dans d’autres langages dans le cadre d’une requête SQL ou d’une étape de traitement.

Et maintenant, Snowpark pour Python (en avant-première publique) l’amène à un tout autre niveau en embrassant une communauté massive de développeurs, d’ingénieurs de données, de scientifiques des données et d’ingénieurs ML. Sans surprise, Snowpark pour Python expose également une surface indispensable pour l’intégration avec les frameworks d’orchestration, et le Partenariat Snowflake avec Anaconda permet d’exploiter un vaste écosystème de frameworks, notamment TensorFlow, Pytorch, Keras et bien d’autres.

Apache Airflow : un cadre d’orchestration pour un flux de travail multilingue

Simultanément, Astronomer et la communauté Airflow continuent d’ajouter une excellente prise en charge de Python, y compris l’API Taskflow dans Airflow 2.0. Taskflow fournit une interface pythonic confortable pour les équipes de données, tout en renforçant les bonnes pratiques de développement logiciel. En conjonction avec Snowpark, Taskflow permet de définir facilement non seulement des transformations de données complexes en Python, mais également d’intégrer des tâches non SQL telles que ML dans un DAG, sans déplacement de données.

xdyY1T9BBjozFF49hmhTmr04cfE5mQtnjgH3P7bixeP1Pn7KKoykT9A4ghBXPmW6Zeiq97Bi 5u1FslHDzEyuYr s43lA JdTFxmkJweapjOrMJ9iHwkUGetGVFnnXxRWE

Snowpark et Airflow permettent aux équipes de données d’exécuter des pipelines entiers à partir d’ELT, d’ingénierie de fonctionnalités, d’expérimentation, de formation de modèles, d’inférence, de surveillance et même d’applications visuelles puissantes dans Streamlit, le tout sans déplacer ni copier de données. Cela permet de gérer en toute confiance des pipelines complexes et évolutifs, car ils éliminent la complexité, réduisent les risques de gouvernance et prennent en charge l’ouverture avec les meilleurs frameworks.

Responsabiliser les équipes polyglottes

Grâce à la démocratisation des données, les équipes d’aujourd’hui ont besoin de plates-formes prenant en charge de nombreux langages et frameworks différents. Snowpark offre à ces équipes polyglottes une plate-forme prenant en charge les intégrations ouvertes avec les principaux frameworks d’orchestration au monde, permettant une simplicité opérationnelle tout en renforçant les bonnes pratiques de gouvernance des données.

Snowpark est déjà en disponibilité générale pour Java/Scala et actuellement en préversion publique pour Python. Pour créer votre propre flux de travail ML à l’aide de Snowpark, Anaconda et Apache Airflow, consultez ceci guide de code étape par étape.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.