Git workflow
Лев Коваленко — Senior DS Engineer
Какие workflow существуют?
gitflow
github flow
forking workflow
Gitflow
Github flow
Forking workflow
Почему эти flow не подходят DS?
Data Science Lifecycle Process
Data branch
Explore and experiment branches
Model branches
Хорошая методология?
Плюсы
В основной ветке только важный код.
Сохраняется информация о всех исследованиях.
Имеет “логичные” разделения веток для разных задач.
Минусы
Сложно автоматизировать воспроизведение всех исследований.
Информация об исследованиях “размазана” по репозиторию.
В теории выглядит хорошо, а на практике…
Альтернативы..?
Репозиторий исследователя
Ведется по
github flow
Большое количество тетрадок
Одна тетрадка - одно исследование
Каждое исследование в своей ветке
Ревью в первую очередь результатов исследования, а не кода
Поддерживается воспроизводимость исследований
Данные получаются из централизованного хранилища
Новых данных не порождает
Репозиторий дата инженера
Ведется по
git flow
Разрабатывается как пайплайн обработки данных
Порождает данные в централизованное хранилище
Высокие требования к качеству кода
Плюсы и минусы
Плюсы
Быстрое проведение исследований
Исследования и исcледователи независимы
Все исследования воспроизводимы
Единый пайплайн обработки данных
В пайплайне только нужный код
Минусы
Нужно следить и за данными и за кодом
Иногда появляется копипаста в исследованиях
Нужно поддерживать пайплайн обработки данных