paint-brush
Deep Lake, un Lakehouse pour le Deep Learning : cas d'utilisation du Machine Learningpar@dataology
163 lectures

Deep Lake, un Lakehouse pour le Deep Learning : cas d'utilisation du Machine Learning

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 : cas d'utilisation du Machine Learning
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

5. CAS D'UTILISATION DE L'APPRENTISSAGE MACHINE

Dans cette section, nous passons en revue les applications de Deep Lake.


Un scénario typique dans une application Deep Learning commence par


(1) Un ensemble brut de fichiers collectés sur un compartiment de stockage d'objets. Il peut s'agir d'images, de vidéos et d'autres types de données multimédia dans leurs formats natifs tels que JPEG, PNG ou MP4.


(2) Toutes les métadonnées et étiquettes associées stockées dans une base de données relationnelle. En option, ils peuvent être stockés sur le même compartiment avec les données brutes sous une forme tabulaire normalisée telle que le format CSV, JSON ou Parquet.


Comme le montre la figure 4, un ensemble de données Deep Lake vide est créé. Ensuite, des tenseurs vides sont définis pour stocker à la fois les données brutes et les métadonnées. Le nombre de tenseurs pourrait être arbitraire. Un exemple de base d'une tâche de classification d'images aurait deux tenseurs,


• Tenseur d'images avec un type h de 𝑖𝑚𝑎𝑔𝑒 et un échantillon de compression JPEG


• tenseur d'étiquettes avec un htype de 𝑐𝑙𝑎𝑠𝑠_𝑙𝑎𝑏𝑒𝑙 et une compression de morceaux de LZ4.


Après avoir déclaré les tenseurs, les données peuvent être ajoutées à l'ensemble de données. Si une compression d'image brute correspond à la compression d'échantillon tensoriel, le binaire est directement copié dans un morceau sans décodage supplémentaire. Les données d'étiquette sont extraites d'une requête SQL ou d'une table CSV en un entier catégoriel et ajoutées au tenseur d'étiquettes. Les morceaux de tenseur d'étiquettes sont stockés à l'aide de la compression LZ4. Toutes les données Deep Lake sont stockées dans le compartiment et sont autonomes. Après le stockage, les données sont accessibles dans une interface NumPy ou en tant que chargeur de données d'apprentissage en profondeur diffusable. Ensuite, le modèle exécuté sur une machine de calcul parcourt le flux de tenseurs d'image et stocke la sortie du modèle dans un nouveau tenseur appelé prédictions. De plus, nous expliquons ci-dessous comment former, contrôler les versions, interroger et inspecter la qualité d'un ensemble de données Deep Lake.

5.1 Formation sur le modèle d'apprentissage profond

Les modèles d'apprentissage profond sont formés à plusieurs niveaux dans une organisation, allant de la formation exploratoire sur des ordinateurs personnels à la formation à grande échelle sur des machines distribuées impliquant de nombreux GPU. Le temps et les efforts nécessaires pour transférer les données du stockage à long terme vers le client de la formation sont souvent comparables à la formation elle-même. Deep Lake résout ce problème en permettant un streaming rapide des données sans gêner le processus de formation en aval, évitant ainsi le coût et le temps nécessaires à la duplication des données sur le stockage local.

5.2 Traçabilité des données et contrôle des versions

Les données du Deep Learning évoluent constamment à mesure que de nouvelles données sont ajoutées et que la qualité des données existantes est contrôlée. Les charges de travail d'analyse et de formation se déroulent en parallèle pendant que les données changent. Par conséquent, il est essentiel de savoir quelle version de données a été utilisée par une charge de travail donnée pour comprendre la relation entre les données et les performances du modèle. Deep Lake permet aux praticiens du Deep Learning de comprendre quelle version de leurs données a été utilisée dans n'importe quelle charge de travail analytique et de voyager dans le temps entre ces versions si un audit est nécessaire. Étant donné que toutes les données sont modifiables, elles peuvent être modifiées pour répondre aux exigences de confidentialité liées à la conformité. Comme Git pour le code, Deep Lake introduit également le concept de branches de données, permettant l'expérimentation et l'édition de données sans affecter le travail des collègues.

5.3 Requête et analyse de données

La formation de modèles d'apprentissage profond se produit rarement sur toutes les données collectées par une organisation pour une application particulière. Les ensembles de données de formation sont souvent construits en filtrant les données brutes en fonction de conditions augmentant les performances du modèle, ce qui inclut souvent l'équilibrage des données, l'élimination des données redondantes ou la sélection de données contenant des fonctionnalités spécifiques. Deep Lake fournit les outils nécessaires pour interroger et analyser les données afin que les ingénieurs en deep learning puissent créer des ensembles de données produisant des modèles de la plus haute précision.

5.4 Inspection des données et contrôle de la qualité

Bien que l’apprentissage non supervisé soit de plus en plus applicable aux cas d’utilisation réels, la plupart des applications d’apprentissage profond reposent toujours sur l’apprentissage supervisé. Tout système d'apprentissage supervisé est aussi bon que la qualité de ses données, souvent obtenue par une inspection manuelle et exhaustive des données. Étant donné que ce processus prend du temps, il est essentiel de fournir aux humains impliqués dans la boucle des outils leur permettant d’examiner très rapidement de grandes quantités de données. Deep Lake permet d'inspecter des ensembles de données d'apprentissage profond de n'importe quelle taille à partir du navigateur sans aucun temps de configuration ni besoin de télécharger des données. En outre, les outils peuvent être étendus pour comparer les résultats du modèle avec la vérité terrain. Combiné avec les requêtes et le contrôle de version, cela peut être appliqué à l’amélioration itérative des données pour obtenir le meilleur modèle possible.


Cet article est disponible sur arxiv sous licence CC 4.0.