Изучение архитектуры решения
Рассмотрим архитектуру, которую вы выбрали для рабочего процесса MLOps, чтобы понять, где и когда мы должны проверить код.
Примечание.
На схеме демонстрируется упрощенное представление архитектуры MLOps. Чтобы просмотреть архитектуру более подробно, изучите различные варианты использования в акселераторе решений MLOps (версии 2).
Основной целью архитектуры MLOps является создание надежного и воспроизводимого решения. Этапы создания такой архитектуры:
- Настройка: создание всех необходимых ресурсов Azure для решения.
- Разработка моделей (внутренний цикл): изучение и обработка данных для обучения и оценки модели.
- Непрерывная интеграция: упаковка и регистрация модели.
- Развертывание модели (внешний цикл): развертывание модели.
- Непрерывное развертывание: тестирование модели и перенос в рабочую среду.
- Мониторинг: мониторинг производительности модели и конечной точки.
Чтобы переместить модель из разработки в развертывание, потребуется непрерывная интеграция. Во время непрерывной интеграции вы упакуете и зарегистрируете модель. Прежде чем упаковать модель, необходимо проверить код, используемый для обучения модели.
Вы договорились с командой по обработке и анализу данных, что будете использовать разработку на основе стволовой ветви. Ветви не только защищают рабочий код, но и позволяют автоматически проверять любые предлагаемые изменения, прежде чем объединять их с рабочим кодом.
Давайте рассмотрим рабочий процесс для специалиста по обработке и анализу данных:
- Рабочий код размещается в главной ветви.
- Специалист по обработке и анализу данных создает ветвь признаков для разработки моделей.
- Специалист по обработке и анализу данных создает запрос на вытягивание, предлагающий отправить изменения в главную ветвь.
- При создании запроса на вытягивание запускается рабочий процесс GitHub Actions для проверки кода.
- Когда код пройдет анализ кода и модульное тестирование, ведущий специалист по обработке и анализу данных должен утвердить предложенные изменения.
- Когда ведущий специалист по обработке и анализу данных одобрит изменения, выполняется слияние запроса на вытягивание, и основная ветвь обновляется.
Как инженер по машинному обучению вы должны создать рабочий процесс GitHub Actions, который проверяет код, запуская анализ кода и модульные тесты при создании запроса на вытягивание.
Совет
Узнайте больше о том, как работать с системой управления версиями в проектах по машинному обучению, включая разработку на основе стволовой ветви и локальную проверку кода.