paint-brush
Deep Lake, ein Lakehouse für Deep Learning: Zusammenfassung und Einführungvon@dataology
168 Lesungen

Deep Lake, ein Lakehouse für Deep Learning: Zusammenfassung und Einführung

Zu lang; Lesen

Forscher stellen Deep Lake vor, ein Open-Source-Lakehouse für Deep Learning, das die komplexe Datenspeicherung und das Streaming für Deep-Learning-Frameworks optimiert.
featured image - Deep Lake, ein Lakehouse für Deep Learning: Zusammenfassung und Einführung
Dataology: Study of Data in Computer Science HackerNoon profile picture
0-item

Autoren:

(1) Sasun Hambardzumyan, Activeloop, Mountain View, CA, USA;

(2) Abhinav Tuli, Activeloop, Mountain View, CA, USA;

(3) Levon Ghukasyan, Activeloop, Mountain View, CA, USA;

(4) Fariz Rahman, Activeloop, Mountain View, CA, USA;.

(5) Hrant Topchyan, Activeloop, Mountain View, CA, USA;

(6) David Isayan, Activeloop, Mountain View, CA, USA;

(7) Mark McQuade, Activeloop, Mountain View, CA, USA;

(8) Mikayel Harutyunyan, Activeloop, Mountain View, CA, USA;

(9) Tatevik Hakobyan, Activeloop, Mountain View, CA, USA;

(10) Ivo Stranic, Activeloop, Mountain View, CA, USA;

(11) Davit Buniatyan, Activeloop, Mountain View, CA, USA.

Linktabelle

ABSTRAKT

Herkömmliche Data Lakes stellen eine kritische Dateninfrastruktur für analytische Workloads bereit, indem sie Zeitreisen ermöglichen, SQL-Abfragen ausführen, Daten mit ACID-Transaktionen aufnehmen und Petabyte-große Datensätze auf Cloud-Speicher visualisieren. Sie ermöglichen es Unternehmen, Datensilos aufzubrechen, datengesteuerte Entscheidungsfindung zu ermöglichen, die Betriebseffizienz zu verbessern und Kosten zu senken. Da die Nutzung von Deep Learning jedoch zunimmt, sind herkömmliche Data Lakes nicht gut für Anwendungen wie die Verarbeitung natürlicher Sprache (NLP), Audioverarbeitung, Computer Vision und Anwendungen mit nicht tabellarischen Datensätzen geeignet. Dieses Dokument stellt Deep Lake vor, ein Open-Source-Lakehouse für Deep-Learning-Anwendungen, das bei Activeloop[1][2] entwickelt wurde. Deep Lake behält die Vorteile eines Vanilla-Data-Lakes bei, mit einem wesentlichen Unterschied: Es speichert komplexe Daten wie Bilder, Videos, Anmerkungen sowie tabellarische Daten in Form von Tensoren und überträgt die Daten schnell über das Netzwerk an (a) Tensor Query Language, (b) eine Browser-Visualisierungs-Engine oder (c) Deep-Learning-Frameworks, ohne die GPU-Auslastung zu beeinträchtigen. Auf in Deep Lake gespeicherte Datensätze kann über PyTorch [58], TensorFlow [25] und JAX [31] zugegriffen werden. Darüber hinaus können sie in zahlreiche MLOps-Tools integriert werden.


SCHLÜSSELWÖRTER - Deep Lake, Deep Learning, Data Lake, Lakehouse, Cloud Computing, Verteilte Systeme

1. EINLEITUNG

Ein Data Lake ist ein zentrales Repository, in dem Organisationen strukturierte, unstrukturierte und halbstrukturierte Daten an einem Ort speichern können. Data Lakes bieten eine bessere Möglichkeit, Daten zu verwalten, zu steuern und zu analysieren. Darüber hinaus bieten sie eine Möglichkeit, Datensilos aufzubrechen und Erkenntnisse zu gewinnen, die zuvor in unterschiedlichen Datenquellen verborgen waren. Data Lakes der ersten Generation sammelten Daten traditionell in verteilten Speichersystemen wie HDFS [71] oder AWS S3 [1]. Unorganisierte Sammlungen der Daten verwandelten Data Lakes in „Datensümpfe“, aus denen die Data Lakes der zweiten Generation hervorgingen, angeführt von Delta, Iceberg und Hudi [27, 15, 10]. Sie arbeiten strikt auf standardisierten strukturierten Formaten wie Parquet, ORC, Avro [79, 6, 20] und bieten Funktionen wie Zeitreisen, ACID-Transaktionen und Schemaentwicklung. Data Lakes lassen sich direkt in Abfrage-Engines wie Presto, Athena integrieren,


Abbildung 1: Übersicht über die Deep-Lake-Architektur mit Schnittstelle zu Deep-Learning-Frameworks.


