Les enjeux du stockage pour l’IA et le Machine Learning

Publié le 5 août 2020
Frédéric CHOMETTE
Directeur Solutions, Metanext
scroll
32267819_m
N’oubliez pas
de partager
cet article

La promesse d’une meilleure compétitivité

L’émergence voire la montée en puissance de l’IA dans les applications porte la promesse de trouver des informations avec un point de vue innovant qui donneront un avantage concurrentiel décisif au Métier et génèreront plus de chiffre d’affaires ou de marge.

Le déploiement de ces nouvelles applications impacte directement le stockage qui est au cœur de la donnée manipulée, en raison du volume très important et de la réactivité quasiment en temps réel attendue !

Un stockage poussé au maximum de ses possibilités

D’un point de vue du stockage les principaux pré-requis sont les suivants :

  1. Stockage partagé

Le processus IA/ML implique de nombreuses étapes entre le stockage et la restitution de l’information dans un format exploitable par le Métier. A ce titre il est important de pouvoir partager la donnée simplement entre les différents outils mis en œuvre, en évitant les copies longues et fastidieuses qui mettent en péril la performance globale et provoque une augmentation drastique des capacités de stockage.

Le stockage partagé offre la visibilité de la donnée par tous les nœuds, avec une répartition naturelle de la charge à chaque étape du traitement, notamment pour les nœuds équipés de GPU. Or ces équipements très efficaces sont encore chers, et il convient qu’ils soient exploités au maximum.

De même, avec une volumétrie de plusieurs centaines de To, voire de dizaines de Po, l’optimisation de la capacité utile est primordiale pour respecter les budgets. C’est un atout majeur du stockage partagé par rapport à des disques locaux embarqués dans les nœuds.

  1. Réseau à haute performance

Pour que le stockage partagé soit efficace, il est primordial qu’il apporte les performances optimales notamment sur les temps de réponse afin d’être sur un pied d’égalité (ou presque) avec le stockage en local sur les serveurs.

Le protocole NVMe Over Fabrics (NVMe-oF) apporte une réponse pertinente car il a été conçu précisément pour tirer le meilleur parti des modules Flash et SCM. Il offre une latence quasiment identique aux disques NVMe en mode DAS.

De plus, le très haut niveau de parallélisation (64000 files d’attente avec chacune 64000 commandes) est totalement adapté aux charges de travail IA/ML hautement parallélisées.

  1. Multi-tiers

Pour des volumétries de plusieurs Po, une solution 100% Flash peut s’avérer prohibitive. L’utilisation de disques classiques avec une grande capacité est donc une alternative mais à la condition que tous les disques puissent être sollicités de façon homogène au même instant afin de délivrer la performance, notamment le débit, requise.

En effet, les applications IA/ML fonctionnent souvent dans un mode tout ou rien, c-a-d avec une activité à 0% ou 100%.

Une approche « unique global namespace » avec une vue unique et uniforme de l’ensemble des ressources de stockage est alors un atout majeur.

  1. Accès hautement parallélisé

Le parallélisme est un enjeu critique pour les applications IA/ML. Il est donc impératif que le système de fichiers sous-jacent soit à même de gérer ces accès de façon optimal, notamment mieux que le protocole NFS très répandu dans ce domaine !

Certes, cela induit souvent le déploiement d’un agent spécifique sur les nœuds mais c’est absolument nécessaire.

  1. Multi protocoles

Au-delà des accès parallélisés, les applications IA/ML requièrent l’usage de plusieurs protocoles.

Par exemple, les données sont collectées depuis des équipements IoT via NFS et ensuite elles sont traitées par une application récente développée en REST API sur S3. Enfin le résultat sera consulté par un utilisateur depuis son poste client en SMB.

  1. Gestion de métadonnées riches

Les données manipulées par les applications IA/ML impliquent des métadonnées très riches. Sachant que le nombre de fichiers est souvent de l’ordre de dizaines ou de centaines de millions, voire du milliard, le traitement de ces métadonnées devient très problématique car il devient alors un maillon faible dans la performance globale du processus IA/ML.

La gestion optimale des métadonnées est donc une fonctionnalité clé, sous les angles performance mais aussi haute disponibilité.

Le data Hub !

La solution de stockage idéale pour les appliications IA/ML est donc difficile à trouver !

Pour alimenter votre réflexion, je vous recommande la vidéo réalisée avec Pure Storage sur la mise en place d’un Data Hub pour le Machine Learning en temps réel.

https://www.metanext.com/blog/mise-en-place-dun-data-hub-le-machine-learning-en-temps-reel