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

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, Маунтин-Вью, Калифорния, США.

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

5. СЛУЧАИ ИСПОЛЬЗОВАНИЯ МАШИННОГО ОБУЧЕНИЯ

В этом разделе мы рассмотрим применение Deep Lake.


Типичный сценарий в приложении глубокого обучения начинается с


(1) Необработанный набор файлов, собранный в сегменте объектного хранилища. Он может включать изображения, видео и другие типы мультимедийных данных в их собственных форматах, таких как JPEG, PNG или MP4.


(2) Любые связанные метаданные и метки, хранящиеся в реляционной базе данных. При желании их можно хранить в одном сегменте вместе с необработанными данными в нормализованной табличной форме, например в формате CSV, JSON или Parquet.


Как показано на рис. 4, создается пустой набор данных Deep Lake. Затем определяются пустые тензоры для хранения как необработанных данных, так и метаданных. Количество тензоров может быть произвольным. Базовый пример задачи классификации изображений будет иметь два тензора:


• Тензор изображений с htype 𝑖𝑚𝑎𝑔𝑒 и сжатием образцов JPEG


• Тензор меток с htype 𝑐𝑙𝑎𝑠𝑠_𝑙𝑎𝑏𝑒𝑙 и фрагментарным сжатием LZ4.


После объявления тензоров данные можно добавить в набор данных. Если сжатие необработанного изображения соответствует сжатию тензорной выборки, двоичный файл напрямую копируется в фрагмент без дополнительного декодирования. Данные метки извлекаются из запроса SQL или таблицы CSV в категориальное целое число и добавляются в тензор меток. Тензорные фрагменты меток сохраняются с использованием сжатия LZ4. Все данные Deep Lake хранятся в корзине и являются автономными. После сохранения к данным можно получить доступ через интерфейс NumPy или в виде потокового загрузчика данных глубокого обучения. Затем модель, работающая на вычислительной машине, перебирает поток тензоров изображений и сохраняет выходные данные модели в новом тензоре, называемом предсказаниями. Кроме того, ниже мы обсудим, как можно обучать, контролировать версии, запрашивать и проверять качество набора данных Deep Lake.

5.1 Обучение модели глубокого обучения

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

5.2 Происхождение данных и контроль версий

Данные глубокого обучения постоянно развиваются по мере добавления новых данных и контроля качества существующих данных. Аналитическая и обучающая нагрузки выполняются параллельно, пока данные меняются. Следовательно, знание того, какая версия данных использовалась данной рабочей нагрузкой, имеет решающее значение для понимания взаимосвязи между данными и производительностью модели. Deep Lake позволяет специалистам по глубокому обучению понять, какая версия их данных использовалась в той или иной аналитической рабочей нагрузке, и путешествовать во времени по этим версиям, если требуется аудит. Поскольку все данные изменяемы, их можно редактировать в соответствии с требованиями конфиденциальности, связанными с соблюдением требований. Как и Git для кода, Deep Lake также вводит концепцию ветвей данных, позволяющую экспериментировать и редактировать данные, не влияя на работу коллег.

5.3 Запрос данных и аналитика

Обучение моделей глубокого обучения редко происходит на всех данных, собранных организацией для конкретного приложения. Наборы обучающих данных часто создаются путем фильтрации необработанных данных на основе условий, повышающих производительность модели, что часто включает в себя балансировку данных, удаление избыточных данных или выбор данных, содержащих определенные функции. Deep Lake предоставляет инструменты для запроса и анализа данных, чтобы инженеры глубокого обучения могли создавать наборы данных, обеспечивающие модели высочайшей точности.

5.4 Проверка данных и контроль качества

Хотя обучение без учителя становится все более применимым в реальных случаях использования, большинство приложений глубокого обучения по-прежнему полагаются на обучение с учителем. Качество любой контролируемой системы обучения зависит от качества ее данных, которое часто достигается путем тщательной ручной проверки данных. Поскольку этот процесс занимает много времени, крайне важно предоставить участвующим в нем людям инструменты для очень быстрого изучения огромных объемов данных. Deep Lake позволяет проверять наборы данных глубокого обучения любого размера из браузера без необходимости установки или загрузки данных. Кроме того, инструменты можно расширить для сравнения результатов модели с реальными данными. В сочетании с запросами и контролем версий это можно применить для итеративного улучшения данных для достижения наилучшей модели.


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