Версионирование моделей

Тема дорожной карты · MLOps

Версионирование модели — это практика отслеживания и управления различными версиями модели машинного обучения. Эта практика имеет ключевое значение для поддержания ясной истории изменений модели, обеспечения воспроизводимости и возможности быстрого возврата к предыдущим версиям при необходимости. Используйте команды tfx для эффективного управления версиями модели.

Как это работает

Версионирование моделей представляет собой систему отчетности для обученных моделей, включающую информацию об артефактах, версиях, метриках, обучавших моделях, используемых данных и коде, а также стадиях разработки (например, dev, staging, prod). Регистры моделей, такие как MLflow Registry, Weights & Biases Artifacts и SageMaker Model Registry, предоставляют важные функции управления версиями, такие как возможность отката к предыдущей версии, аудита, проведения A/B-тестов и создания карт моделей. Без использования регистра невозможно ответить на базовый вопрос "какая модель обслуживает запросы в данный момент?", что является ключевым элементом для управления инцидентами и быстрого реагирования.

Когда применять

Регистр моделей следует настроить, когда в production используется более одной модели. Ручной отслеживаемый подход быстро становится непрактичным при увеличении количества моделей. Для каждого обучения модели следует присваивать уникальный идентификатор обучения (training-run ID), что позволяет быстро проследить за каждой версией модели. Для перехода модели на стадии staging и production следует требовать достижение определенных пороговых значений метрик. Это позволяет автоматизировать процесс проверки и утверждения, а не полагаться на интуицию или "чувства" (vibes). Для быстрого отката к предыдущей версии следует хранить последние N версий моделей, которые были утверждены для production.

Типичные ошибки

К типичным ошибкам при версионировании моделей относятся развертывание модели без использования регистра (что делает откат невозможным), использование файловых путей в качестве "версий" (что не позволяет хранить метаданные), переход модели на стадию staging или production на основе метрик обучения, а не на основе метрик hold-out (что может привести к переобучению), и отсутствие автоматических проверок при переходе модели на стадию production (что делает процесс утверждения зависимым от интуиции).

Связанные понятия

Полезные ресурсы