Вариант 10: https://www.kaggle.com/c/learn-ai-bbc
Цель работы:
Получить навыки разработки CI/CD pipeline для ML моделей с достижением метрик моделей и качества.
Ход работы:
-
- Создать репозитории модели на GitHub, регулярно проводить commit + push в ветку разработки, важна история коммитов;
-
- Провести подготовку данных для набора данных, согласно варианту задания;
-
- Разработать ML модель с ЛЮБЫМ классическим алгоритмом классификации, кластеризации, регрессии и т. д.;
-
- Конвертировать модель из *.ipynb в .py скрипты;
-
- Покрыть код тестами, используя любой фреймворк/библиотеку;
-
- Задействовать DVC;
-
- Использовать Docker для создания docker image.
-
- Наполнить дистрибутив конфигурационными файлами:
-
- config.ini: гиперпараметры модели;
-
- Dockerfile и docker-compose.yml: конфигурация создания контейнера и образа модели;
-
- requirements.txt: используемые зависимости (библиотеки) и их версии;
-
- Создать CI pipeline (Jenkins, Team City, Circle CI и др.) для сборки docker image и отправки его на DockerHub, сборка должна автоматически стартовать по pull request в основную ветку репозитория модели;
-
- Создать CD pipeline для запуска контейнера и проведения функционального тестирования по сценарию, запуск должен стартовать по требованию или расписанию или как вызов с последнего этапа CI pipeline;
-
- Результаты функционального тестирования и скрипты конфигурации CI/CD pipeline приложить к отчёту.
Результаты работы:
- Отчёт о проделанной работе;
- Ссылка на репозиторий GitHub;
- Ссылка на docker image в DockerHub;
Обязательно обернуть модель в контейнер (этап CI) и запустить тесты внутри контейнера (этап CD)