paint-brush
Deep Lake, ein Lakehouse für Deep Learning: Diskussion und Einschränkungenvon@dataology
166 Lesungen

Deep Lake, ein Lakehouse für Deep Learning: Diskussion und Einschränkungen

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: Diskussion und Einschränkungen
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

7. DISKUSSION UND EINSCHRÄNKUNGEN

Zu den wichtigsten Anwendungsfällen von Deep Lake gehören (a) Training von Deep Learning-Modellen, (b) Datenherkunft und Versionskontrolle, (c) Datenabfragen und -analysen, (d) Dateninspektion und Qualitätskontrolle. Wir haben NumPy-Arrays [55] als grundlegenden Baustein genommen und implementiert


Abbildung 10: GPU-Auslastung einer einzelnen 16xA100 GPU-Maschine während des Trainings des 1B-Parameter-CLIP-Modells [60]. Der Datensatz ist LAION-400M [68] und wird von AWS us-east zum GCP us-central-Rechenzentrum gestreamt. Jede Farbe zeigt die Auslastung einer einzelnen A100 GPU während des Trainings.


Versionskontrolle, Streaming-Datenlader, Visualisierungs-Engine von Grund auf.

7.1 Format-Design-Raum

Das Tensor Storage Format (TSF) ist ein binäres Dateiformat, das speziell für die Speicherung von Tensoren entwickelt wurde. Dabei handelt es sich um mehrdimensionale Arrays numerischer Werte, die in vielen Algorithmen für maschinelles Lernen und Deep Learning verwendet werden. Das TSF-Format ist effizient und kompakt und ermöglicht eine schnelle und effiziente Speicherung und den Zugriff auf Tensordaten. Ein wichtiger Vorteil des TSF-Formats besteht darin, dass es eine breite Palette von Tensordatentypen unterstützt, darunter auch dynamisch geformte Tensoren.


Im Vergleich dazu sind die Formate Parquet [79] und Arrow [13] spaltenorientierte Dateiformate, die für die Speicherung und Verarbeitung großer analytischer Datensätze konzipiert sind. Im Gegensatz zu TSF, das speziell für Tensordaten entwickelt wurde, sind Parquet und Arrow für die effiziente Speicherung und Abfrage analytischer Workloads auf tabellarischen und Zeitreihendaten optimiert. Sie verwenden spaltenorientierte Speicher- und Komprimierungstechniken, um den Speicherplatz zu minimieren und die Leistung zu verbessern, wodurch sie für Big-Data-Anwendungen geeignet sind. Allerdings hat TSF einige Vorteile gegenüber Parquet und Arrow, wenn es um Tensordaten geht. TSF kann Tensoroperationen und effizientes Streaming zu Deep-Learning-Frameworks unterstützen.


Andere Tensorformate [18, 52, 23, 57] sind für massiv parallelisierbare Workloads effizient, da sie keine Koordination zwischen den Chunks erfordern. Der wichtigste Kompromiss beim Tensor-Speicherformat besteht darin, dass es möglich ist, Arrays mit dynamischen Formen in einem Tensor zu speichern, ohne den Speicherbedarf zu erhöhen. In der Computervision ist es beispielsweise sehr üblich, mehrere Bilder mit unterschiedlichen Formen zu speichern oder Videos mit dynamischer Länge. Um die Flexibilität zu unterstützen, wird ein geringer Overhead in Form des zuvor besprochenen Chunk-Encoders eingeführt, dessen Auswirkungen auf die Produktionsworkloads wir in der Praxis nicht beobachtet haben.

7.2 Datenlader

Deep Lake erreicht sowohl in lokalen als auch in Remote-Umgebungen hochmoderne Ergebnisse, wie aus Benchmarks für die Iteration großer Bilder hervorgeht (Abb. 7). Vor allem ist es schneller als FFCV [39], das eine Reduzierung des ImageNet-Modelltrainings um bis zu 98 Cent pro Modelltraining angibt. Darüber hinaus erreicht Deep Lake eine ähnliche Aufnahmeleistung wie WebDataset [19]. Bei größeren Bildern übertrifft Deep Lake die Leistung deutlich. Parquet ist für kleine Zellen und analytische Workloads optimiert, während Deep Lake für große, dynamisch geformte Tensordaten optimiert ist. Im Vergleich zu anderen Data-Lake-Lösungen ermöglicht sein minimales Python-Paketdesign die einfache Integration von Deep Lake in groß angelegte verteilte Trainings- oder Inferenz-Workloads.

7.3 Zukünftige Arbeit

Die aktuelle Implementierung von Deep Lake bietet noch Verbesserungsmöglichkeiten. Erstens unterstützt das Speicherformat keine benutzerdefinierte Sortierung für ein noch effizienteres Speicherlayout, das für die Vektorsuche oder die Schlüssel-Wert-Indizierung erforderlich ist. Zweitens implementiert Deep Lake verzweigungsbasierte Sperren für gleichzeitigen Zugriff. Ähnlich wie das Delta ACID-Transaktionsmodell [27] kann Deep Lake auf hochleistungsfähige parallele Workloads erweitert werden. Drittens unterstützt die aktuelle Implementierung von TQL nur eine Teilmenge von SQL-Operationen (d. h. Operationen wie Join werden nicht unterstützt). Weitere Arbeiten werden sich darauf konzentrieren, es SQL-vollständig zu machen, auf mehr numerische Operationen auszuweiten, föderierte Abfragen in externen Datenquellen auszuführen und Benchmarking mit SQL-Engines durchzuführen.