Comment Snowflake rattrape son retard sur Databricks dans l'IA
L'éditeur du Montana comble l'écart avec son concurrent, qui s'est positionné très tôt sur le machine learning, bien avant l'avènement de l'IA générative.
La data platform Snowflake ne s'est pas lancée dans l'IA très tôt. Son principal concurrent Databricks s'est positionné sur le machine learning très en amont, bien avant l'avènement de l'IA générative. Depuis, Snowflake n'a eu de cesse de rattraper son retard. Même si Databricks propose désormais toute une série d'outils pour mettre en œuvre des IA génératives, son concurrent n'est pas en reste et propose lui-aussi un environnement ad hoc sur ce terrain.
Sur le front de l'IA traditionnelle, Snowflake a d'abord lancé un environnement complet de data engineering. Il orchestre des pipelines pour transformer les données, les charger et les raffiner. Il comprend aussi un atelier de machine learning, avec à la clé un model store et un feature store pour gérer les modèles et leurs caractéristiques. Il fournit également des outils de monitoring pour contrôler les éventuelles hallucinations et comprendre l'utilisation qui est faite des modèles. Sur ces différents points, Snowflake a bel et bien comblé son retard.
Databricks reste en pointe sur l'IA générative
Dans l'IA générative, c'est une autre paire de manches. "La GenAI demande des niveaux de compétences largement inférieurs au machine learning historique", reconnaît Benoit Dageville, co-fondateur et président produit de Snowflake. "N'importe quel informaticien sachant programmer en Python peut créer un assistant intelligent avec du RAG (pour retrieval augmented generation, ndlr) en vue de faire le lien avec des bases documentaires."
Sur sa plateforme, Snowflake propose ce qu'il appelle les Snow Park Container Services. Des containers Kubernetes qui embarquent n'importe quel type d'applications, y compris des modèles de machine learning traditionnels ou des large language models (LLM). Sachant que ces Snow Park Container Services peuvent s'exécuter sur les machines de son choix, y compris celles équipées de processeurs graphiques type GPU taillés pour ce type de cas d'usage.
"Il est possible de faire appel à des LLM tiers qui ne tournent pas dans Snowflake"
En parallèle, Snowflake a développé Cortex AI. Une suite de services d'IA entièrement serverless et managés. Ces services prêts à l'emploi embarquent des LLM du marché comme ceux de Meta (Llama) ou encore ceux du français Mistral avec lequel l'éditeur a signé un accord. Parmi ses services, Cortex AI embarque divers fonctions d'IA permettant de traduire, de synthétiser des contenus, de convertir une bande audio en texte ou encore de générer du langage SQL. Pour chaque cas d'usage, il est possible de sélectionner le LLM de son choix.
Ici, la stratégie de Snowflake est de mettre à disposition des LLM spécialisés et légers, et par conséquent peu gourmands et peu chers en ressources machine. "Il est également possible de faire appel à des LLM tiers qui ne tournent pas dans Snowflake, les LLM d'OpenAI ou encore d'Anthropic par exemple. Et ce, par le biais de leurs API", précise Benoit Dageville.
Snowflake a mis sur pied une technologie pour fine tuner des modèles de moyenne taille. Un processus qui suit la même logique. "Par exemple, vous souhaitez créer un LLM qui permet de classer les appels d'un call center par produits ou problèmes abordés. Si vous prenez un LLM très puissants type Mistral 7-B, vous atteindrez votre objectif avec des prompts assez simples, mais à un coût non-négligeable en termes de ressources machine. En revanche si vous vous orientez vers un modèle moins cher type Llama, il fera certes beaucoup plus d'erreurs. Mais le fine tuner en le nourrissant d'une série de réponses de référence issues d'un modèle plus avancé est une solution intermédiaire qui permettra d'atteindre une bonne qualité tout en optimisant les coûts", explique Benoit Dageville. Ce process de fine tuning packagé dans Snowflake va ainsi permettre d'entraîner de petits modèles peu chers à l'exécution en se basant sur des LLM de grande taille.
Il est aussi possible d'entraîner des modèles dans Snowflake en se basant sur Snow Park Container Service. "Mais il ne s'agira pas de LLM, mais plutôt de modèles de machine learning plus classiques", pondère Benoit Dageville. Sur ce point, l'éditeur ne semble pas encore comblé son retard sur Databricks. Son concurrent propose en effet Mosaic AI Training. Une pile logicielle qui est taillée pour prendre en charge l'entraînement des LLM sur des piles matérielles particulièrement économiques. "Cette méthode combine des optimisations à l'échelle, des stratégies de parallélisme ajustées et de science de l'entraînement pour produire un workflow éprouvé capable de diviser par 10 le coût d'entraînement d'un LLM", indique Matei Zaharia, CTO de Databricks.
A l'instar de Databricks avec DBRX, Snowflake a développé son propre LLM. Baptisé Arctic, ce large language model de petite taille est publié en open source. Objectif affiché : proposer un LLM qui soit à la fois puissant et peu cher à entrainer et à inférer (la stratégie reste la même). Ce modèle a été décliné en deux séries : Arctic LLM d'une part, et son modèle d'embedding associé d'autre part. Cette seconde brique représente le deuxième volet de Cortex AI, qui prend forme à travers la brique Cortex Search.
Cortex Search pour le Rag
Cortex Search permet de réaliser une recherche hybride en deux volets. Le premier volet repose sur une recherche sémantique à base de mots clés. A chaque question posée, Cortex va générer un vecteur qui sera comparé en termes d'attributs à ceux des documents stockés dans l'index. "Il automatise le chunking c'est-à-dire le découpage des contenus pour rendre l'index performant en mode Rag", souligne Benoit Dageville. Le second type de recherche prend en compte, via des requêtes SQL, des tables et des colonnes ou attributs au sein d'une base de données. "Vous pourrez ainsi filtrer les documents pour les rendre accessibles uniquement par certaines personnes, mais aussi pointer telle page ou telle ligne d'un document source à prendre en compte. Ce qui permet une grande précision tout en publiant la source des requêtes au sein des assistants", complète Benoit Dageville.
Cortex Search repose sur une brique issue du rachat de Neeva, dont la technologie se rapproche de celle de Bing, avec des temps de réponse de l'ordre de la milliseconde et la capacité de prendre en compte des prédiquas issus de données structurées.
En aval, Snowflake permet de créer des pipelines en vue par exemple de prendre automatiquement en compte tous nouveaux documents stockés sur Amazon S3, les trigger, les chunker, et les référencer dans l'index de Cortex Search. "Ce search service pourra être créé à la volée en quelques heures", souligne Benoit Dageville. Là-encore, il sera possible de s'appuyer sur le LLM de son choix.
Streamlit pour créer les applications de GenAI
En bout de course, Snowflake propose un outil de développement qui pourra être utilisé pour créer des applications d'IA générative de type assistant intelligent. Baptisé Streamlit, il s'agit d'un environnement taillé pour créer des applications en Python qui s'exécutent sur la plateforme de Snowflake. Acquise par la société en 2022, cette technologie se présente sous la forme d'un framework open source ciblant les data scientists et les ingénieures AI/ML. Elle est livrée avec des composants préparamétrés dessinés pour s'intégrer à Cortex Search. Des composants conçus par exemple pour créer un chatbot avec les données sous-jacentes.
"Au final, l'enjeu pour nous est d'intégrer nos différentes briques d'IA au sein d'une plateforme sans couture, depuis le machine learning jusqu'à l'IA générative en passant par les applications", explique Benoit Dageville. "L'ensemble est géré par le biais de notre socle Horizon qui permet d'unifier le management, la mise en conformité, la gestion des droits d'accès, mais également l'interopérabilité de l'ensemble des actifs IT portés par Snowflake, depuis les données jusqu'aux services en passant par le code." A la différence des cloud providers qui affichent des produits différents pour gérer le machine learning traditionnel et la GenAI, Snowflake a pris le parti de proposer une plateforme entièrement intégrée.