0Pricing
Learn AI with Python · Урок

Реестр моделей и управление версиями

Регистрация моделей, этапы (Staging/Production), псевдонимы моделей, загрузка по версии

«Реестр моделей и управление версиями» — бесплатный урок Learn AI with Python на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Learn AI with Python, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Learn AI with Python содержит 4 уроков всего.

Что такое реестр моделей?

Реестр моделей MLflow — это централизованное хранилище моделей. Он отслеживает именованные модели, их версии и этапы жизненного цикла, чтобы команда всегда знала, какая модель используется в рабочей среде и как она туда попала.

Зачем нужны версии

Модели постоянно переобучаются. Управление версиями присваивает номер каждому новому варианту, позволяет мгновенно вернуться к предыдущему, если новая модель работает неправильно, и связывает каждую версию с запуском, который её создал, обеспечивая полную историю происхождения.

Регистрация модели

mlflow.register_model получает URI записанной модели и её имя, создавая в реестре версию 1 (или следующую версию).

import mlflow

result = mlflow.register_model(
    model_uri="runs:/<run_id>/model",
    name="churn_classifier"
)
print("Version:", result.version)

Регистрация во время записи

Можно также зарегистрировать модель непосредственно во время её записи, передав registered_model_name. При каждом запуске это автоматически создаёт новую версию.

mlflow.sklearn.log_model(
    model,
    artifact_path="model",
    registered_model_name="churn_classifier"
)

Этапы жизненного цикла

Каждая версия проходит этапы: None -> Staging (проверка) -> Production (рабочая среда) -> Archived. Этапы отделяют понятие «какая версия» от понятия «какая версия обслуживает запросы», поэтому продвижение версии требует изменения метаданных, а не повторного развёртывания.

MlflowClient

Программные операции с реестром выполняются через MlflowClient.

from mlflow.tracking import MlflowClient

client = MlflowClient()

Перевод между этапами

transition_model_version_stage продвигает версию на следующий этап. Переместите её в Staging для QA, а после проверки — в Production.

client.transition_model_version_stage(
    name="churn_classifier",
    version=3,
    stage="Production"
)

Загрузка по этапу

Код обслуживания может загружать «то, что находится в Production», не фиксируя номер версии в коде. Поэтому продвижение новой версии сразу изменяет модель, которая используется для обслуживания запросов.

import mlflow.pyfunc

model = mlflow.pyfunc.load_model(
    "models:/churn_classifier/Production"
)

Псевдонимы моделей (MLflow 2.x)

В MLflow 2.x появились псевдонимы: изменяемые именованные указатели, например @champion или @challenger, связанные с определённой версией. Они гибче фиксированных названий этапов и являются рекомендуемым современным подходом.

client.set_registered_model_alias(
    name="churn_classifier",
    alias="champion",
    version=3
)

Загрузка по псевдониму

Обращайтесь к модели по её псевдониму с помощью синтаксиса @, чтобы переназначение псевдонима на новую версию мгновенно перенаправляло всех потребителей.

model = mlflow.pyfunc.load_model(
    "models:/churn_classifier@champion"
)

Этапы и псевдонимы

  • Этапы: фиксированный набор (Staging/Production/Archived), простой жизненный цикл.
  • Псевдонимы: любое пользовательское имя, несколько псевдонимов для одной модели, рекомендуемый вариант в MLflow 2.x.

В новых проектах для гибкости следует отдавать предпочтение псевдонимам.

Быстрая проверка

Проверьте свои знания о реестре моделей.

Итоги

Вы использовали реестр моделей MLflow: register_model создаёт версии, MlflowClient.transition_model_version_stage перемещает их между этапами Staging/Production, а загрузка по этапу или по псевдониму позволяет обновлять обслуживание без изменения кода. Далее: создание воспроизводимых конвейеров.

Часто задаваемые вопросы

Урок «Реестр моделей и управление версиями» бесплатный?

Да — полный текст урока «Реестр моделей и управление версиями» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Learn AI with Python, подпишись на CoddyKit PRO. Курс Learn AI with Python содержит 4 уроков всего.

Чему я научусь в уроке «Реестр моделей и управление версиями»?

Регистрация моделей, этапы (Staging/Production), псевдонимы моделей, загрузка по версии Ты практикуешь Learn AI with Python с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Learn AI with Python?

Предыдущий опыт не требуется. Learn AI with Python на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Реестр моделей и управление версиями»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Learn AI with Python?

Да. Каждый урок Learn AI with Python включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Отслеживание экспериментов с MLflow
  2. Реестр моделей и управление версиями
  3. Создание воспроизводимых конвейеров машинного обучения
  4. Мониторинг производительности модели в продуктивной среде
← Назад к Learn AI with Python