paint-brush
Les vraies raisons pour lesquelles l'IA est basée sur le stockage d'objetspar@minio
7,297 lectures
7,297 lectures

Les vraies raisons pour lesquelles l'IA est basée sur le stockage d'objets

par MinIO6m2024/08/29
Read on Terminal Reader

Trop long; Pour lire

MinIO Object Store est la norme de facto pour les lacs de données non structurés massifs. MinIO est compatible avec tous les frameworks de machine learning modernes. Il est 100 % compatible avec l'API S3, ce qui vous permet d'effectuer des charges de travail ML sur votre magasin d'objets sur site ou sur appareil.
featured image - Les vraies raisons pour lesquelles l'IA est basée sur le stockage d'objets
MinIO HackerNoon profile picture

1. Aucune limite pour les données non structurées

Une configuration de formation de modèle d'IA typique (nœud unique) (PyTorch alimentant les GPU avec des données provenant du magasin d'objets)


Dans le paradigme actuel de l’apprentissage automatique, les performances et les capacités évoluent avec le calcul, qui est en réalité un indicateur de la taille de l’ensemble de données et de la taille du modèle ( Scaling Laws for Neural Language Models , Kaplan et al.). Au cours des dernières années, cela a entraîné des changements radicaux dans la manière dont l’apprentissage automatique et l’infrastructure de données sont construits, à savoir : la séparation du stockage et du calcul, la construction de lacs de données natifs du cloud massifs remplis de données non structurées et du matériel spécialisé capable d’effectuer des multiplications de matrices très rapidement.


Lorsqu'un ensemble de données d'entraînement, ou même un fragment individuel d'un ensemble de données, nécessite plus d'espace que ce qui est disponible dans la mémoire système et/ou le stockage local, l'importance de découpler le stockage du calcul devient évidente. Lorsque vous effectuez un entraînement sur des données qui résident sur le MinIO Object Store, il n'y a aucune limite à la taille de vos données d'entraînement. En raison de l'accent mis par MinIO sur la simplicité et le débit d'E/S, c'est le réseau qui devient le seul facteur limitant la vitesse d'entraînement et l'utilisation du GPU.


En plus d'offrir les meilleures performances de tous les magasins d'objets, MinIO est compatible avec tous les frameworks d'apprentissage automatique modernes. Le magasin d'objets MinIO est également 100 % compatible avec l'API S3, ce qui vous permet d'effectuer des charges de travail ML sur votre magasin d'objets sur site ou sur appareil à l'aide d'utilitaires de jeux de données familiers tels que TorchData Canal de données S3 . Dans le cas où des fonctionnalités de type système de fichiers sont requises par votre application consommatrice, vous pouvez même utiliser MinIO avec des interfaces de fichiers de stockage d'objets telles que Point de montage S3 ou S3FS Dans un prochain article de blog, nous utiliserons le SDK MinIO Python dans des implémentations personnalisées de certaines interfaces PyTorch et FairSeq courantes (comme Dataset et Task, respectivement) afin de permettre des données de formation « sans limites » et une utilisation élevée du GPU pour la formation du modèle.


Au-delà des performances et de la compatibilité avec la pile ML moderne, les choix de conception du stockage d'objets, à savoir (1) un espace de noms plat, (2) l'encapsulation de l'objet entier (et de ses métadonnées) en tant qu'entité logique la plus basse et (3) des API de verbes HTTP simples, sont ce qui a conduit le stockage d'objets à devenir la norme de facto pour les lacs de données massifs non structurés. Un regard sur l'histoire récente de l'apprentissage automatique montre que les données d'apprentissage (et dans un sens, les architectures de modèles elles-mêmes) sont devenues moins structurées et plus générales. Autrefois, les modèles étaient principalement formés sur des données tabulaires. Aujourd'hui, la gamme est beaucoup plus large, allant de paragraphes de texte brut à des heures de vidéo. À mesure que les architectures de modèles et les applications ML évoluent, la nature sans état, sans schéma et, par conséquent, évolutive du magasin d'objets devient de plus en plus critique.

2. Métadonnées riches pour les modèles et les ensembles de données

Les métadonnées permettent de baliser les ensembles de données et de décrire les statistiques d'un point de contrôle de modèle.


Grâce aux choix de conception du MinIO Object Store, chaque objet peut contenir des métadonnées riches et sans schéma sans sacrifier les performances ni nécessiter l'utilisation d'un serveur de métadonnées dédié. L'imagination est vraiment la seule limite lorsqu'il s'agit du type de métadonnées que vous souhaitez ajouter à vos objets. Cependant, voici quelques idées qui pourraient être particulièrement utiles pour les objets liés au ML :

Pour les points de contrôle du modèle : valeur de la fonction de perte, temps nécessaire à la formation, ensemble de données utilisé pour la formation.


Pour les ensembles de données : nom des fichiers d'index appariés (le cas échéant), catégorie de l'ensemble de données (train, validation, test), informations sur le format de l'ensemble de données.

Des métadonnées hautement descriptives comme celles-ci peuvent être particulièrement puissantes lorsqu'elles sont associées à la capacité d'indexer et d'interroger efficacement ces métadonnées, même sur des milliards d'objets, ce que le Catalogue d'entreprise MinIO Par exemple, vous pouvez rechercher des points de contrôle de modèle marqués comme « testés » ou des points de contrôle qui ont été formés sur un ensemble de données particulier.

