Задача: Используя набор данных о пингвинах palmerpenguins🐧 для построения и обучения модели машинного обучения, создать приложение, по предсказанию вида пингвина, построить CI/CD систему согласно методологии MLOps.
Команда | Роль |
---|---|
Екатерина Зверева | Участие в жизненном цикле проекта на всех этапов. Координация этапов выполнения работы. Scrum. |
Александр Кузнецов | Руководитель проекта. Выбор ML алгоритма, решающего задачу; Автоматизация построения пайплайнов обработки, тестирования данных. Версионность, работа с MinIO. |
Александр Мулявин | Разработка и тестирования в части подготовки, запуска и поддержки приложения и данных. |
Денис Косташ | Подготовка данных, построение архитектуры. |
Владислав Телегинский | Участие в устранении и анализа причин сбоев. Написание тестов. |
Сергей Полухин | Документация, поиск датасета, тестирование. |
-
Закрепили навыки полученные на курсе. Методики и инструменты при построении CI/CD систем.
-
Прошлись по всем этапам управления проектом согласно MLOps:
- Поиск и предобработка данных.
- Разведывательный анализ данных и выделение важной информации
- Построения и обучения модели машинного обучения.
- Развертывании модели машинного обучения.
- Оркестируется с помощью CI/CD Jenkins, в котором запускаются модульные тесты и тесты на качество данных, а также осуществляется сборка приложения.
- Версионирование датасета и модели с помощью DVC и синхронизация с удалённым хранилищем MinIO.
- Итоговое приложение в виде образа
Docker
.
-
Наглядно убедились что идеология MLOps ускоряет разработку и улучшает качество кода в проектах машинного обучения, а автоматизируя процессы, контроль версий компонентов решения, тестирование, сборку и вывод решения в производственную среду, экономим деньги, ресурсы, время и упрощаем мониторинг качества конечного продука.
Проект состоит из следущих компонентов:
- скрипты для развертывания сервисов и настройки CI/CD (
./buildscripts
); - скрипты Python для обрабоки данных и обучения модели (
./src
); - приложение проекта (
./src/ui
).