Проектирование для переобучения
При подготовке модели к рабочей среде в решении MLOps необходимо учесть возможность переобучения.
Как правило, существует два подхода, к которым требуется переобучение модели:
- На основе расписания: когда вы знаете, что вам всегда нужна последняя версия модели, вы можете решить переобучение модели каждую неделю или каждый месяц на основе расписания.
- На основе метрик: если вы хотите переобучать модель только при необходимости, вы можете отслеживать ее производительность и сдвиг данных, чтобы решить, когда это потребуется.
В любом случае необходимо разработать для переобучения. Чтобы легко переобучить модель, необходимо подготовить код для автоматизации.
Подготовьте свой код
В идеале модели следует обучать с помощью скриптов вместо ноутбуков. Скрипты лучше подходят для автоматизации. Можно добавить параметры в скрипт и изменить входные параметры , такие как обучающие данные или значения гиперпараметра. При параметризации скриптов можно легко переобучить модель на новых данных при необходимости.
Еще одной важной вещью для подготовки кода является размещение кода в центральном репозитории. Репозиторий ссылается на расположение, в котором хранятся все соответствующие файлы проекта. С помощью проектов машинного обучения репозитории на основе Git идеально подходят для обеспечения управления версиями.
При применении системы управления версиями к проекту вы можете легко сотрудничать с проектом. Вы можете назначить кого-то для улучшения модели, обновив код. Вы сможете увидеть прошлые изменения и просмотреть изменения, прежде чем они будут зафиксированы в основном репозитории.
Автоматизация кода
Если вы хотите автоматически выполнить код, можно настроить задания Машинное обучение Azure для выполнения скриптов. В Машинное обучение Azure можно создавать и планировать конвейеры для выполнения скриптов.
Если вы хотите, чтобы скрипты выполнялись на основе триггера или события, происходящих за пределами Машинного обучения Azure, может потребоваться активировать задание Машинного обучения Azure из другого средства.
Два средства, которые часто используются в проектах MLOps, — Azure DevOps и GitHub (Actions). Оба средства позволяют создавать конвейеры автоматизации и запускать Машинное обучение Azure конвейеры.
Как специалист по обработке и анализу данных, вы можете работать с пакетом SDK для Python машинного обучения Azure. Однако при работе с такими инструментами, как Azure DevOps и GitHub, вы можете настроить необходимые ресурсы и задания с помощью расширения Интерфейса командной строки машинного обучения Azure. Azure CLI предназначен для автоматизации задач и может быть проще использовать с Azure DevOps и GitHub.
Подсказка
Если вы хотите узнать больше о MLOps, изучите общие сведения об операциях машинного обучения (MLOps) или попробуйте создать первый конвейер автоматизации MLOps с помощью GitHub Actions