Где начинаются и заканчиваются разные трубопроводы?

Вопрос или проблема

Существует множество “проводок”, которые существуют в современном мире Data Science:

  1. данные (“подъем и перенос”, курирование, согласование?)
  2. вывод
  3. моделирование
  4. машинное обучение (в отличие от 2 и 3?)
  5. непрерывная интеграция и развертывание (CICD контента, но в наши дни также IaC)

Я не имею в виду различные компании в каждой из этих областей, а скорее функцию каждого раздела: где они начинаются и заканчиваются? Когда мои Airflow DAG должны сохранять сырые данные как курированные в Azure Storage или S3 корзинах и говорить Synapse или Sagemaker: “хорошо, это теперь ваше”? Почему бы не запускать базовые процессы моделирования в Airflow или почему бы не подготовить мои данные с помощью MLStudio pipelines?

#5 может показаться, что это не имеет отношения к Data Science, кроме: когда верхние приложения, которые потребляют этот выход данных из #2-4, должны уведомлять пользователей о том, что инфраструктура или программное обеспечение, работающее на ней, изменилось? Почему бы не позволить этим нижним потребителям изменять схемы EventHub или позволить верхним DS производителям одобрять обновления инфраструктуры и контента и повторные развертывания?

Ответ или решение

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

1. Конвейеры данных (Data Pipeline)

Начало и окончание:

  • Начало: Конвейер данных начинается с процесса сбора сырьевых данных. Это может быть получение данных из различных источников, таких как базы данных, API, логирование приложений или даже простые файлы CSV.
  • Окончание: Окончание этого этапа происходит, когда данные проходят через процессы очистки (data cleansing), подготовки (data preparation) и, возможно, курирования (curation) и согласования (reconciliation), и становятся готовыми к хранению в облачном хранилище (например, Azure Storage или S3).

2. Инференция (Inference)

Начало и окончание:

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

3. Моделирование (Modeling)

Начало и окончание:

  • Начало: Моделирование начинается на этапе, когда исследователь или специалист по данным начинает разрабатывать модели на основе исторических данных с использования методов статистики и машинного обучения.
  • Окончание: Этот этап завершается, когда модель верифицирована и оценена на тестовых данных, готовая к использованию в инференции.

4. Машинное обучение (Machine Learning)

Начало и окончание:

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

5. Непрерывная интеграция и развертывание (CI/CD)

Начало и окончание:

  • Начало: Этап CI/CD начинается с момента, когда разработанный код, модель или инфраструктура готовы к тестированию и развертыванию в рабочей среде.
  • Окончание: Этот процесс завершается после успешного развертывания обновлений, когда уведомления об изменениях отправляются конечным пользователям, а система готова к бесшовной интеграции обновлений без прерывания работы.

Вопросы интеграции и взаимодействия

Теперь, когда мы рассмотрели начало и окончание каждого из конвейеров, рассмотрим несколько вопросов интеграции и взаимодействия:

  • Когда сохранять данные и передавать их другим системам, таким как Synapse или SageMaker? Данные должны быть переданы, когда они очищены и подготовлены для анализа, чтобы гарантировать, что конечные системы получают качественные и готовые к обработке данные. Это обеспечивает эффективность и надежность обработки данных.

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

  • Когда уведомления от организаций должны происходить? Уведомления должны происходить, когда меняется функциональность системы или её зависимостей, чтобы обеспечить относимость развертывания и минимизировать влияние на конечных пользователей.

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

Оцените материал
Добавить комментарий

Капча загружается...