Quel stockage pour l’IA, le machine learning et l’analytique ?
Cet article examine les avantages et inconvénients des modes bloc, fichier et objet pour l’accès à de très grandes quantités de données, souvent non structurées.
L’intelligence artificielle (IA) et le Machine Learning (ML) promettent de transformer des pans entiers de l’économie et de la société, si tel n’est pas déjà le cas. Des voitures sans chauffeur aux « bots » des services client, les systèmes basés sur l’IA et le ML sont le moteur de la prochaine vague d’automatisation dans les entreprises.
Ils consomment également des quantités massives de données. Après une dizaine d’années de progression relativement constante, les données utilisées par les modèles d’IA et de ML connaissent une croissance exponentielle, grâce aux efforts des chercheurs et ingénieurs pour améliorer la précision de leurs systèmes. Les solutions de stockage sont ainsi soumises à de nouvelles exigences, parfois extrêmes.
Dans l’Ancien Monde, un moteur de recommandation Web fonctionnant en temps réel avait juste besoin d’un seul type d’infrastructure : un stockage bloc, haut débit, capable de supporter un grand nombre d’entrées-sorties. Ce n’est plus le cas. Pour l’IA, le ML et l’analytique, il n’y a plus un seul type de stockage capable de répondre à tous les besoins.
L’IA, le ML et l’analytique nécessitent de gros volumes de données, le plus souvent dans des formats non structurés. « Tous ces environnements utilisent de vastes quantités de données non structurées », constate Patrick Smith, directeur de la technologie chez Pure Storage. « C’est un univers qui repose sur des données non structurées, c’est-à-dire des fichiers, et non sur des blocs, comme dans le cas des bases de données classiques. »
« Jusqu’à présent, le stockage en mode bloc convenait bien aux charges de travail à haut débit et avec un grand nombre d’opérations d’E/S, pour lesquelles une faible latence est importante », abonde Tom Christensen, consultant chez le fabricant Hitachi Vantara. « Cependant, avec l’avènement des applications d’analyse des données qui reposent sur l’IA, le ML et même des lacs de données, les plateformes traditionnelles basées sur des blocs posent problème : elles ne sont pas assez élastiques. L’élasticité ne peut s’atteindre qu’avec une approche basée sur les fichiers et les objets. »
De très gros volumes de données
L’entraînement des modèles d’IA et de ML, en particulier, utilise des ensembles de données plus volumineux, pour obtenir des prédictions plus précises. Comme le souligne Vibin Vijay, analyste pour le cabinet d’études OCF, « un modèle basique, sur un seul serveur, peut espérer atteindre une efficacité de 80 %. Pour atteindre une précision de 98 ou 99,99 % sur l’entraînement d’après un modèle, vous devez passer à un cluster de serveurs. Et cela fait peser des contraintes supplémentaires sur l’infrastructure. »
Presque tous les développeurs partent du principe que plus il y a de données, mieux c’est, surtout lors de la phase d’entraînement. « Cela se traduit par des collectes massives de données, d’au moins plusieurs pétaoctets, que l’entreprise doit ensuite gérer », confirme Scott Baker, directeur marketing chez IBM Storage.
En l’occurrence, plus le cluster de serveurs est composé de briques de calcul, plus l’accès commun au stockage représente un goulet d’étranglement. Les dernières applications d’analytique avancée font un usage intensif des clusters de processeurs graphiques (GPU), ce qui incite les entreprises à connecter leur stockage via une solution dédiée, comme le réseau InfiniBand de Nvidia. Voire, dans certains cas, à directement connecter le stockage aux GPUs.
« Dans les charges de travail d’IA et de ML, la phase d’apprentissage fait généralement appel à des GPUs puissants, qui sont chers parce qu’ils peuvent traiter des volumes colossaux de données. Mais sans solution spécialement adaptée, ils se retrouvent la plupart du temps à attendre d’être alimentés en données, en raison des vitesses limitées au niveau du stockage », explique Brad King, cofondateur et directeur technique de l’éditeur Scality.
Le défi pour les entreprises consiste alors à déployer un stockage haute performance tout en respectant leur budget. Comme le fait observer Vibin Vijay du cabinet OCF, « bien entendu, les concepteurs préféreraient que tout le stockage se fasse sur des SSD haute performance, mais cette option est rarement envisageable, pour ne pas dire jamais. De toute façon, compte tenu du mode de fonctionnement de l’IA et du ML, notamment lors des phases d’entraînement, des SSD très performants ne suffiraient même pas à résoudre tous les problèmes. »
En pratique, les entreprises déploient plutôt un stockage hiérarchisé, en déplaçant les données entre les différents niveaux de performances, de coûts et capacité. Des SSD jusqu’au cloud, voire jusqu’aux bandes. « Le but est de disposer des bonnes données, au bon endroit et au bon coût », explique Vibin Vijay.
Les entreprises doivent également réfléchir à la conservation des données. En effet, les data scientists ne peuvent pas prévoir quelles informations seront nécessaires pour les modèles à venir, et l’analytique s’améliore avec l’accès aux données historiques. Il reste donc important d’assurer un archivage à long terme et économique des données.
Stockage en mode bloc
Il serait peu judicieux d’exclure totalement le stockage en mode bloc, en particulier lorsque le besoin porte sur un grand nombre d’IOPS et une faible latence.
Les systèmes en mode bloc conservent l’avantage en termes de performances brutes, et prennent en charge la centralisation des données, ainsi que des fonctionnalités avancées. Selon Scott Baker d’IBM, les baies de stockage par blocs prennent en charge des interfaces de programmation (API) dont peuvent se servir les développeurs d’IA et de ML pour améliorer les opérations répétitives, voire décharger les baies du traitement lié au stockage.
En revanche, le stockage en mode bloc nécessite la création de réseaux de stockage spécifiques (généralement Fibre Channel) et peut impliquer des frais de gestion lorsqu’il repose sur un système de fichiers hors baie (basé sur l’hôte). Comme le précise Scott Baker, les choses se compliquent encore si un système d’IA utilise plusieurs systèmes d’exploitation.
Stockages en mode fichier et en mode objet
Par conséquent, les architectes système privilégient le stockage en mode fichier ou objet pour l’IA et le ML. Le stockage en mode objet est conçu pour des capacités importantes, de l’ordre du pétaoctet, et dans une optique d’évolutivité. Il est également étudié pour prendre en charge des applications telles que l’Internet des objets (IoT).
Ici, la protection des données est assurée par un dispositif d’Erasure Coding. Par ailleurs, la prise en charge avancée des métadonnées dans les systèmes en mode objet peut profiter aux applications d’IA et de ML.
En contrepartie, le stockage en mode objet accuse un retard par rapport aux systèmes en mode bloc sur le plan des performances, bien que l’écart se réduise avec les nouvelles technologies à haute performance. Enfin, la prise en charge des applications varie, les outils d’IA, de ML ou d’analytique n’étant pas tous compatibles avec l’interface S3 d’AWS, la norme de facto pour le mode objet.
Stockage en cloud
Le stockage en cloud est largement basé sur les objets, mais il offre d’autres avantages pour les projets d’IA et de ML, notamment la flexibilité et les faibles coûts initiaux.
Les principaux inconvénients du stockage en cloud sont la latence et les coûts potentiels de sortie des données. Le stockage en cloud est un bon choix pour les systèmes d’IA et de ML basés dans le cloud, mais il est plus difficile à justifier lorsque les données doivent être extraites et chargées sur des serveurs locaux pour être traitées, car cette opération augmente les coûts. Cependant, le cloud est économique pour l’archivage des données à long terme.
Que recommandent les fournisseurs de stockage ?
Sans surprise, les fournisseurs ne recommandent pas une solution unique pour l’IA, le ML ou l’analytique, la gamme d’applications étant trop vaste. Ils conseillent plutôt de tenir compte des besoins métier à l’origine du projet, et de se projeter vers l’avenir.
« Il faut toujours commencer par cerner les résultats ou l’objectif recherchés au moment de choisir comment gérer et stocker ses données », explique Paul Brook, directeur de l’analyse des données et de l’IA chez Dell. « Parfois, vous aurez besoin des mêmes données en des occasions et à des fins différentes. »
Paul Brook préconise une convergence entre le stockage en mode bloc et le stockage en mode fichier dans des appliances uniques, ainsi que des systèmes capables de combiner le stockage en mode fichier et en mode objet via un système de fichiers unique. Cette démarche aidera les développeurs d’IA et de ML en fournissant une architecture de stockage plus commune.
HPE, par exemple, recommande des solutions sur site, en cloud et hybrides pour l’IA, et voit une convergence entre l’IA et le calcul haute performance. NetApp fait la promotion de son système de stockage ONTAP pour l’IA, connecté au cloud et 100 % flash.
Gary OgasawaraDirecteur de la technologie, Cloudian
Chez Cloudian, le directeur de la technologie Gary Ogasawara s’attend à une convergence entre, d’une part, le traitement par lots haute performance offert par un entrepôt de données et, d’autre part, les architectures de traitement en continu des données. Ce phénomène incitera les utilisateurs à se tourner vers des solutions en mode objet.
« Les stockages en mode bloc et fichier présentent des limites au niveau de l’architecture, qui, au-delà d’un certain point, rendent l’évolutivité excessivement coûteuse », explique-t-il. « Le stockage en mode objet offre une évolutivité illimitée et très économique. Les fonctionnalités avancées de métadonnées du stockage en mode objet constituent un autre avantage clé pour la prise en charge des charges de travail d’IA et de ML. »
Il est également essentiel de planifier le stockage dès le départ, car, sans stockage adéquat, les projets perdront en performance.
« Pour réussir à mettre en œuvre des charges de travail avancées d’IA et de ML, une stratégie de stockage appropriée est aussi importante que la plateforme de calcul choisie », affirme Tom Christensen d’Hitachi Vantara. « Si elle est sous-dimensionnée, une plateforme de calcul distribuée, complexe et très coûteuse sera bien moins performante, ce qui diminuera la qualité de vos résultats et réduira finalement votre délai de rentabilité. »