Трубопроводы данных

Тема дорожной карты · Основы машинного обучения

Трубопроводы данных — это автоматизированные рабочие процессы, которые перемещают, трансформируют и подготавливают данные от сырых источников до формата, пригодного для обучения ML-моделей или инференса. Они инкапсулируют этапы: приём данных, валидацию, очистку, feature engineering и сервинг в воспроизводимый, версионированный процесс. Хорошо спроектированные pipeline обеспечивают согласованность между обучением и продакшеном, предотвращая дисбаланс между тренировочным и рабочим окружением. Популярные инструменты для создания данных pipeline включают Apache Airflow, Prefect и scikit-learn Pipeline API.

Как это работает

Трубопроводы данных покрывают процессы, которые происходят после того, как notebook завершает свою работу. Это включает в себя данные pipeline (Apache Airflow, Dagster, Prefect), feature stores (Feast), оркестрацию обучения (Kubeflow, SageMaker), реестры моделей, деплоймент (онлайн-сервинг, батч, на-устройстве), мониторинг (дрейф данных, концептуальный дрейф, распределение предсказаний, разрыв между предсказанием и истиной) и A/B тестирование (перекрывающая экспериментальная инфраструктура по Google). Производственное ML — это software engineering с дополнительными moving parts, где сама модель составляет менее 10% всей работы.

Когда применять

Дизайн системы с мониторингом с самого начала — без него невозможно знать, когда модель начинает деградировать. Сначала стоит использовать батч-сервинг (проще и дешевле); онлайн-сервинг следует внедрять только тогда, когда требуется низкая задержка. Feature store становится перегрузкой ниже ~5 моделей; она ценна, когда множество моделей делит фичи. A/B тестирование каждого изменения модели против предыдущего производства — это основа для понимания, как изменения влияют на производственные результаты.

Типичные ошибки

Типичные ошибки при работе с трубопроводами данных включают деплоймент моделей без мониторинга (модели могут тихо деградировать, и это становится очевидным только после обращения пользователей), дисбаланс между тренировочным и рабочим окружением (предварительная обработка данных отличается между тренировкой и продакшеном), отсутствие реестра моделей (невозможно ответить на вопрос "какая модель работала прошлый вторник?"), и неправильное A/B тестирование (сравнение яблок и апельсинов, разные трафики, разные временные окна).

Связанные понятия

Полезные ресурсы

Проверить знания (1)

Загрузка вопросов…