Авторы:
(1) Сасун Амбарцумян, Activeloop, Маунтин-Вью, Калифорния, США;
(2) Абхинав Тули, Activeloop, Маунтин-Вью, Калифорния, США;
(3) Левон Гукасян, Activeloop, Маунтин-Вью, Калифорния, США;
(4) Фариз Рахман, Activeloop, Маунтин-Вью, Калифорния, США;.
(5) Грант Топчян, Activeloop, Маунтин-Вью, Калифорния, США;
(6) Дэвид Исаян, Activeloop, Маунтин-Вью, Калифорния, США;
(7) Марк Маккуэйд, Activeloop, Маунтин-Вью, Калифорния, США;
(8) Микаел Арутюнян, Activeloop, Маунтин-Вью, Калифорния, США;
(9) Татевик Акопян, Activeloop, Маунтин-Вью, Калифорния, США;
(10) Иво Страник, Activeloop, Маунтин-Вью, Калифорния, США;
(11) Давид Буниатян, Activeloop, Маунтин-Вью, Калифорния, США.
В этом разделе мы экспериментально демонстрируем производительность Deep Lake в масштабе от момента внедрения в формат до обучения в масштабе с другими загрузчиками данных и форматами. Мы сравниваем наборы потоковых данных из разных серверных хранилищ и демонстрируем прирост производительности и масштабируемости во время обучения в облаке.
10 000 изображений из набора данных FFHQ [43] были несжаты и сохранены в формате NumPy. Каждое необработанное изображение размером 1024x1024x3 представляет собой массив размером 3 МБ. Затем, как показано на рис. 6, изображения последовательно записывались в каждый формат. Чтобы повысить производительность, мы использовали TensorStore [23] для записи в форматы Zarr [52] и N5 [24]. Эксперименты проводились на машине AWS c5.9xlarge. Deep Lake обеспечивает значительно более высокую производительность записи по сравнению с форматами массивов и на одном уровне с двоичными форматами, такими как WebDataset [19] и FFCV Beton [39].
Как показано на рис. 7, Deep Lake обеспечивает более быструю загрузку данных в цикле обучения PyTorch без модели. Эксперимент проводился на экземпляре AWS P3.2xlarge с одним графическим процессором Nvidia V100.
карта. Набор данных случайным образом сгенерировал 50 000 изображений размером 250x250x3, сохраненных в виде файлов JPEG. Список библиотек, в которых проводились тесты, включал Deep Lake, FFCV [39], Squirrel [75], Webdataset [19] и собственный загрузчик данных PyTorch [58].
В этом эксперименте, показанном на рис. 8, мы исследуем различные серверные системы хранения для удаленной потоковой передачи, используя тот же набор данных, что и в разделе 6.2. MinIO [17] работает на другом компьютере в локальной сети. Примечательно, что Deep Lake обеспечивает такую же производительность, как если бы данные были локальными для машины, по сравнению с AWS S3. И WebDataset, и Deep Lake значительно медленнее пересылают данные из
MinIO по сравнению с AWS S3. Для более подробных тестов загрузчика данных мы рекомендуем провести исчерпывающее обзорное исследование загрузчика данных, проведенное Ofeidis et al. [54].
Поскольку Deep Lake изначально создавался с учетом облачных технологий, в этом и следующем разделах мы демонстрируем преимущества, которые он предоставляет для обучения моделей в облаке. Мы берем набор данных ImageNet [35] и сохраняем его на AWS S3 [1] в исходном формате и в тензорном формате хранения. Набор данных содержит 1,2 миллиона изображений и меток общим объемом 150 ГБ. Deep Lake достигает практически такой же производительности обучения, как если бы данные были локальными для машины. Это экономит до 4 раз время вычислений и стоимость графического процессора, как показано на рис. 9.
В качестве второго эксперимента мы берем набор данных LAION [67], содержащий 400 миллионов пар изображение-текст, и обучаем CLIP [60], модель встраивания изображения-текста с 1 миллиардом параметров. Исходный набор данных представляет собой таблицу файлов Parquet со столбцом URL-адресов изображений. Загрузка набора данных из источника заняла 100 часов, а загрузка в формат Tensor Storage заняла всего 6 часов, общий размер 1,9 ТБ. Набор данных хранился на AWS в восточном регионе США во время обучения машины с графическим процессором в центральном регионе США. Как показано на рис. 10, Deep Lake обеспечивает высокую загрузку графического процессора за счет потоковой передачи 5100 изображений/с на 16 графических процессоров Nvidia A100, тогда как без модели до 80 000 изображений/с на машину в том же регионе.
Этот документ доступен на arxiv под лицензией CC 4.0.