Настройка Model Registry для управления версиями моделей
Model Registry — централизованное хранилище метаданных ML-моделей: версий, артефактов, метрик, стадий жизненного цикла. Без него команды хранят модели в виде файлов на shared дисках, теряют связь между версией кода и весами модели, не знают что именно сейчас работает в продакшене.
Что даёт Model Registry
- Единый каталог всех обученных моделей с метриками и параметрами
- Управление стадиями:
Staging → Production → Archived - История переходов между версиями с указанием автора и причины
- API для программного продвижения модели в production
- Интеграция с CI/CD для автоматического деплоя при смене стадии
MLflow Model Registry
MLflow Registry — наиболее популярный open-source вариант. Развёртывается поверх существующего MLflow Tracking Server.
Регистрация модели после обучения:
import mlflow
with mlflow.start_run():
# ... обучение ...
mlflow.sklearn.log_model(
model,
artifact_path="model",
registered_model_name="fraud-detector-v2"
)
Управление стадиями через API:
client = mlflow.MlflowClient()
client.transition_model_version_stage(
name="fraud-detector-v2",
version=3,
stage="Production",
archive_existing_versions=True
)
Загрузка production-модели в инференс-сервисе:
model = mlflow.pyfunc.load_model(
model_uri="models:/fraud-detector-v2/Production"
)
Альтернативы и enterprise-варианты
Weights & Biases (W&B) Artifacts — удобен для команд, уже использующих W&B для трекинга экспериментов. Поддерживает lineage между датасетами и моделями.
Vertex AI Model Registry — управляемый сервис GCP с интеграцией в Vertex AI Pipelines и Vertex AI Endpoints.
SageMaker Model Registry — аналог для AWS, тесно интегрирован с SageMaker Pipelines и Code Pipeline.
Hugging Face Hub — де-факто стандарт для LLM и трансформеров, поддерживает private репозитории и команды.
Процесс внедрения за 1 неделю
День 1-2: Развёртывание MLflow с PostgreSQL backend и S3 artifact store. Настройка аутентификации.
День 3: Добавление mlflow.log_model() и mlflow.register_model() в существующие обучающие скрипты.
День 4: Настройка approval workflow — webhook или GitHub Action, который требует ручного подтверждения перед продвижением в Production.
День 5: Интеграция в инференс-сервис — загрузка модели по стадии, а не по пути к файлу. Настройка алертов при смене версии в Production.
Ключевые практики
Каждая версия модели должна содержать: хэш датасета (через DVC), версию кода (git commit), метрики на валидационной и тестовой выборке, информацию о hardware (GPU тип, количество). Это обеспечивает полную воспроизводимость и упрощает debugging при деградации модели в продакшене.







