Конвейер данных в компьютерном зрении — это путь, по которому проходят данные. От сбора данных до хранения, использования для обучения моделей и развертывания. В идеале это связанная техническая установка, в которой хранилище данных связано с различными инструментами подготовки данных и MLops, которые, в свою очередь, подключены через API к модели машинного обучения и развернутому продукту.

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

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

Рисунок 1.конвейер машинного обучения; иллюстрация автора

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

  • Метаданные (например, погода, время, местоположение GPS)
  • Ярлыки/аннотации
  • Предсказания модели
  • Вложения
  • Изображения/видео
  • Результаты эксперимента (например, точность модели для заданного набора данных)
  • Доверительные отношения модели развернутой системы

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

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

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

В следующем абзаце подробно описывается и приводится пример того, как построить конвейер данных для компьютерного зрения.‍

Пример конвейера данных для компьютерного зрения

На рис. 2 показаны несколько настроек конвейера данных с различными инструментальными возможностями. Можно либо создавать свои собственные сценарии, либо использовать инструмент, подобный Lightly, для соединения различных частей цепочки разработки.

Рисунок 2. Автоматизированные потоки данных через конвейер данных ИИ; иллюстрация автора

Используя Lightly, конвейер данных для компьютерного зрения может, например, иметь следующую настройку инструментов:

Рисунок 3: инструменты конвейера машинного обучения для компьютерного зрения; таблица по автору

Заключение

Конвейер данных в машинном обучении в целом и в компьютерном зрении в частности — это путь, по которому проходят данные. Он направлен на обеспечение автоматизированной и масштабируемой обработки данных для машинного обучения.

Эта запись в блоге является частью серии статей о конвейерах данных. Часть 2 подробно описывает, как построить конвейер данных для компьютерного зрения, а часть 3 объясняет, почему конвейеры данных важны.

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