Трехэтапное руководство по созданию конвейеров данных для компьютерного зрения. Настройка конвейера данных направлена ​​на автоматизацию потоков и передачи данных, выбор данных и управление наборами данных (подробнее о том, что такое конвейер данных, читайте здесь). ). Таким образом, автоматизированные процессы должны быть в центре внимания при построении конвейера данных. В этой статье подробно рассказывается о том, как построить конвейер данных для компьютерного зрения за 3 шага.

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

Для этого информация об элементах и ​​хранилище должны быть взаимосвязаны с инструментами.

Таким образом, для настройки конвейера данных необходимо выполнить три важных шага: (1) подключение к хранилищу данных, (2) подключение инструментов и (3) установка мониторинга.

1. Подключение хранилища данных

На этом первом этапе идея состоит в том, чтобы автоматизировать потоки собранных данных из вашего частного хранилища в конвейер данных. Например, если вы храните свои данные у облачного провайдера, такого как Amazon AWS S3, вы можете подключить их к своему конвейеру данных, например, с помощью Lightly, и такая передача будет происходить автоматически. Затем, по мере поступления данных, они будут передаваться в ваш браузер, чтобы пользовательский интерфейс Lightly визуализировал данные и помогал управлять ими. Кроме того, автоматическая обработка может происходить, когда в набор обучающих данных добавляются только образцы, добавляющие ценность. При такой настройке никакие данные не покидают серверы, что гарантирует безопасность данных.

2. Инструментальное соединение

Общей проблемой ML с точки зрения конвейеров данных являются накладные расходы, связанные с курированием и маркировкой набора данных. Накладные расходы могут быть связаны с различными задачами, например:

  • извлечение кадров из видео
  • ручной отбор репрезентативных образцов
  • устранение крайних и угловых случаев
  • перебалансировка набора данных, чтобы избежать смещения
  • аннотация вручную
  • поиск неправильно маркированных образцов
  • обучающие модели и отслеживающие эксперименты
  • отладка модели и поиск ложных срабатываний
  • написание скриптов для передачи данных

Действительно, поскольку многие команды инженеров отдают эту задачу на аутсорсинг, данные приходится вручную перемещать на стороннюю платформу. С автоматизированным конвейером данных передача данных может происходить без особых усилий. Есть два варианта: писать скрипты или использовать такой инструмент, как Lightly. Если кто-то решит использовать Lightly API, он может быть напрямую подключен к различным инструментам и сервисам маркировки данных, MLops и отслеживанию экспериментов. Как показано на рис. 3 в части 1 этой серии блогов, Lightly можно было соединить с Labelstudio, Weights & Biases и Grid.ai, после чего данные можно было напрямую передавать с одной платформы на другую.

3. Установка и мониторинг

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

Заключение

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

Маттиас Хеллер,
соучредитель Lightly.ai