Hive und Photon [70, 12, 76, 66], um analytische Abfragen auszuführen. Darüber hinaus verbinden sie sich mit Frameworks wie Hadoop, Spark und Airflow [14, 82, 9] für die ETL-Pipeline-Wartung. Die Integration zwischen Data Lakes und Abfrage-Engines mit klarer Trennung von Rechenleistung und Speicher wiederum führte zur Entstehung von Systemen wie Lakehouse [28], die als Alternative zu Data Warehouses dienen, darunter Snowflake, BigQuery, Redshift und Clickhouse [33, 4, 40, 2].


Im letzten Jahrzehnt hat Deep Learning traditionelle Techniken des maschinellen Lernens mit unstrukturierten und komplexen Daten wie Text, Bildern, Videos und Audio überholt [44, 47, 38, 83, 51, 30, 63, 56]. Deep-Learning-Systeme haben nicht nur traditionelle Techniken überholt, sondern auch übermenschliche Genauigkeit in Anwendungen wie der Krebserkennung anhand von Röntgenbildern, der anatomischen Rekonstruktion menschlicher Nervenzellen, Spielen, Autofahren, Entfaltung von Proteinen und der Bilderzeugung erreicht [61, 48, 72, 42, 77]. Große Sprachmodelle mit transformerbasierten Architekturen erzielten hochmoderne Ergebnisse bei Übersetzungs-, Argumentations-, Zusammenfassungs- und Textvervollständigungsaufgaben [78, 36, 81, 32]. Große multimodale Netzwerke betten unstrukturierte Daten in Vektoren für die kreuzmodale Suche ein [29, 60]. Darüber hinaus werden sie verwendet, um fotorealistische Bilder aus Text zu erzeugen [62, 65].


Obwohl einer der Hauptfaktoren für den Erfolg von Deep-Learning-Modellen die Verfügbarkeit großer Datensätze wie CoCo (330.000 Bilder), ImageNet (1,2 Millionen Bilder), Oscar (mehrsprachiges Textkorpus) und LAION (400 Millionen und 5 Milliarden Bilder) [49, 34, 74, 68] ist, gibt es keinen gut etablierten Dateninfrastrukturplan, der mit traditionellen analytischen Workloads vergleichbar wäre, um eine solche Größenordnung zu unterstützen. Andererseits fehlen Modern Data Stack (MDS) die Funktionen, die für die Bereitstellung leistungsfähiger Deep-Learning-basierter Lösungen erforderlich sind, sodass sich Unternehmen für die Entwicklung interner Systeme entscheiden.


In diesem Artikel stellen wir Deep Lake vor, ein Lakehouse, das auf Deep-Learning-Workloads spezialisiert ist. Deep Lake behält die Hauptvorteile eines


Abbildung 2: Machine Learning-Schleife mit Deep Lake


traditioneller Data Lake mit einem bemerkenswerten Unterschied: Er speichert komplexe Daten wie Bilder, Videos, Anmerkungen und tabellarische Daten als Tensoren und überträgt die Daten schnell über das Netzwerk an Deep-Learning-Frameworks, ohne die GPU-Auslastung zu beeinträchtigen. Darüber hinaus bietet er native Interoperabilität zwischen Deep-Learning-Frameworks wie PyTorch, TensorFlow und JAX [58, 25, 31].


Zu den wichtigsten technischen Beiträgen dieses Dokuments gehören:


• Tensor-Speicherformat , das dynamisch geformte Arrays auf Objektspeichern speichert;


• Streaming-Dataloader , der das Abrufen, Dekomprimieren und benutzerdefinierte Transformationen plant und den Datenübertragungsdurchsatz zu GPUs für Deep Learning optimiert;


• Tensor Query Language, die SQL-ähnliche Operationen auf mehrdimensionalen Array-Daten ausführt;


• In-Browser-Visualisierungs-Engine , die Daten aus dem Objektspeicher streamt und sie mit WebGL im Browser rendert.


Der Rest dieses Dokuments ist wie folgt aufgebaut. Wir beginnen mit der Betrachtung aktueller Herausforderungen beim Deep Learning auf unstrukturierten Daten. Als Nächstes stellen wir das Tensor Storage Format (TSF) mit seinen Schlüsselkonzepten vor. Darüber hinaus diskutieren wir die Fähigkeiten und Anwendungen von Deep Lake innerhalb des ML-Zyklus. Als Nächstes stellen wir Leistungsexperimente vor und diskutieren die Ergebnisse. Abschließend überprüfen wir verwandte Arbeiten, listen mögliche Einschränkungen auf und ziehen ein Fazit.



[1] Quellcode verfügbar: https://github.com/activeloopai/deeplake


[2] Dokumentation verfügbar unter https://docs.deeplake.ai