Evolve 2023 : Cloudera détaille sa stratégie pour l’IA
Le pionnier du Big Data Open source étend sa solution CDP avec des connecteurs vers les modèles d’IA générative d’AWS et vers la base vectorielle Pinecone, laquelle replace les résultats dans le contexte d’une entreprise.
Résurrection de Cloudera, épisode 2. Le pionnier du Big Data, racheté par deux fonds d’investissement en 2021 pour avoir les mains plus libres face aux plus jeunes Snowflake et Databricks, persiste à dire que l’année fiscale en cours sera la plus performante de toute son histoire. Lors de sa conférence annuelle Evolve 2023, qui se tenait la semaine dernière à New York, l’éditeur a déplié des partenariats sur le marché de l’Intelligence artificielle générative. Il compte s’y faire un nom avec des solutions qu’il veut économiquement intéressantes.
« Ce que nous développons est compliqué et nous avons besoin de nous associer avec les bons partenaires pour garantir aux entreprises que nous leur vendons de la qualité. La qualité consiste à fournir une intelligence artificielle très précise, qui, à partir de modèles généralistes, va produire des réponses correspondant exactement aux données de nos clients », a lancé, sur scène, Charles Sansbury (en photo). Nommé cet été, ce nouveau PDG fut autrefois patron d’ASG (gestion de données) et d’Attachmate (à l’époque maison mère de Suse, l’éditeur de Linux).
En l’occurrence, CDP (la plateforme de Cloudera qui ingère et stocke les données, puis les interfaces avec des moteurs d’analyse) s’interconnecte à présent au service Amazon BedRock d’AWS et à la base de données vectorielle de Pinecone, tous deux délivrant des fonctions utiles pour l’IA. Ils sont les premiers exemples qui mettent en œuvre une nouvelle architecture censée faire basculer CDP du monde du Big Data à celui de l’IA.
Charles SansburyPDG Cloudera
Dans la nomenclature de Cloudera, cette architecture est composée de connecteurs AMP (Applied Machine Learning Prototypes) et du sous-environnement CML (Cloudera Machine Learning).
CML, le Kubernetes maison qui s’interconnecte avec l’IA
Les AMPs sont des scripts YAML qui définissent comment ingérer ou exposer les données. CML est un orchestrateur de containers Docker qui, contrairement à ce que son nom suggère, ne sert pas exclusivement d’usine pour les moteurs de Machine Learning (même s’il s’agissait apparemment du but premier). CML exécute les applications d’appoint qu’écrivent les entreprises pour piloter des services d’IA éventuellement fournis par des éditeurs tiers, via des AMPs dédiés donc.
Sur le plan de l’infrastructure, CML est juste un environnement Kubernetes, doublé d’un espace de stockage en mode bloc, pour enregistrer les métadonnées des sessions (via Postgres, préinstallé), et d’un autre en mode fichier (plus exactement POSIX), afin d’héberger les scripts des utilisateurs ainsi que les fichiers de données. Lors du déploiement d’un CML, la console de CDP propose d’installer les langages Python et R, ainsi que les bibliothèques TensorFlow et PyTorch, voire les bibliothèques Cuda de Nvidia si le cluster dédié à CML dispose de GPUs.
CDP s’installe historiquement sur les serveurs des entreprises, mais peut également s’utiliser depuis les clouds d’AWS et d’Azure. L’activation d’un environnement CML en cloud suppose l’utilisation de VMs supplémentaires accolées à une capacité de stockage en mode bloc (EBS chez AWS, Premium_LRS chez Azure), ainsi que la souscription à un service de NAS virtuel pour les fichiers. En l’occurrence, EFS chez AWS et NetApp Files chez Azure sont supportés par le pilote CSI du Kubernetes assemblé par Cloudera. En version cloud privé, le mode fichier est délivré par HDFS, le système de stockage distribué de CDP.
A priori, il n’est pas possible d’activer un environnement CML via les services Kubernetes des hyperscalers (respectivement EKS et AKS).
Parier sur les services d’IA du challenger AWS
Amazon BedRock donne accès, via une API générique, à divers modèles d’AI déjà entraînés. Ici, un développeur interroge un modèle dit de fondation via un script, lequel référence dans ses variables des données stockées par CDP. Il devient dès lors possible de programmer en Python des applications d’IA générative qui, par exemple, synthétisent un rapport d’activité à partir de centaines de documents texte, sélectionnés à la souris par un utilisateur ou décrits dans un moteur de recherche.
Mona ChadhaDirectrice des partenariats, AWS
Selon AWS, qui héberge Amazon BedRock, les modèles de fondation concernent plus le raisonnement général que la découverte de données inédites. Ils comprennent la signification d’un texte exprimé en langage naturel, savent classer les informations qu’on leur donne et sont capables de générer du texte ou des images cohérentes selon les paramètres qu’on leur indique.
« L’intérêt d’Amazon BedRock est de rendre l’intelligence artificielle accessible aux métiers, aux gens normaux, de la sortir du carcan des data scientists. C’est critique pour permettre aux entreprises d’innover. Et comme il s’agit d’un service que nous hébergeons sur AWS, il vient avec la promesse d’une infrastructure économiquement intéressante et hautement sécurisée », argumente Mona Chadha, la directrice des partenariats chez AWS.
Le tout jeune service Amazon BedRock d’AWS a l’enjeu de concurrencer le service OpenAI qu’héberge le concurrent Azure, pour l’instant leader dans le domaine des moteurs d’IA générative. Cloudera se vantant de gérer chez les entreprises plus de 25 exaoctets de données – « soit autant que les hyperscalers eux-mêmes » affirme Charles Sansbury – ses clients représentent de fait une prise intéressante pour AWS.
« Oui, nous avons besoin de partenaires comme Cloudera pour que des banques, des assurances, des laboratoires pharmaceutiques utilisent notre IA. Nous fournissons la technologie pour innover, mais nous ne pouvons construire seuls la solution dont ils ont besoin », reconnaît Mona Chadha.
Mona ChadhaDirectrice des partenariats, AWS
Elle insiste pour dire qu’Amazon BedRock donne accès à plusieurs modèles de fondation : les « Titan », entraînés par AWS lui-même, et d’autres, entraînés par des startups comme Stability AI, Anthropic ou encore AI21 Labs. OpenAI, lui, ne fournit que les siens (GPT pour la génération de texte, et DALL-E pour celle des images).
En 2025, l’utilisation des VMs accélérées d’AWS
D’ici au début de l’année prochaine, Cloudera devrait proposer deux autres connecteurs AMP pour d’autres services d’AWS liés à l’IA.
D’une part, il s’agira – cette fois-ci – d’entraîner des modèles soi-même en confiant les calculs du Machine learning à des instances accélérées Trn1. Ces machines virtuelles d’EC2 (la partie IaaS d’AWS) sont exécutées sur des serveurs qui possèdent jusqu’à 16 Trainium, les cartes GPU PCIe 5 mises au point par AWS lui-même. Il existe deux configurations : Trn1.2xlarge avec 1 trainium et 8 vCPUs, ou Trn1.32xlarge avec l’ensemble des 16 Trainium et 128 vCPUs.
Les cartes Trainium sont chacune constituées de deux GPUs maison, les NeuronCore-v2 à 3 GHz, de 32 Go de RAM avec une bande passante de 820 Go/s et ont la capacité, comme chez Nvidia, de communiquer entre elles via un réseau optique dédié supportant une bande passante 768 Go/s. Ces instances seront livrées avec le kit de développement AWS Neuron qui fait le lien entre leur accélération matérielle et les bibliothèques PyTorch ou TensorFlow.
D’autre part, il sera possible d’exécuter les modèles entraînés sur des instances accélérées Inf2, lesquelles sont exécutées sur des serveurs comprenant jusqu’à 12 cartes Inferentia2, des variantes des cartes Trainium. Quatre configurations existent. Elles vont d’une carte Inferentia2 avec un vCPU, à 12 cartes avec 192 vCPU.
La seule différence entre les cartes Trainium et Inferentia2 semble se situer dans le firmware des cartes, avec une variante quant à la parallélisation des flux de données. Sachant qu’il a existé des cartes Inferentia de première génération avec des NeuronCore-V1, lors du lancement des Trainium, on suppose que des cartes Trainium2, à base de NeuronCore-v3 verront bientôt le jour.
Il est à noter que les modèles entraînés accessibles depuis Amazon BedRock fonctionnent eux-mêmes sur des machines Inferentia2.
Pinecone pour une IA plus précise, sans forcément l’entraîner
De son côté, la base de données vectorielle Pinecone sert à intégrer dans un moteur de Machine learning n’importe quel type de données : des fichiers de différentes natures (documents bureautiques, PDF, pages HTML, images, vidéos, etc.) et des bases de données classiques (SQL ou non).
L’intérêt d’une base vectorielle est qu’elle expose des informations qui sont toutes formatées de la même manière. Selon une étude publiée sur le site de l’université scientifique de Cornell (New York), cette uniformisation permettrait d’accélérer les calculs d’un facteur pouvant aller jusqu’à 100.
L’intérêt plus particulier de Pinecone est que ses vecteurs sont calculés de telle manière qu’ils mettent en exergue les points communs entre les données. « En pratique, si vous entraînez un modèle de langage sur l’ensemble de votre activité, vous pourrez in fine développer des assistants virtuels qui vous répondront en combinant des extraits d’image, de pages web et de documents commerciaux », lance Abhas Ricky, le directeur de la Stratégie de Cloudera.
Mais Abhas Ricky explique que la base de données vectorielle Pinecone peut tout autant être utilisée en combinaison avec un modèle de langage qui n’a pas été entraîné sur les données de l’entreprise. À la charge du développeur de capturer le résultat que le modèle envoie après une requête, pour en faire une nouvelle requête qu’il injecte cette fois-ci dans le moteur de recherche de Pinecone. Ainsi, l’application développée sur mesure affiche les éléments précis de l’entreprise correspondant aux réponses génériques du modèle.
« De cette manière, vous évitez les hallucinations du modèle en exploitant le contexte de l’entreprise. Vous obtenez ainsi des résultats excessivement pertinents sans avoir eu à investir dans l’entraînement d’un modèle », dit-il.
À l’occasion de l’événement Evolve 2023, l’éditeur a produit une étude réalisée par le cabinet Coleman Parkes selon laquelle 84 % des entreprises voulant soumettre leurs données à une intelligence artificielle redouteraient de subir une facture non maîtrisée pour des résultats qui, en plus, ne correspondraient pas exactement à leur activité.
De l’IA en cloud public pour une solution qui se flatte d’être en cloud privé
Reste un paradoxe. AWS Bedrock comme Pinecone fonctionnent en cloud public. Or, Cloudera base une partie de son argumentaire sur la faculté de CDP à être installé localement, sur des serveurs dont les entreprises maîtrisent la rentabilité, au contraire des concurrents Snowflake et Databricks qui ne fonctionnent qu’en cloud public.
« Les entreprises viennent nous voir pour deux choses : avec CDP, elles obtiennent la gouvernance totale de leurs données et elles peuvent exécuter leurs traitements sur des serveurs privés qui leur font économiser 30 à 35 % des coûts par rapport au cloud public », dit Abhas Ricky. Il explique que Cloudera travaille d’ailleurs avec les fabricants de serveurs pour proposer des appliances dédiées, avec suffisamment de GPUs pour satisfaire les nouvelles ambitions commerciales derrière CML.
Technologiquement parlant, Cloudera se base sur un cluster Open source Apache Hadoop qui répartit les données entre plusieurs nœuds – jusqu’à des milliers de serveurs NAS, généralement sous Red Hat Linux – via le système de fichiers distribués HDFS. Par défaut, les données sont des fichiers.
En version CDP Private Cloud, uniquement, Cloudera commence à proposer le système Iceberg qui permet d’interroger le contenu de ces fichiers comme s’il s’agissait d’une base de données SQL. Ceci facilite les intégrations avec des solutions analytiques.
À terme, Cloudera envisage de remplacer, toujours en version cloud privé, HDFS par Ozone, un autre système de stockage distribué d’Apache. Sa principale différence est qu’il donne un accès aux données en mode objet. L’intérêt d’Ozone est que toute la gestion des accès ne se fait plus sur chacun des serveurs NAS, mais sur des unités dédiées, avec la perspective d’augmenter les accès en lecture simultanés sans nécessairement augmenter la capacité de stockage. Ce paramètre serait déterminant dans les performances des algorithmes de Machine learning.
Pour autant, Ozone conserve une compatibilité ascendante avec HDFS via un mode fichier, baptisé OzoneFS. Mais il en améliore les caractéristiques, avec la gestion de milliards de fichiers (Cloudera ne précise pas exactement combien) là où HDFS est limité à 400 millions. De plus, Ozone traite de manière égale tous les fichiers, quelle que soit leur taille, alors que HDFS ralentit lorsqu’il doit lire ou écrire des fichiers de moins de 10 Mo.