3. Les modèles et les ensembles de données sont disponibles, vérifiables et versionnables


Les modèles d’apprentissage automatique et leurs ensembles de données devenant des actifs de plus en plus critiques, il est devenu tout aussi important de stocker et de gérer ces actifs d’une manière tolérante aux pannes, auditable et versionnable.


Les ensembles de données et les modèles qui les utilisent sont des ressources précieuses qui sont le fruit du travail acharné, des efforts d'ingénierie et de l'argent. Par conséquent, ils doivent être protégés de manière à ne pas gêner l'accès des applications. Les opérations en ligne de MinIO telles que la vérification de la pourriture des bits et le codage d'effacement, ainsi que des fonctionnalités telles que la réplication active-active multisite garantissent la résilience de ces objets à grande échelle.


Avec l'IA générative en particulier, savoir quelle version de quel jeu de données a été utilisé pour entraîner un modèle particulier qui est servi est utile pour déboguer les hallucinations et autres mauvais comportements du modèle. Si les points de contrôle du modèle sont correctement versionnés, il devient plus facile de faire confiance à une restauration rapide vers une version précédemment servie du point de contrôle. Avec le magasin d'objets MinIO, vous bénéficiez de ces avantages pour vos objets dès la sortie de la boîte.

4. Infrastructure de service détenue

Modèles de service de modèles typiques pour l'inférence. À gauche, s'appuyant sur un référentiel de modèles tiers et à droite, s'appuyant sur votre propre magasin de points de contrôle.


Le magasin d'objets MinIO est fondamentalement un magasin d'objets que vous ou votre organisation contrôlez. Que le cas d'utilisation soit pour le prototypage, la sécurité, la réglementation ou fins économiques , le contrôle est le fil conducteur. Par conséquent, si les points de contrôle des modèles formés résident sur le magasin d'objets, cela vous offre un meilleur contrôle sur la tâche de diffusion des modèles pour l'inférence ou la consommation.


Dans un post précédent , nous avons exploré les avantages du stockage de fichiers de modèles sur un magasin d'objets et comment les diffuser directement avec le framework d'inférence TorchServe de PyTorch. Cependant, il s'agit d'une stratégie entièrement indépendante du modèle et du framework.


Mais pourquoi est-ce important ? Un retard du réseau ou des pannes sur des référentiels de modèles tiers peuvent ralentir la diffusion des modèles pour l'inférence, voire les rendre totalement indisponibles. De plus, dans un environnement de production où les serveurs d'inférence évoluent et doivent extraire régulièrement des points de contrôle de modèle, ce problème peut être exacerbé. Dans les circonstances les plus sûres et/ou les plus critiques, il est préférable d'éviter la dépendance à des tiers sur Internet lorsque cela est possible. Avec MinIO en tant que magasin d'objets de cloud privé ou hybride, il est possible d'éviter complètement ces problèmes.

Réflexions finales

La représentation par l'IA de l'infrastructure de données du futur, avec des robots et... des éoliennes ?


Ces quatre raisons ne constituent en aucun cas une liste exhaustive. Les développeurs et les organisations utilisent MinIO Object Storage pour leurs charges de travail d'IA pour toute une série de raisons, allant de la facilité de développement à son encombrement ultra-léger.


Au début de cet article, nous avons évoqué les forces motrices derrière l’adoption d’un magasin d’objets hautes performances pour l’IA. Que les lois de mise à l’échelle se confirment ou non, il est certain que les organisations et leurs charges de travail d’IA bénéficieront toujours de la meilleure capacité de débit d’E/S disponible. En outre, nous pouvons être assez sûrs que les développeurs ne demanderont jamais d’API plus difficiles à utiliser et de logiciels qui ne « fonctionnent pas tout simplement ». Dans tout avenir où ces hypothèses se confirment, le magasin d’objets hautes performances est la voie à suivre.


Pour tous les architectes et décideurs en ingénierie qui lisent ceci, bon nombre des meilleures pratiques mentionnées ici peuvent être automatisées pour garantir que le stockage d'objets est exploité d'une manière qui rend vos flux de travail IA/ML plus simples et plus évolutifs. Cela peut être fait en utilisant l'un des ensembles d'outils MLOps modernes. Keith Pijanowski, expert en IA/ML, a exploré bon nombre de ces outils - recherchez Kubeflow, MLflow et MLRun sur notre site de blog pour plus d'informations sur les outils MLOps. Cependant, si ces outils MLOps ne sont pas une option pour votre organisation et que vous devez vous lancer rapidement, les techniques présentées dans cet article sont le meilleur moyen de commencer à gérer vos flux de travail IA/ML avec MinIO.


Pour les développeurs (ou toute personne curieuse 🙂), dans un prochain article de blog, nous ferons une procédure pas à pas de bout en bout pour adapter un framework ML pour tirer parti du magasin d'objets dans le but d'obtenir des données de formation « sans limites » et une utilisation appropriée du GPU.


Merci d'avoir lu, j'espère que cela a été instructif ! Comme toujours, si vous avez des questions, rejoignez notre Chaîne Slack ou envoyez-nous un message à [email protected] .