paint-brush
Deep Lake, un Lakehouse pour le Deep Learning : résumé et introductionpar@dataology
168 lectures

Deep Lake, un Lakehouse pour le Deep Learning : résumé et introduction

Trop long; Pour lire

Les chercheurs présentent Deep Lake, un Lakehouse open source pour l'apprentissage profond, optimisant le stockage et le streaming de données complexes pour les cadres d'apprentissage profond.
featured image - Deep Lake, un Lakehouse pour le Deep Learning : résumé et introduction
Dataology: Study of Data in Computer Science HackerNoon profile picture
0-item

Auteurs:

(1) Sasun Hambardzumyan, Activeloop, Mountain View, Californie, États-Unis ;

(2) Abhinav Tuli, Activeloop, Mountain View, Californie, États-Unis ;

(3) Levon Ghukasyan, Activeloop, Mountain View, Californie, États-Unis ;

(4) Fariz Rahman, Activeloop, Mountain View, Californie, États-Unis ;.

(5) Hrant Topchyan, Activeloop, Mountain View, Californie, États-Unis ;

(6) David Isayan, Activeloop, Mountain View, Californie, États-Unis ;

(7) Mark McQuade, Activeloop, Mountain View, Californie, États-Unis ;

(8) Mikayel Harutyunyan, Activeloop, Mountain View, Californie, États-Unis ;

(9) Tatevik Hakobyan, Activeloop, Mountain View, Californie, États-Unis ;

(10) Ivo Stranic, Activeloop, Mountain View, Californie, États-Unis ;

(11) Davit Buniatyan, Activeloop, Mountain View, Californie, États-Unis.

Tableau des liens

ABSTRAIT

Les lacs de données traditionnels fournissent une infrastructure de données critique pour les charges de travail analytiques en permettant le voyage dans le temps, l'exécution de requêtes SQL, l'ingestion de données avec des transactions ACID et la visualisation d'ensembles de données à l'échelle du pétaoctet sur le stockage cloud. Ils permettent aux organisations de briser les silos de données, de débloquer une prise de décision basée sur les données, d'améliorer l'efficacité opérationnelle et de réduire les coûts. Cependant, à mesure que l'utilisation du deep learning augmente, les lacs de données traditionnels ne sont pas bien conçus pour des applications telles que le traitement du langage naturel (NLP), le traitement audio, la vision par ordinateur et les applications impliquant des ensembles de données non tabulaires. Cet article présente Deep Lake, un Lakehouse open source pour les applications d'apprentissage profond développé chez Activeloop[1][2]. Deep Lake conserve les avantages d'un lac de données Vanilla avec une différence clé : il stocke des données complexes, telles que des images, des vidéos, des annotations, ainsi que des données tabulaires, sous la forme de tenseurs et diffuse rapidement les données sur le réseau vers (un ) Tensor Query Language, (b) un moteur de visualisation intégré au navigateur ou (c) des frameworks d'apprentissage en profondeur sans sacrifier l'utilisation du GPU. Les ensembles de données stockés dans Deep Lake sont accessibles depuis PyTorch [58], TensorFlow [25], JAX [31] et s'intègrent à de nombreux outils MLOps.


MOTS CLÉS - Deep Lake, Deep Learning, Data Lake, Lakehouse, Cloud Computing, Systèmes distribués

1. INTRODUCTION

Un lac de données est un référentiel central qui permet aux organisations de stocker des données structurées, non structurées et semi-structurées en un seul endroit. Les lacs de données offrent une meilleure façon de gérer, gouverner et analyser les données. En outre, ils offrent un moyen de briser les silos de données et d’obtenir des informations auparavant cachées dans des sources de données disparates. Les lacs de données de première génération collectaient traditionnellement des données dans des systèmes de stockage distribués tels que HDFS [71] ou AWS S3 [1]. Les collectes non organisées de données ont transformé les lacs de données en « marécages de données », ce qui a donné naissance aux lacs de données de deuxième génération dirigés par Delta, Iceberg et Hudi [27, 15, 10]. Ils fonctionnent strictement au-dessus de formats structurés standardisés tels que Parquet, ORC, Avro [79, 6, 20] et fournissent des fonctionnalités telles que le voyage dans le temps, les transactions ACID et l'évolution des schémas. Les lacs de données s'intègrent directement aux moteurs de requêtes tels que Presto, Athena,


