CI/CD для данных и моделей: как «Магнит» деплоит прогноз спроса на Airflow, Spark и Delta Lake

В розничной сети «Магнит» построили полноценный конвейер непрерывной интеграции и доставки (CI/CD) для данных и моделей машинного обучения. В отличие от классического CI/CD, где артефакт — бинарник или образ, здесь артефактом выступает код вместе с терабайтами предвычисленных таблиц. Система базируе

CI/CD для данных и моделей: как «Магнит» деплоит прогноз спроса на Airflow, Spark и Delta Lake

В розничной сети «Магнит» построили полноценный конвейер непрерывной интеграции и доставки (CI/CD) для данных и моделей машинного обучения. В отличие от классического CI/CD, где артефакт — бинарник или образ, здесь артефактом выступает код вместе с терабайтами предвычисленных таблиц. Система базируется на связке Airflow, Spark и Delta Lake и включает релизные циклы, стейджинг-окружения и механизмы отката. Ключевая особенность подхода — кнопку «выкатить в прод» нажимает дежурный data scientist, а не инженер данных. Это стало возможным благодаря автоматизации всех этапов: от подготовки данных до валидации модели на исторических срезах. Каждый релиз проходит через несколько стадий: разработка, стейджинг (имитация продакшена), предпрод и прод. На каждом этапе запускаются пайплайны, которые пересчитывают таблицы с прогнозами спроса.

Как устроен CI/CD для данных и моделей в «Магните»

До внедрения CI/CD процесс обновления прогнозов спроса был ручным и фрагментированным. Data scientist готовил модель, инженер данных разворачивал её, а при ошибках откат занимал часы. В «Магните» решили унифицировать процесс, взяв за основу Airflow — уже используемый оркестратор пайплайнов. Spark и Delta Lake обеспечивают работу с большими объёмами данных (терабайты таблиц) и версионирование данных. Рынок ритейла требует точных прогнозов спроса для оптимизации закупок и логистики. Ошибки в прогнозах ведут к излишкам или дефициту товара. CI/CD позволяет быстро выкатывать улучшенные модели и откатывать неудачные, минимизируя риски.

Чем этот CI/CD отличается от классического?

В классическом CI/CD артефакт — это код, который собирается в исполняемый файл или контейнер. В «Магните» артефакт включает не только код, но и предвычисленные данные — таблицы с прогнозами. Это меняет подход к тестированию: нужно проверять не только корректность кода, но и качество данных. Для этого используются дельта-тесты: сравниваются результаты новой модели с эталонными на исторических данных. Ещё одно отличие — роли. В классическом CI/CD деплоит DevOps. Здесь деплой доверен data scientist, который лучше понимает бизнес-контекст и может оценить, адекватен ли прогноз. Инженеры данных занимаются инфраструктурой, а не ручным развёртыванием.

Какие инструменты используются для CI/CD данных?

Архитектура строится на трёх компонентах. Airflow — оркестратор, который запускает DAG (направленные ациклические графы) для каждого этапа. Spark — вычислительный движок, обрабатывающий терабайты данных. Delta Lake — формат хранения, обеспечивающий транзакционность и версионирование таблиц. Каждый релиз — это версия набора данных (dataset) в Delta Lake. При деплое в стейджинг запускается пайплайн, который считывает сырые данные, применяет модель и записывает прогнозы в новую версию таблицы. Затем автоматически запускаются тесты: сравнение распределений, метрики точности (MAPE, RMSE) и бизнес-проверки. Если тесты проходят, релиз переходит в предпрод, где имитируется реальная нагрузка. После успешного предпрода data scientist утверждает выкат в прод одним нажатием кнопки в Airflow UI. Откат реализован через версионирование Delta Lake: достаточно переключить таблицу на предыдущую версию. Это занимает секунды, а не часы. Вся история изменений хранится в логах, что упрощает аудит.

Кого затронет и как

Для data scientist-ов: они получают контроль над деплоем и могут быстро экспериментировать. Для инженеров данных: снижается нагрузка по ручным деплоям, но появляется задача поддержки инфраструктуры CI/CD. Для бизнеса: ускорение вывода новых моделей в 2-3 раза, снижение числа инцидентов. Для конкурентов: «Магнит» усиливает свои позиции в области Data Science, что может стать конкурентным преимуществом. В российском контексте это особенно важно — импортозамещение и развитие собственных решений. Подход может быть тиражирован в других крупных ритейлерах и компаниях с большими данными.

Что будет дальше

«Магнит» планирует расширять CI/CD на другие типы моделей (не только прогноз спроса) и интегрировать автоматическое A/B-тестирование в продакшене. В перспективе — полный MLOps-цикл с мониторингом дрейфа данных и автоматическим переобучением. Вероятно, компания поделится open-source-инструментами или практиками на конференциях.

Итог

CI/CD для данных и моделей в «Магните» — пример того, как стандартные инструменты (Airflow, Spark, Delta Lake) можно адаптировать под специфику Data Science. Ключевые уроки: артефактом могут быть данные, деплоить может data scientist, а откаты должны быть мгновенными. Этот опыт полезен всем, кто строит MLOps в крупных компаниях.