Stockage : NetApp dévoile ses techniques qui accélèrent l’IA
Dans cet entretien, Arindam Banerjee, l’un des principaux ingénieurs du constructeur, explique quels développements son équipe a apportés au système OnTap des baies pour accélérer les traitements tout en limitant la taille des données.
NetApp a une stratégie pour faire rebondir ses ventes de baies de stockage de la famille AFF : le constructeur les livrera bientôt avec tout le nécessaire dans leur système d’exploitation OnTap pour faire de l’IA.
Il s’agira principalement d’une base de données vectorielle pour intégrer les documents internes d’une entreprise aux connaissances de l’IA, du système d’accès en réseau pNFS pour paralléliser les requêtes, ainsi que d’un nouveau dispositif de « désagrégation » pour ramener les informations à analyser au plus près des machines qui calculent. Tous ces dispositifs serviraient aussi bien à l’entraînement des modèles qu’à leur utilisation.
Cette approche qui consiste à enrichir les fonctions pour soutenir les traitements liés à l’IA – quand les concurrents se contentent d’accélérer leurs baies – s’accompagne d’efforts de développements logiciels en collaboration avec les principaux fournisseurs d’infrastructures de calcul. Avec Nvidia, bien entendu. Mais aussi avec tous ses adversaires qui s’acharnent à mettre au point des bibliothèques de fonctions et des kits de programmation pour attirer l’attention sur leurs puces alternatives.
D’une manière similaire, NetApp s’était précédemment illustré sur le segment du cloud hybride en investissant dans le co-développement de services de stockage en ligne avec les principaux hyperscalers. Grâce à cela, il reste le seul capable de vendre aux entreprises le moyen de transvaser leurs données d’un datacenter à un cloud public sans changer leurs règles d’accès et de maintenance. Un avantage commercial qui lui permet aujourd’hui d’être un solide numéro 1 du stockage. Son dernier résultat trimestriel est de 7 milliards de dollars, contre 4,2 mds $ pour l’activité stockage de Dell, 1,07 md $ pour celle de HPE et 688,7 millions de dollars pour Pure Storage.
Intrigué par les détails qui se cachent derrière l’annonce de cette nouvelle stratégie logicielle, LeMagIT est parti à la rencontre d’Arindam Banerjee, l’un des principaux ingénieurs du fournisseur (et en photo plus haut), justement impliqué dans les développements logiciels autour de l’IA. L’interview suivante a été réalisée dans le cadre de l’événement NetApp Insight 2024, qui se tenait la semaine dernière à Las Vegas et qui a été, justement, le théâtre de ces annonces concernant l’IA.
Vous positionnez vos NAS de la série AFF sur le segment du stockage pour l’IA. Mais n’est-ce pas déjà le rôle de vos baies de série E ?
Arindam BanerjeeTechnical fellow, NetApp
Arindam Banerjee : La série E, qui consiste en un cluster de stockage fonctionnant sous BeeGFS est une solution excessivement performante pour alimenter les supercalculateurs en données ponctuelles et enregistrer leurs résultats. Vous pouvez aussi l’utiliser pour l’entraînement successif de différents modèles d’IA fondamentaux dans un centre de recherche. Mais son usage est de stocker des jeux de données qui ne restent sur les disques d’un centre de calcul que le temps du traitement.
Ce n’est pas l’usage de l’IA en entreprise. En entreprise, vous avez une approche plus itérative. Vous réentraînez un modèle avec vos propres données, puis vous ajustez ses paramètres de réentraînement pour obtenir de meilleures performances, puis vous revenez en arrière si ce n’est pas le cas, puis vous obtenez de nouvelles données et vous le réentraînez encore, etc. Tout cela pour utiliser dès que possible chaque version successive de ce modèle en IA générative, avec des algorithmes d’inférence.
Vous avez besoin dans ce contexte de gérer les versions du modèle, de gérer les données dont il se sert. Or, seul le système d’exploitation OnTap de nos baies AFF propose ces fonctionnalités. Vous pouvez par exemple utiliser les snapshots pour revenir plus facilement en arrière, ses fonctions de clonage pour optimiser les traitements, etc.
Mais vos baies AFF sont-elles aussi performantes que celles de la série E ?
Arindam Banerjee : Oui, depuis que nous avons lancé cette année les modèles A70, A90 et A1K, qui disposent de processeurs plus performants, avec plus de cœurs, et de connexions, toujours en Ethernet, et qui atteignent 200 Gbit/s. Selon les traitements, ces baies offrent aux serveurs 30 à 70 % de bande passante en plus par rapport aux anciennes AFF. Les modèles A90 et A1K ont même été validés par Nvidia pour être utilisés avec ses clusters de calcul SuperPOD.
Pour fonctionner avec un SuperPOD, ou même les interfacer avec plusieurs serveurs de calcul simultanément, qu’avez-vous changé dans le fonctionnement de vos baies AFF ?
Arindam Banerjee : Nous changeons trois choses. La première est que nous les déployons en cluster qui partage à présent son contenu en parallel-NFS (pNFS). C’est-à-dire qu’un nœud indexe les contenus et lorsqu’un serveur veut accéder à un fichier, c’est le nœud qui le possède qui lui répond.
Nous avons aussi implémenté une technique appelée Granular Data Distribution qui permet à plusieurs nœuds de donner accès au même fichier en même temps. Ce dispositif est très important lorsque vous exécutez les points de contrôle, c’est-à-dire lorsque vous vérifiez la cohérence du modèle, qui est un gros fichier, après que plusieurs GPU ont chacun écrit dedans. Il permet de faire des points de contrôle rapidement et plus fréquemment, ce qui évite de devoir recommencer des heures de calcul en cas d’incohérence.
Ces deux fonctions sont déjà implémentées dans OnTap. La troisième, la désagrégation, arrivera plus tard. Cela revient au principe des architectures composables. En plus des nœuds qui stockent les données, vous pouvez ajouter à l’envi des nœuds qui indexent leurs contenus et exécutent les fonctions de haut niveau d’OnTap : la protection (snapshots…), la gestion (résilience, déplacements des données…), ou l’analyse (relevés, identification des types de contenus…).
Une des clés de la désagrégation est que l’on peut constituer un pool unique de stockage à partir de différents stockages. Disons que vous possédez dans votre entreprise des NAS AFF (performants), des NAS AFS (données froides), ainsi que des baies StorageGRID, et que vous souhaitez soumettre uniquement certaines données dans chacun d’entre eux à votre IA. OnTAP sera alors capable de déplacer ces données-là, via SnapMirror, sur les nœuds AFF les plus performants – typiquement des A1K – qui seront, eux, directement connectés aux serveurs d’entraînement ou d’inférence.
Tout cela ressemble furieusement à la Global Data Platform d’Hammerspace, non ?
Arindam Banerjee : C’est un peu différent. Hammerspace regroupe plusieurs baies en une seule virtuelle, afin de paralléliser les accès. Nous, nous allons plus loin en vous permettant d’identifier et de classer les données sans effort, sans avoir à vous rendre sur chacune des baies pour autoriser ou interdire l’accès de l’IA à telles ou telles données. Cela est rendu possible par un nouveau moteur de métadonnées, intégré au moteur NetApp AI Data Engine (lequel est désormais intégré à OnTap), qui sera capable d’examiner les contenus de toutes les baies fonctionnant sur OnTap dans l’entreprise.
Et c’est donc dans ce NetApp AI Data Engine que l’on va trouver cette nouvelle base de données vectorielle. De quoi s’agit-il exactement ?
Arindam Banerjee : Cela concerne l’inférence, le RAG plus exactement, c’est-à-dire le scénario qui consiste à inclure dans les réponses de l’IA générative des connaissances issues de vos propres données, alors que son modèle a été entraîné depuis des données publiquement disponibles sur Internet.
Donc, pour soumettre vos données, il faut qu’elles soient converties sous la forme de vecteurs mathématiques, c’est-à-dire sous la forme de nombres à virgule, avec énormément de chiffres après la virgule.
Arindam BanerjeeTechnical fellow, NetApp
Il existe déjà sur le marché plusieurs bases de données vectorielles. Mais si nous avons voulu inclure la nôtre dans OnTap, c’est parce que nous pensons pouvoir résoudre le problème de capacité que posent généralement ces bases.
Le problème est que plus vous voulez prendre en compte des informations, plus chacun de vos vecteurs va avoir de chiffres après la virgule. Si bien que la taille de la base de données vectorielles va gonfler de manière exponentielle par rapport à la taille de vos données de départ. Pour 1 To de données au départ, vous allez typiquement vous retrouver avec 10 To de base vectorielle. Certains de nos clients nous ont dit avoir vu le volume de leurs données multiplié par 24 !
Et c’est d’autant plus pénalisant que, pour ne pas souffrir de ralentissements, il faut charger le plus possible de vecteurs en RAM. Or, la RAM d’un serveur est bien plus limitée que son stockage.
En nous servant des informations issues de notre nouveau moteur de métadonnées et en appliquant dessus des algorithmes brevetés de quantification et de classement, nous parvenons à produire des vecteurs plus petits. La base de 10 To dont je viens de vous parler passe ainsi à 2 To. Il devient dès lors réaliste d’en mettre une grande partie, si ce n’est la totalité dans la RAM d’un serveur.
Et le point très intéressant avec les technologies de déduplication et de compression internes à OnTap est que cette base va même peser moins de 1 To, probablement 800 Go sur disque.
Un autre point technique également intéressant est que, pour être efficace, votre base de données vectorielles doit être constamment à jour, c’est-à-dire intégrer les données que vous avez créées ce matin, il y a une heure ou il y a dix minutes. Mais vous ne pouvez pas vous permettre de reconstruire la base entière à chaque fois. Avec notre technologie SnapDiff, vous pouvez mettre à jour très rapidement la base à partir des seules différences qui existent entre deux snapshots effectués par OnTap.
Vous dites collaborer avec Nvidia pour intégrer toutes vos fonctions dans leurs modules NeMo qui servent à développer des applications d’IA générative. Travaillez-vous avec d’autres ?
Arindam BanerjeeTechnical fellow, NetApp
Arindam Banerjee : Nous sommes ouverts à tous les partenaires technologiques. Nous venons de faire des démonstrations avec les kits d’OpenAI, nous pouvons intégrer nos possibilités de RAG avec le client CoPilot de Microsoft par exemple. Intel vient de nous contacter pour contribuer à leur plateforme OPEA. Même si nous n’avons pas encore répondu, je pense qu’il s’agira d’une évidence pour nous.
À l’heure actuelle, nous dotons nos baies de stockage AFF A90 et A1K dédiées à l’IA de GPU L40 de Nvidia. Parce que, pour convertir des données en vecteurs, vous utilisez des fonctions trigonométriques et matricielles pour lesquelles ces GPUs sont très doués. Cependant, nous voulons pouvoir fonctionner avec tout autre type d’accélérateur qui pourrait être plus abordable pour nos clients. À ce titre, je pense que les GPU Gaudi 2 et Gaudi 3 d’Intel sont très intéressants.