Конвейеры ETL против. Конвейеры машинного обучения — сходства и различия

следите за дополнительной информацией: https://medium.com/@fahadthedatascientist

Введение

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

Определение конвейера данных

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

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

Что такое извлечение данных в конвейере данных

Извлечение данных из операционных систем предприятия и подключенных устройств — это первый модуль конвейера данных. На этом этапе процесса конвейер собирает необработанные данные из множества отдельных корпоративных систем данных (ERP, CRM), производственных систем и журналов приложений. Процессы извлечения настроены для извлечения данных из каждого источника данных.

Возможны два типа механизмов извлечения.

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

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

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

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

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

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

Что такое хранение данных в конвейере данных

Решит ли предприятие хранить необработанные данные в озере данных перед их переносом в хранилище данных, зависит от его бизнес-потребностей и политик. Озера данных не подходят для интерактивной аналитики и отчетности. Они более полезны для отслеживания и аудита. Другой мотивацией является то, что цены на хранение и вычисления стали относительно дешевыми, что позволяет предприятиям пожинать плоды наличия озера данных и хранилища данных, построенных поверх него.

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

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

Что такое доступ к данным в конвейере данных

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

Что такое конвейеры машинного обучения

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

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

Что такое прием данных в конвейерах машинного обучения

Первым шагом ML Pipelines является сбор и передача реальных данных, необходимых для создания точных прогнозов и рекомендаций. Данные обычно собираются на границе сети через точки приема, такие как торговые точки в магазине, автомобили, средства мониторинга безопасности или медицинские устройства.

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

Необработанные данные, собранные точками приема, передаются в центральное озеро необработанных исторических данных, обычно расположенное в облаке, для обеспечения масштабируемости. Эти данные также могут храниться локально (например, прогнозирование времени прибытия Uber и Lyft). Для крупных реализаций и для сокращения общего времени завершения приема исторические данные озера могут быть разделены на несколько серверов данных, несколько серверных ядер и процессоров. Как и в случае с Data Pipeline, предприятия могут хранить необработанные исторические операционные данные в своих операционных системах (ERP, CRM).

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

Что такое подготовка данных в конвейере машинного обучения

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

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

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

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

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

Что такое обучение и оценка моделей в конвейерах машинного обучения

Третий модуль посвящен обучению прогностических моделей. Подготовленные данные с предыдущего шага передаются в хранилище обучающих данных, в котором выполняются алгоритмы обучения.

Традиционные высокоструктурированные СУБД по-прежнему популярны для хранения моделей обучения и обучения из-за их знакомой архитектуры данных и хорошо известного языка SQL (язык структурированных запросов), используемого для управления наборами данных. Однако по мере того, как наборы данных машинного обучения постоянно растут, предприятия переходят на неструктурированные системы баз данных, такие как NoSQL. Эти системы баз данных компенсируют строгие требования к структуре данных СУБД ради гибкости и скорости. Они приветствуют различные форматы файлов и предназначены для высокопроизводительной и быстрой обработки в больших масштабах. Добавлена ​​система управления программным обеспечением, такая как Hadoop, специализирующаяся на массовых параллельных вычислениях, для управления распределенными базами данных, хранящимися на нескольких узлах обработки и серверах.

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

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

Что такое развертывание модели в конвейере машинного обучения

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

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

Необходимо внедрить гибкую архитектуру, чтобы приспособить эти различные типы моделей и их чрезвычайно быстрый рост. Модели машинного обучения будут постоянно обрабатывать данные, чтобы делать прогнозы. Поэтому крайне важно развернуть систему хранения, которая поддерживает большие объемы данных и имеет чрезвычайно низкую задержку. Модели прогнозирования должны быть развернуты в контейнерных сервисных кластерах, распределенных для балансировки нагрузки, чтобы обеспечить масштабируемость, низкую задержку и высокую пропускную способность, как Docker и Kubernetes.

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

Что такое мониторинг производительности в конвейерах машинного обучения

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

В зависимости от бизнес-кейса эти показатели производительности могут определять производительность для высокопроизводительных/высокопроизводительных рабочих нагрузок «в нерабочее время», когда прогнозы создаются по периодическому расписанию, или для чувствительной к задержкам производительности в реальном времени, когда прогнозы создаются по запросу. и немедленно вернуть правильные ответы.

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

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

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

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

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

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

Анализ и заключение

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

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

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

Машинное обучение и конвейеры данных вместе

На изображении выше показан один из возможных способов присоединения конвейера машинного обучения к существующему конвейеру данных. Когда специалистов по данным ML нанимают для создания проекта ML, они, естественно, спрашивают, могут ли они получить доступ к уже существующим наборам чистых данных. Чтобы правильно привязать свой конвейер ML к существующему конвейеру данных, им необходимо установить, соответствуют ли существующие данные их потребностям для запуска их моделей ML или необходимо использовать дополнительные источники данных. С точки зрения безопасности им необходимо определить свои права доступа. Поскольку прогностические модели имеют неустанный аппетит к данным, им необходимо определить, сколько дополнительного дискового пространства им потребуется для запуска своих моделей машинного обучения.

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

Конвейеры машинного обучения относительно новы по сравнению с конвейерами данных. Специалистам по данным нужна система управления ML Pipeline, которая может легко управлять всем сквозным процессом ML. Сюда входит настройка процесса приема, парадигмы преобразования данных, а также модулей тестирования и обучения модели. Эта система управления машинным обучением должна автоматически и тщательно регистрировать все изменения модели и предлагать расширенные функции контроля версий модели. Система управления ML Pipeline должна быть сквозной платформой управления, которая позволяет специалистам по данным легко прививать ветвь ML Pipeline к существующему Data Pipeline. Он также должен быть корпоративного уровня, масштабируемым, безопасным и работать в любой облачной среде выполнения.