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.
Mehrere Projekte haben versucht, neue Formate zur Speicherung unstrukturierter Datensätze zu verbessern oder zu erstellen, darunter TFRecord als Erweiterung von Protobuf [5], Petastorm [18] als Erweiterung von Parquet [79], Feather [7] als Erweiterung von Arrow [13], Squirrel mit MessagePack [75] und Beton in FFCV [39]. Die Entwicklung eines universellen Datensatzformats, das alle Anwendungsfälle löst, ist sehr anspruchsvoll. Unser Ansatz war vor allem von CloudVolume [11] inspiriert, einem 4-D-Chunked-NumPy-Speicher zur Speicherung großer volumetrischer biomedizinischer Daten. Es gibt andere ähnliche Chunked-NumPy-Array-Speicherformate wie Zarr [52], TensorStore [23] und TileDB [57]. Deep Lake führte ein Typisierungssystem, dynamisch geformte Tensoren, Integration mit schnellen Deep-Learning-Streaming-Datenladern, Abfragen von Tensoren und Unterstützung für die Visualisierung im Browser ein. Ein alternativer Ansatz zur Speicherung großer Datensätze ist die Verwendung eines verteilten HPC-Dateisystems wie Lustre [69], erweitert um den PyTorch-Cache [45] oder eine leistungsfähige Speicherschicht wie AIStore [26]. Deep-Lake-Datensätze können auf POSIX- oder REST-API-kompatiblen verteilten Speichersystemen gespeichert werden, indem deren Vorteile genutzt werden. Andere vergleichbare Ansätze entwickeln sich in Vektordatenbanken [80, 8, 80] zur Speicherung von Einbettungen, Feature Stores [73, 16] oder Datenversionskontrollsystemen wie DVC [46] oder LakeFS [21]. Im Gegensatz dazu ist die Deep-Lake-Versionskontrolle in das Format integriert und weist keine externe Abhängigkeit auf, einschließlich Git. Tensor Query Language führt, ähnlich wie TQP-Ansätze [41] und Velox [59], n-dimensionale numerische Operationen auf Tensorspeicher aus, indem sie die vollen Fähigkeiten von Deep-Learning-Frameworks nutzt. Insgesamt weist Deep Lake Parallelen zu Datenseen wie Hudi, Iceberg, Delta [27, 15, 10] auf und ergänzt Systeme wie Databarick's Lakehouse [28] für Deep Learning-Anwendungen.
Dieses Dokument ist auf Arxiv unter der CC 4.0-Lizenz verfügbar .