- Вопрос или проблема
- Ответ или решение
- 1. Конвейеры данных (Data Pipeline)
- Начало и окончание:
- 2. Инференция (Inference)
- Начало и окончание:
- 3. Моделирование (Modeling)
- Начало и окончание:
- 4. Машинное обучение (Machine Learning)
- Начало и окончание:
- 5. Непрерывная интеграция и развертывание (CI/CD)
- Начало и окончание:
- Вопросы интеграции и взаимодействия
Вопрос или проблема
Существует множество “проводок”, которые существуют в современном мире Data Science:
- данные (“подъем и перенос”, курирование, согласование?)
- вывод
- моделирование
- машинное обучение (в отличие от 2 и 3?)
- непрерывная интеграция и развертывание (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. Это позволяет организациям максимально использовать свои данные и ресурсы, создавая надежные и масштабируемые решения.