Понимание бизнес-проблемы
Как инженер машинного обучения в компании Proseware, вы сотрудничаете со многими техническими специалистами. Вы сотрудничаете не только с командой по обработке и анализу данных, которая обучает модель классификации диабета, но и с разработчиками программного обеспечения, ответственными за веб-приложение (которое используется врачами) на основе этой модели.
Веб-приложение будет обновляться со временем, чтобы адаптировать его к новым требованиям, и модель будет меняться параллельно с этими изменениями. Всякий раз, когда наблюдается смещение данных или снижение производительности модели, команда обработки и анализа данных будет пересматривать используемую модель и обновлять ее код.
Всякий раз, когда потребуется изменение модели, команде по обработке и анализу данных придется повторять этапы экспериментов, тестирования и упаковки модели. Пока они работают над новой улучшенной моделью, используемая в рабочей среде модель должна оставаться неизменной и стабильно поддерживать интерфейс для специалистов, работающих с веб-приложением.
В качестве инженера машинного обучения вы хотите настроить разработку на основе функций для специалистов по обработке и анализу данных. Работая с ветвями в системе управления версиями, вы защитите основную ветвь с кодом для рабочий среды, и позволите специалистам по обработке и анализу данных безопасно экспериментировать в собственных ветвях.
Чтобы настроить разработку функций, необходимо выполнить следующие действия.
- Заблокировать любые прямые отправки в главную ветвь.
- Обрабатывать запросы на вытягивание всякий раз, когда требуется обновление кода.
- Выполнять проверки качества кода при каждом создании запроса на вытягивание, чтобы автоматически проверять код.
- Выполнять слияние запроса на вытягивание только после того, как изменения будут утверждены вручную.