paint-brush
Обзор ландшафта загрузчиков данных: обсуждениек@serialization
118 чтения

Обзор ландшафта загрузчиков данных: обсуждение

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

В этой статье исследователи выделяют загрузчики данных как ключ к улучшению обучения машинному обучению, сравнивая библиотеки по функциональности, удобству использования и производительности.
featured image - Обзор ландшафта загрузчиков данных: обсуждение
The Serialization Publication HackerNoon profile picture
0-item

Авторы:

(1) Ясон Офейдис, факультет электротехники и Йельский институт сетевых наук, Йельский университет, Нью-Хейвен {равный вклад};

(2) Диего Кидански, факультет электротехники и Йельский институт сетевых наук, Йельский университет, Нью-Хейвен {равный вклад};

(3) Леандрос Тассиулас Левон Гукасян, Activeloop, Маунтин-Вью, Калифорния, США, факультет электротехники и Йельский институт сетевых наук, Йельский университет, Нью-Хейвен.

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

5. ОБСУЖДЕНИЕ

В этой работе мы использовали время как основной инструмент для сравнения производительности различных библиотек. По этому поводу можно сказать несколько вещей. Во-первых, мы заметили, что время работы весьма варьируется и зависит от фоновых процессов, которыми сложно управлять. В то же время доступ к ресурсам с несколькими графическими процессорами обходится дорого, что ограничивает количество экспериментов, которые можно провести. В идеале мы бы провели более трёх повторений каждого эксперимента с большим количеством параметров (больше рабочих, больше размеров партии), но у нас не было для этого ресурсов. Поскольку мы создаем весь наш код с открытым исходным кодом, мы приглашаем читателей провести тесты на своем собственном оборудовании и сообщить о результатах. При этом библиотеки обновляются довольно часто, и смена версии может резко повысить или снизить ее производительность.


В свете вышесказанного мы призываем читателя усвоить качественные аспекты этой статьи, но помните, что полученные здесь цифры могут меняться.


Во-вторых, аспект, который сложнее сравнивать, — это простота использования библиотек, рассматриваемых в этом проекте. Большинство библиотек, включенных в этот тест, не имеют исчерпывающей документации и полагаются в основном на конкретные примеры. Следовательно, реализация в этих библиотеках нетривиальна и подвержена неэффективности. Одним из преимуществ открытия исходного кода нашего кода является то, что мы позволяем любому разработчику идентифицировать и улучшать наш код. Это особенно актуально, поскольку мы ожидаем, что тесты, созданные в этом проекте, могут быть использованы сообществом в качестве шаблонного кода.


Заметим, что лучшей библиотеки, чем все остальные, похоже, не существует. Вместо этого у каждого есть свои сильные стороны. Рассмотрим пример FFCV: он вроде бы самый быстрый в наших экспериментах, но отсутствие поддержки преобразований меток не позволяет использовать его в проектах, требующих таких возможностей.


Мы надеемся проанализировать взаимодействие между фильтрацией и обучением на нескольких графических процессорах в будущей работе. В то же время было бы интересно изучить возможности масштабирования этих библиотек по мере увеличения количества графических процессоров. Аналогично, было бы очень интересно протестировать библиотеки загрузки данных с точки зрения производительности на этапе перетасовки в рабочем процессе обучения DL, поскольку это может оказать существенное влияние на общее время обучения, а его реализация является нетривиальной проблемой. где существует несколько видов подходов.


Исследование библиотек, которые обеспечивают загрузку данных из удаленного хранилища и которые показывают результаты, сравнимые с экспериментами с локальным хранилищем, побудило нас изучить идею формулирования и разработки политики кэширования для потоковой передачи данных по сети. В таких условиях сокращение времени, необходимого для передачи точки данных (например, изображения), может значительно сократить общее время обучения (и, возможно, затраты, если использование сети платное). Идея кэширования набора сетевых данных во время обучения не нова (Mohan et al., 2020). Тем не менее, при обсуждении обучающих и потоковых данных часто предполагается, что весь набор данных можно кэшировать. Кроме того, предполагается, что все образцы будут использоваться один раз в эпоху (Кумар и Сиватхану, 2020), как это традиционно бывает. Мы заинтересованы в изучении того, что происходит, когда размер кэша мал, а также в устранении требования использования каждой точки данных один раз в эпоху. Такая формулировка должна быть заимствована из активного обучения, обобщения данных и изучения учебных программ.


Этот документ доступен на arxiv под лицензией CC 4.0.