Цель домашнего задания познакомится с базовыми функционалом dvc.
Предлагается использовать данные из датасета Amazon reviews, но так же можно использовать свои данные для выполнения задания. Задание состоит из следующих шагов:
- Добавить исходные данные в DVC
- Настроить любое удаленное хранилище для DVC (gdrive/s3/… etc.)
- Прописать пайплайн подготовки данных и обучения модели с помощью dvc pipelines. В пайплайне нужно сделать следующие шаги
- Необходимо сохранить предобработанные данные в dvc
- Разделить их на Train и Test и поместить в dvc результат
- Обучить енкодеры, векторайзеры, скаллеры и тд и сохранить полученные настройки в dvc
- Закодировать данные для обучения и тестирования модели
- Обучить простую модель(типа регрессии) и сохранить ее основные метрики (метрики модели на ваш выбор, но чем больше тем лучше)
- (*) Решить проблему с сериализацией моделей, что бы при полном перезапуске пайплайна(dvc repro --force) на каждом этапе получались одни и те же файлы с точностью до бита (опциональное задание + 2 балла)
- Добавить в CI запуск вашего пайплайна
- (*) Сделать проверку совпадения результатов пайплайна в CI с зафиксированной версией в удаленном хранилище (опциональное задание + 2 балла)
- Затем заменить модель на более сложную(например random forest/ catboost) и перезапустить пайплайн и зафиксировать его результаты
- (*) Описать исследование сравнения двух моделей используя dvc.api для получения результатов каждой модели и опубликовать на gitlab pages (опциональное задание + 1 балл)
Задание стоит оформить в отдельной ветке и разбить на несколько отдельных комитов (как минимум отделить пайплайн с простой моделью, со сложной моделью и сравнение результатов в разные комиты) Результатом задания будет:
- Ссылка на ветку с заданием
- Ссылка на исследование на gitlab pages
- Ссылка на первый пайлайн в ci (именно запуск пайплайна в ci)
- Ссылка на второй пайлайн в ci (именно запуск пайплайна в ci)
- Ключи для доступа к хранилищу (убедитесь что проверяющие при необходимости смогут склонировать репозиторий и скачать данные)
За задание можно получить 20 баллов(15 основная часть + 5 дополнительная)