На самом деле есть множество способов использовать CI-CD для DSов. Так как основной инструмент DSов это код, то его надо поддерживать в чистоте и периодически проверять на наличие отклонений от codestyle или наличия ошибок. Для этого в CI задать такие шаги как линтеринг и форматинг. Все таки надо проверять работу кода по подготовке данных и обучению моделей на основные шаги и выполняемые свойства. Даже если все это сделано с использованием сторонних библиотек.
Кроме этого можно рассмотреть автоматизированное обучение моделей. Например, у нас есть какой-то пайплайн обработки данных и обучения модели. Было бы здорово если при изменении части пайплайна по обработке какого-то признака автоматически проводилось обучение модели и замер ее качества? Эту часть тоже можно автоматизировать, но CT (Continuous Training) чуть-чуть выбивается за рамки концепции CI-CD, так что в этом занятии ее опустим. Пока можно сказать что CI может служить тригером для CT.
Еще на CI можно возложить задачу по генерации отчетов. Как говорилось ранее исследователям стоит записывать все, то было бы неплохо генерировать отчеты автоматически, хотя бы из markdown перегонять в html и публиковать на какой-то платформе для общего доступа. А еще для некоторых отчетов нужно генерировать артефакты: графики, таблицы и тд.
Вроде тут CI для DS заканчивается и можно переходить к CD. Здесь как раз идет поставка основных артефактов DS это отчеты, модели и код. Отчеты можно разместить на какой-то открытой платформе (в том числе и внутри компании/команды), что бы у других исследователей был доступ к ним. Модели можно положить в хранилище моделей готовых к поставке в приложения, или же даже развернуть микросервис с моделью. Ну и код, тоже является артефактом, который можно опубликовать, например в реетсре питоноских пакетов внутри компании, или даже на pypi testing.
Часть задач CI можно перенести из разработки напрямую в DS, но в DS появляются свои, не всегда тривиальные, задачи, которые можно автоматизировать средствами CI-CD.