Figure 1 : Présentation de l'architecture Deep Lake interfacée avec les frameworks d'apprentissage profond.


Hive et Photon [70, 12, 76, 66] pour exécuter des requêtes analytiques. De plus, ils se connectent à des frameworks tels que Hadoop, Spark et Airflow [14, 82, 9] pour la maintenance du pipeline ETL. À son tour, l'intégration entre les lacs de données et les moteurs de requêtes avec une séparation claire du calcul et du stockage a abouti à l'émergence de systèmes comme Lakehouse [28] qui servent d'alternative aux entrepôts de données, notamment Snowflake, BigQuery, Redshift et Clickhouse [33, 4, 40, 2].


Au cours de la dernière décennie, l’apprentissage profond a dépassé les techniques traditionnelles d’apprentissage automatique impliquant des données non structurées et complexes telles que du texte, des images, des vidéos et de l’audio [44, 47, 38, 83, 51, 30, 63, 56]. Non seulement les systèmes d'apprentissage profond ont dépassé les techniques traditionnelles, mais ils ont également atteint une précision surhumaine dans des applications telles que la détection du cancer à partir d'images radiographiques, la reconstruction anatomique de cellules neurales humaines, les jeux, la conduite automobile, le déploiement de protéines et la génération d'images. 61, 48, 72, 42, 77]. Les grands modèles de langage avec des architectures basées sur des transformateurs ont obtenu des résultats de pointe dans les tâches de traduction, de raisonnement, de résumé et de complétion de texte [78, 36, 81, 32]. Les grands réseaux multimodaux intègrent des données non structurées dans des vecteurs pour la recherche multimodale [29, 60]. De plus, ils sont utilisés pour générer des images photoréalistes à partir de texte [62, 65].


Bien que l'un des principaux contributeurs au succès des modèles d'apprentissage profond ait été la disponibilité de grands ensembles de données tels que CoCo (330 000 images), ImageNet (1,2 million d'images), Oscar (corpus de texte multilingue) et LAION (400 millions et 5 milliards d'images) [49, 34, 74, 68], il ne dispose pas d'un modèle d'infrastructure de données bien établi, similaire aux charges de travail analytiques traditionnelles, pour prendre en charge une telle échelle. D'un autre côté, Modern Data Stack (MDS) ne dispose pas des fonctionnalités requises pour déployer des solutions performantes basées sur le deep learning, de sorte que les organisations choisissent de développer des systèmes en interne.


Dans cet article, nous présentons Deep Lake, un Lakehouse spécialisé pour les charges de travail d'apprentissage profond. Deep Lake conserve les principaux avantages d'un


Figure 2 : Boucle d'apprentissage automatique avec Deep Lake


lac de données traditionnel avec une distinction notable : il stocke des données complexes, telles que des images, des vidéos, des annotations et des données tabulaires, sous forme de tenseurs et diffuse rapidement les données vers des cadres d'apprentissage profond sur le réseau sans sacrifier l'utilisation du GPU. De plus, il offre une interopérabilité native entre les frameworks d'apprentissage profond tels que PyTorch, TensorFlow et JAX [58, 25, 31].


Les principales contributions techniques de cet article comprennent :


• Format de stockage Tensor qui stocke des tableaux de forme dynamique sur le stockage d'objets ;


• Streaming Dataloader qui planifie la récupération, la décompression et les transformations définies par l'utilisateur, optimisant ainsi le débit de transfert de données vers les GPU pour un apprentissage en profondeur ;


• Tensor Query Language exécutant des opérations de type SQL sur des données de tableaux multidimensionnels ;


• Moteur de visualisation intégré au navigateur qui diffuse les données du stockage d'objets et les restitue dans le navigateur à l'aide de WebGL.


Le reste de cet article se déroule comme suit. Nous commençons par examiner les défis actuels du deep learning sur des données non structurées. Nous présentons ensuite le Tensor Storage Format (TSF) avec ses concepts clés. De plus, nous discutons des capacités et des applications de Deep Lake dans le cycle ML. Ensuite, nous proposons des expériences de performances et discutons des résultats. Enfin, nous passons en revue les travaux connexes, énumérons les limitations possibles et concluons.


Cet article est disponible sur arxiv sous licence CC 4.0.


[1] Code source disponible : https://github.com/activeloopai/deeplake


[2] Documentation disponible sur https://docs.deeplake.ai