Авторы:
(1) Сасун Амбарцумян, Activeloop, Маунтин-Вью, Калифорния, США;
(2) Абхинав Тули, Activeloop, Маунтин-Вью, Калифорния, США;
(3) Левон Гукасян, Activeloop, Маунтин-Вью, Калифорния, США;
(4) Фариз Рахман, Activeloop, Маунтин-Вью, Калифорния, США;.
(5) Грант Топчян, Activeloop, Маунтин-Вью, Калифорния, США;
(6) Дэвид Исаян, Activeloop, Маунтин-Вью, Калифорния, США;
(7) Марк Маккуэйд, Activeloop, Маунтин-Вью, Калифорния, США;
(8) Микаел Арутюнян, Activeloop, Маунтин-Вью, Калифорния, США;
(9) Татевик Акопян, Activeloop, Маунтин-Вью, Калифорния, США;
(10) Иво Страник, Activeloop, Маунтин-Вью, Калифорния, США;
(11) Давид Буниатян, Activeloop, Маунтин-Вью, Калифорния, США.
Несколько проектов пытались улучшить или создать новые форматы для хранения неструктурированных наборов данных, включая TFRecord, расширяющий Protobuf [5], Petastorm [18], расширяющий Parquet [79], Feather [7], расширяющий стрелку [13], Squirrel, использующий MessagePack [75], Бетон в FFCV [39]. Разработка универсального формата набора данных, который бы подходил для всех вариантов использования, является очень сложной задачей. Наш подход был в основном вдохновлен CloudVolume [11], четырехмерным фрагментированным хранилищем NumPy для хранения больших объемов биомедицинских данных. Существуют и другие подобные форматы хранения массивов NumPy, такие как Zarr [52], TensorStore [23], TileDB [57]. Deep Lake представила систему типизации, тензоры динамической формы, интеграцию с быстрыми загрузчиками потоковых данных глубокого обучения, запросы к тензорам и поддержку визуализации в браузере. Альтернативный подход к хранению крупномасштабных наборов данных заключается в использовании распределенной файловой системы HPC, такой как Lustre [69], дополненной кешем PyTorch [45] или высокопроизводительного уровня хранения, такого как AIStore [26]. Наборы данных Deep Lake можно хранить поверх распределенных систем хранения, совместимых с POSIX или REST API, используя их преимущества. Другие сопоставимые подходы развиваются в векторных базах данных [80, 8, 80] для хранения вложений, хранилищах функций [73, 16] или системах контроля версий данных, таких как DVC [46] или LakeFS [21]. Напротив, контроль версий Deep Lake встроен в формат без внешней зависимости, включая Git. Язык тензорных запросов, подобно подходам TQP [41] и Velox [59], выполняет n-мерные числовые операции с тензорным хранилищем, по-настоящему используя все возможности структур глубокого обучения. В целом, Deep Lake использует параллели с такими озерами данных, как Hudi, Iceberg, Delta [27, 15, 10] и дополняет такие системы, как Databarick's Lakehouse [28] для приложений глубокого обучения.
Этот документ доступен на arxiv под лицензией CC 4.0.