paint-brush
Deep Lake, дом для глубокого обучения: контрольные показатели производительностик@dataology
206 чтения

Deep Lake, дом для глубокого обучения: контрольные показатели производительности

Слишком долго; Читать

Исследователи представляют Deep Lake, озеро с открытым исходным кодом для глубокого обучения, оптимизирующее сложное хранение и потоковую передачу данных для структур глубокого обучения.
featured image - Deep Lake, дом для глубокого обучения: контрольные показатели производительности
Dataology: Study of Data in Computer Science HackerNoon profile picture
0-item

Авторы:

(1) Сасун Амбарцумян, Activeloop, Маунтин-Вью, Калифорния, США;

(2) Абхинав Тули, Activeloop, Маунтин-Вью, Калифорния, США;

(3) Левон Гукасян, Activeloop, Маунтин-Вью, Калифорния, США;

(4) Фариз Рахман, Activeloop, Маунтин-Вью, Калифорния, США;.

(5) Грант Топчян, Activeloop, Маунтин-Вью, Калифорния, США;

(6) Дэвид Исаян, Activeloop, Маунтин-Вью, Калифорния, США;

(7) Марк Маккуэйд, Activeloop, Маунтин-Вью, Калифорния, США;

(8) Микаел Арутюнян, Activeloop, Маунтин-Вью, Калифорния, США;

(9) Татевик Акопян, Activeloop, Маунтин-Вью, Калифорния, США;

(10) Иво Страник, Activeloop, Маунтин-Вью, Калифорния, США;

(11) Давид Буниатян, Activeloop, Маунтин-Вью, Калифорния, США.

Таблица ссылок

6. ПОКАЗАТЕЛИ ЭФФЕКТИВНОСТИ

В этом разделе мы экспериментально демонстрируем производительность Deep Lake в масштабе от момента внедрения в формат до обучения в масштабе с другими загрузчиками данных и форматами. Мы сравниваем наборы потоковых данных из разных серверных хранилищ и демонстрируем прирост производительности и масштабируемости во время обучения в облаке.

6.1 Скорость приема в различные форматы

Рисунок 6. Загрузка 10,00 0 изображений из набора данных FFHQ [43] в другой формат (лучше чем ниже)


10 000 изображений из набора данных FFHQ [43] были несжаты и сохранены в формате NumPy. Каждое необработанное изображение размером 1024x1024x3 представляет собой массив размером 3 МБ. Затем, как показано на рис. 6, изображения последовательно записывались в каждый формат. Чтобы повысить производительность, мы использовали TensorStore [23] для записи в форматы Zarr [52] и N5 [24]. Эксперименты проводились на машине AWS c5.9xlarge. Deep Lake обеспечивает значительно более высокую производительность записи по сравнению с форматами массивов и на одном уровне с двоичными форматами, такими как WebDataset [19] и FFCV Beton [39].

6.2 Сравнение локальных загрузчиков данных

Как показано на рис. 7, Deep Lake обеспечивает более быструю загрузку данных в цикле обучения PyTorch без модели. Эксперимент проводился на экземпляре AWS P3.2xlarge с одним графическим процессором Nvidia V100.


Рисунок 7. Скорость итерации изображений по сравнению с другими загрузчиками данных (чем выше, тем лучше)


карта. Набор данных случайным образом сгенерировал 50 000 изображений размером 250x250x3, сохраненных в виде файлов JPEG. Список библиотек, в которых проводились тесты, включал Deep Lake, FFCV [39], Squirrel [75], Webdataset [19] и собственный загрузчик данных PyTorch [58].

6.3 Потоковый загрузчик данных из разных мест

Рис. 8. Потоковая передача из разных мест хранения данных: локальная файловая система, AWS S3, MinIO (лучше чем ниже)


В этом эксперименте, показанном на рис. 8, мы исследуем различные серверные системы хранения для удаленной потоковой передачи, используя тот же набор данных, что и в разделе 6.2. MinIO [17] работает на другом компьютере в локальной сети. Примечательно, что Deep Lake обеспечивает такую же производительность, как если бы данные были локальными для машины, по сравнению с AWS S3. И WebDataset, и Deep Lake значительно медленнее пересылают данные из


Рис. 9. Обучение работе с ImageNet на S3: Файловый режим AWS копирует файл за файлом из S3; Режим быстрого файла начинается сразу же с более медленным обучением; Deep Lake работает так, как если бы данные были локальными, хотя они передаются в потоковом режиме (чем ниже, тем лучше).


MinIO по сравнению с AWS S3. Для более подробных тестов загрузчика данных мы рекомендуем провести исчерпывающее обзорное исследование загрузчика данных, проведенное Ofeidis et al. [54].

6.4 Обучение ImageNet в облаке

Поскольку Deep Lake изначально создавался с учетом облачных технологий, в этом и следующем разделах мы демонстрируем преимущества, которые он предоставляет для обучения моделей в облаке. Мы берем набор данных ImageNet [35] и сохраняем его на AWS S3 [1] в исходном формате и в тензорном формате хранения. Набор данных содержит 1,2 миллиона изображений и меток общим объемом 150 ГБ. Deep Lake достигает практически такой же производительности обучения, как если бы данные были локальными для машины. Это экономит до 4 раз время вычислений и стоимость графического процессора, как показано на рис. 9.

6.5 Распределенное обучение большого мультимодального набора данных

В качестве второго эксперимента мы берем набор данных 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.