Управление жизненным циклом модели с помощью реестра моделей рабочей области (устаревшая версия)
Внимание
В этой документации рассматривается реестр моделей рабочей области. Если рабочая область включена для каталога Unity, не используйте процедуры на этой странице. Вместо этого см. статью "Модели" в каталоге Unity.
Инструкции по обновлению из реестра моделей рабочей области в каталог Unity см. в разделе "Миграция рабочих процессов и моделей в каталог Unity".
Если каталог рабочей области по умолчанию находится в каталоге Unity (а неhive_metastore
) и выполняется кластер с помощью Databricks Runtime 13.3 LTS или более поздней версии, модели автоматически создаются и загружаются из каталога рабочей области по умолчанию без необходимости настройки. Чтобы использовать реестр моделей рабочей области в этом случае, необходимо явно нацелиться на него, выполнив его import mlflow; mlflow.set_registry_uri("databricks")
в начале рабочей нагрузки. Небольшое количество рабочих областей, в которых каталог по умолчанию был настроен для каталога в каталоге Unity до января 2024 г., а реестр моделей рабочей области использовался до января 2024 г. по умолчанию не используется и продолжает использовать реестр моделей рабочей области.
В этой статье описывается, как использовать реестр моделей рабочей области в рамках рабочего процесса машинного обучения для управления полным жизненным циклом моделей машинного обучения. Реестр моделей рабочей области — это предоставляемая databricks, размещенная версия реестра моделей MLflow.
Реестр моделей рабочей области предоставляет следующие возможности:
- Отслеживание хронологии происхождения модели (эксперимент MLflow и запуск модели в заданное время).
- Обслуживание моделей.
- Управление версиями модели.
- Этапы перехода (например, из промежуточного состояния в рабочее или архивное).
- Веб-перехватчики, позволяющие автоматически активировать действия на основе событий реестра.
- Уведомления по электронной почте о событиях модели.
Вы также можете создавать и просматривать описания моделей и оставлять комментарии.
В этой статье содержатся инструкции для пользовательского интерфейса реестра рабочих областей и API реестра моделей рабочей области.
Общие сведения о концепциях реестра моделей рабочих областей см. в разделе "Управление жизненным циклом машинного обучения" с помощью MLflow.
Создание или регистрация модели
Вы можете создать или зарегистрировать модель с помощью пользовательского интерфейса или зарегистрировать модель с помощью API.
Создание или регистрация модели с помощью пользовательского интерфейса
Существует два способа регистрации модели в реестре моделей рабочей области. Вы можете зарегистрировать существующую модель, для которой в MLflow создан протокол, или создать и зарегистрировать новую пустую модель, а затем назначить ей модель из ранее созданного протокола.
Регистрация существующей запротоколированной модели из записной книжки
В рабочей области найдите запуск MLflow, который содержит нужную модель.
Щелкните значок "Эксперимент" в правой боковой панели записной книжки.
На боковой панели "Эксперимент выполняется" щелкните значок рядом с датой выполнения. Откроется страница запуска MLflow. На этой странице отображаются все сведения об этом запуске, включая параметры, метрики, теги и список артефактов.
В разделе "Артефакты" щелкните каталог с именем xxx-model.
Нажмите кнопку Регистрация модели в правом углу.
В диалоговом окне щелкните поле Модель и выполните одно из следующих действий:
- Выберите Создать модель в раскрывающемся меню. Отобразится поле Имя модели. Введите имя модели, например
scikit-learn-power-forecasting
. - Выберите существующую модель из раскрывающегося меню.
- Выберите Создать модель в раскрывающемся меню. Отобразится поле Имя модели. Введите имя модели, например
Щелкните Зарегистрировать.
- Если вы выбрали "Создать модель", она регистрирует модель с именем
scikit-learn-power-forecasting
, копирует модель в безопасное расположение, управляемое реестром моделей рабочей области, и создает новую версию модели. - Если выбрана существующая модель, будет зарегистрирована новая версия выбранной модели.
Через несколько секунд кнопка Зарегистрировать модель заменится ссылкой на зарегистрированную версию модели.
- Если вы выбрали "Создать модель", она регистрирует модель с именем
Щелкните ссылку, чтобы открыть новую версию модели в пользовательском интерфейсе реестра рабочих областей. Вы также можете найти модель в реестре моделей рабочей области, щелкнув "Модели " на боковой панели.
Создание новой зарегистрированной модели и назначение ей запротоколированной модели.
С помощью кнопки "Создать модель" на странице зарегистрированных моделей вы можете создать пустую модель и назначить ей запротоколированную модель. Выполните следующие действия:
На странице зарегистрированных моделей щелкните Создать модель. Введите имя для этой модели и щелкните Создать.
Выполните шаги с 1-го по 3-й из раздела Регистрация существующей запротоколированной модели из записной книжки.
В диалоговом окне "Регистрация модели" выберите имя модели, которую вы создали на шаге 1, и щелкните Зарегистрировать. Эта модель регистрируется с именем, копирует модель в безопасное расположение, управляемое реестром моделей рабочей области, и создает версию модели:
Version 1
Через несколько секунд в пользовательском интерфейсе запуска MLflow кнопка "Регистрация модели" заменится ссылкой на зарегистрированную версию модели. Теперь вы можете выбрать модель из раскрывающегося списка Модель в диалоговом окне "Регистрация модели" на страница Experiment Runs (Запуск эксперимента). Можно также зарегистрировать дополнительные версии модели, указывая ее имя в командах API, например Create ModelVersion.
Регистрация модели с помощью API
Существует три программных способа регистрации модели в реестре моделей рабочей области. Все методы копируют модель в безопасное расположение, управляемое реестром моделей рабочей области.
Чтобы запротоколировать модель и зарегистрировать ее с указанным именем во время эксперимента MLflow, используйте метод
mlflow.<model-flavor>.log_model(...)
. Если зарегистрированная модель с указанным именем не существует, этот метод регистрирует новую модель, создает для нее версию 1 и возвращает объект MLflowModelVersion
. Если зарегистрированная модель с таким именем уже существует, этот метод создает новую версию модели и возвращает объект Version.with mlflow.start_run(run_name=<run-name>) as run: ... mlflow.<model-flavor>.log_model(<model-flavor>=<model>, artifact_path="<model-path>", registered_model_name="<model-name>" )
Чтобы зарегистрировать модель с указанным именем после того, как завершатся все операции эксперимента и вы выберете наиболее подходящую модель для добавления в реестр, используйте метод
mlflow.register_model()
. Для этого метода нужно предоставить идентификатор запуска в аргументеmlruns:URI
. Если зарегистрированная модель с указанным именем не существует, этот метод регистрирует новую модель, создает для нее версию 1 и возвращает объект MLflowModelVersion
. Если зарегистрированная модель с таким именем уже существует, этот метод создает новую версию модели и возвращает объект Version.result=mlflow.register_model("runs:<model-path>", "<model-name>")
Чтобы создать новую зарегистрированную модель с указанным именем, используйте метод
create_registered_model()
из API клиента MLflow. Если модель с таким именем уже существует, этот метод создает исключениеMLflowException
.client = MlflowClient() result = client.create_registered_model("<model-name>")
Вы также можете зарегистрировать модель с использованием поставщика Databricks Terraform и databricks_mlflow_model.
Квоты
Начиная с мая 2024 года для всех рабочих областей Databricks реестр моделей рабочей области накладывает ограничения квот на общее количество зарегистрированных моделей и версий моделей для каждой рабочей области. Дополнительные сведения см. в статье Обзор ограничений ресурсов базы данных SQL Azure. Если вы превышаете квоты реестра, Databricks рекомендует удалить зарегистрированные модели и версии модели, которые больше не нужны. Databricks также рекомендует настроить стратегию регистрации и хранения моделей, чтобы оставаться в пределах ограничения. Если вам требуется увеличить ограничения рабочей области, обратитесь к группе учетных записей Databricks.
В следующей записной книжке показано, как инвентаризация и удаление сущностей реестра моделей.
Записная книжка записной книжки реестра моделей рабочей области инвентаризации
Просмотр моделей в пользовательском интерфейсе
Страница зарегистрированных моделей
Страница зарегистрированных моделей отображается при нажатии кнопки "Модели" на боковой панели. На этой странице показаны все модели в реестре.
На этой странице можно создать новую модель.
Кроме того, на этой странице администраторы рабочей области могут задать разрешения для всех моделей в реестре моделей рабочей области.
Страница зарегистрированной модели
Чтобы отобразить страницу «Зарегистрированная модель» для модели, нажмите на имя модели на странице «Зарегистрированные модели». На странице «Зарегистрированная модель» отображаются сведения о выбранной модели и таблица с информацией о каждой версии модели. На этой странице можно также выполнить следующие действия.
- Настройка обслуживания модели.
- Автоматически создать записную книжку для использования модели для вывода.
- Настроить уведомления электронной почты.
- Сравнить версии модели.
- Задать разрешения для модели.
- Удалить модель.
Страница версии модели
Чтобы просмотреть страницу версии модели, выполните одно из следующих действий.
- Нажмите на имя версии в столбце Последняя версия на странице «Зарегистрированные модели».
- Нажмите на имя версии в столбце Версия на странице «Зарегистрированная модель».
На этой странице отображаются сведения о конкретной версии зарегистрированной модели, а также приводится ссылка на исходный запуск (версия записной книжки, которая была запущена для создания модели). На этой странице можно также выполнить следующие действия.
Управление доступом к моделям
Для настройки разрешений на модель необходимо иметь по крайней мере разрешение CAN MANAGE. Дополнительные сведения о уровнях разрешений модели см. в разделе ACL модели MLflow. Версия модели наследует разрешения от родительской модели. Невозможно задать разрешения для версий модели.
На боковой панели щелкните "Модели".
Выберите имя модели.
Щелкните Разрешения. Откроется диалоговое окно "Параметры разрешений"
В диалоговом окне выберите раскрывающийся список "Выбрать пользователя", "Группа" или "Субъект-служба", а затем выберите пользователя, группу или субъект-службу.
Выберите разрешение из раскрывающегося списка.
Нажмите кнопку "Добавить" и нажмите кнопку "Сохранить".
Администраторы рабочей области и пользователи с разрешением CAN MANAGE на уровне реестра могут задавать уровни разрешений для всех моделей в рабочей области, щелкнув "Разрешения " на странице "Модели".
Изменение этапа модели
Версия модели имеет один из следующих этапов: нет, промежуточный, рабочий или архивированный. Этап Промежуточная предназначен для тестирования и проверки модели, а этап Рабочая — для тех версий модели, которые уже прошли все процессы тестирования и проверки, а теперь развернуты в приложениях для реального применения в оценке. Обычно предполагается, что "Архивная" версия модели уже не используется, то есть на этом этапе ее можно удалить, если потребуется. Разные версии модели могут находиться на разных этапах.
Пользователь с соответствующими разрешениями может переводить версию модели на другой этап. Если у вас есть разрешения на изменение этапа для версии модели, вы можете выполнить такой перевод сразу. Если у вас нет таких разрешений, создайте запрос на изменение этапа, который будет передан пользователю с разрешениями на изменение этапов для этой версии модели, и тот сможет утвердить, отклонить или отменить запрос.
Этап модели можно перенести с помощью пользовательского интерфейса или с помощью API.
Изменение этапа модели с помощью пользовательского интерфейса
Выполните следующие инструкции, чтобы изменить этап для модели.
Чтобы отобразить список доступных этапов модели и вариантов действий, на странице версии модели щелкните выпадающий список рядом с элементом Этап: и создайте запрос или выберите действие перехода на другой этап.
Введите необязательный комментарий и щелкните ОК.
Перевод версии модели на этап "Рабочая"
Завершив тестирование и проверку, вы можете перевести модель на этап "Рабочая".
Реестр моделей рабочей области позволяет использовать несколько версий зарегистрированной модели на каждом этапе. Если вам нужно, чтобы к рабочей среде относилась только одна версия, переведите все остальные версии модели с этапа "Рабочая" на этап "Архивная", установив флажок Transition existing Production model versions to Archived (Перевести все существующие версии модели с этапа "Рабочая" на этап "Архивная").
Утверждение, отклонение или отмена запроса на переход на этапе версии модели
Пользователь без разрешения на изменение этапа может создать запрос на такое изменение. Этот запрос отобразится в разделе Ожидающие запросы на странице версии модели:
Чтобы утвердить, отклонить или отменить запрос на изменение этапа, щелкните ссылку Утвердить, Отклонить или Отменить.
Создатель запроса на переход также может отменить запрос.
Просмотр действий по версии модели
Чтобы просмотреть все изменения этапов, которые были запрошены, утверждены, применены к версии модели или ожидают утверждения, перейдите к разделу "Действия". Этот журнал действий содержит полный список событий в жизненном цикле модели для целей аудита или проверки.
Переход этапа модели с помощью API
Пользователь с соответствующими разрешениями может переводить версию модели на новый этап.
Чтобы изменить этап для версии модели, указав новый этап, используйте метод transition_model_version_stage()
из API клиента MLflow:
client = MlflowClient()
client.transition_model_version_stage(
name="<model-name>",
version=<model-version>,
stage="<stage>",
description="<description>"
)
Допустимые значения для <stage>
: "Staging"|"staging"
, "Archived"|"archived"
, "Production"|"production"
, "None"|"none"
.
Использование модели для вывода
Внимание
Эта функция предоставляется в режиме общедоступной предварительной версии.
После регистрации модели в реестре моделей рабочей области вы можете автоматически создать записную книжку для использования модели для вывода пакетной или потоковой передачи. Кроме того, можно создать конечную точку для использования модели в режиме реального времени с помощью службы модели.
В правом верхнем углу страницы зарегистрированной модели или страницы версии модели щелкните . Откроется диалоговое окно "Настройка вывода модели", позволяющее настроить пакетную, потоковую передачу или вывод в режиме реального времени.
Внимание
Корпорация Anaconda Inc. обновила свои условия предоставления услуг для каналов anaconda.org. В соответствии с новыми условиями предоставления услуг для использования пакетов и распространения Anaconda может потребоваться коммерческая лицензия. Дополнительные сведения см. в часто задаваемых вопросах о коммерческом выпуске Anaconda. Использование любых каналов Anaconda регулируется условиями предоставления услуг Anaconda.
Модели MLflow, зарегистрированные до выхода версии 1.18 (Databricks Runtime 8.3 ML или более ранней версии), по умолчанию регистрировались с каналом conda defaults
(https://repo.anaconda.com/pkgs/) в качестве зависимости. Из-за этого изменения условий предоставления услуг компания Databricks прекратила использовать канал defaults
для моделей, зарегистрированных с помощью MLflow 1.18 и более поздних версий. По умолчанию теперь регистрируется канал conda-forge
, который указывает на управляемый сообществом сайт https://conda-forge.org/.
Если вы зарегистрировали модель до выхода MLflow версии 1.18 и не исключили канал defaults
из среды conda для модели, эта модель может иметь зависимость от канала defaults
, которая, возможно, не предполагалась.
Чтобы узнать, имеет ли модель эту зависимость, можно проверить значение channel
в файле conda.yaml
, который упакован с зарегистрированной моделью. Например, conda.yaml
модели с зависимостью от канала defaults
может выглядеть так:
channels:
- defaults
dependencies:
- python=3.8.8
- pip
- pip:
- mlflow
- scikit-learn==0.23.2
- cloudpickle==1.6.0
name: mlflow-env
Так как Databricks не может определить, разрешено ли вам использовать репозиторий Anaconda для взаимодействия с моделями, Databricks не требует от пользователей вносить какие-либо изменения. Если вы используете репозиторий Anaconda.com с помощью Databricks в соответствии с условиями Anaconda, вам не нужно предпринимать никаких действий.
Если вы хотите изменить канал, используемый в среде модели, можно повторно зарегистрировать модель в реестре моделей рабочей области с новым conda.yaml
. Это можно сделать, указав канал в параметре conda_env
log_model()
.
Дополнительные сведения об API log_model()
см. в документации по MLflow для варианта модели, с которым вы работаете, например log_model для scikit-learn.
Дополнительные сведения о файлах conda.yaml
см. в документации по MLflow.
Настройка пакетного вывода
Если выполнить эти действия для создания записной книжки пакетного вывода, записная книжка будет сохранена в папке пользователя Batch-Inference
в папке с именем модели. При необходимости вы можете изменить записную книжку.
Перейдите на вкладку Пакетный вывод.
В раскрывающемся списке Версия модели выберите используемую версию модели. Первые два элемента в раскрывающемся списке — это текущие рабочая и промежуточная версии модели (если они существуют). При выборе одного из этих параметров записная книжка автоматически использует рабочую или промежуточную версию во время выполнения. Вам не нужно обновлять записную книжку при продолжении разработки модели.
Нажмите кнопку Обзор рядом с полем Входная таблица. Появится диалоговое окно Выбор входных данных. При необходимости вы можете изменить кластер в раскрывающемся списке Вычисления.
Примечание.
Для рабочих областей с поддержкой каталога Unity диалоговое окно Выбор входных данных позволяет выбрать из трех уровней,
<catalog-name>.<database-name>.<table-name>
.Выберите таблицу, содержащую входные данные для модели, и нажмите кнопку Выбрать. Созданная записная книжка автоматически импортирует эти данные и отправит их в модель. Созданную записную книжку можно изменить, если перед вводом в модель данные требуют преобразования.
Прогнозы сохраняются в папке в каталоге
dbfs:/FileStore/batch-inference
. По умолчанию прогнозы сохраняются в папке с тем же именем, что и модель. При каждом запуске созданной записной книжки в этот каталог записывается новый файл с меткой времени, добавленной к имени. Вы также можете отказаться от включения метки времени и перезаписывать файл при последующих запусках записной книжки. Инструкции приведены в созданной записной книжке.Вы можете изменить папку, в которой сохраняются прогнозы, введя новое имя папки в поле Расположение выходной таблицы или щелкнув значок папки для просмотра каталога и выбора другой папки.
Чтобы сохранить прогнозы в расположении в каталоге Unity, необходимо изменить записную книжку. Пример записной книжки, в котором показано, как обучить модель машинного обучения, использующую данные в каталоге Unity, и записать результаты обратно в каталог Unity, см . в руководстве по машинному обучению.
Настройка вывода потоковой передачи с помощью разностных динамических таблиц
При создании записной книжки вывода потоковой передачи записная книжка сохраняется в папке пользователя DLT-Inference
в папке в папке с именем модели. При необходимости вы можете изменить записную книжку.
Перейдите на вкладку Потоковая передача (разностные динамические таблицы).
В раскрывающемся списке Версия модели выберите используемую версию модели. Первые два элемента в раскрывающемся списке — это текущие рабочая и промежуточная версии модели (если они существуют). При выборе одного из этих параметров записная книжка автоматически использует рабочую или промежуточную версию во время выполнения. Вам не нужно обновлять записную книжку при продолжении разработки модели.
Нажмите кнопку Обзор рядом с полем Входная таблица. Появится диалоговое окно Выбор входных данных. При необходимости вы можете изменить кластер в раскрывающемся списке Вычисления.
Примечание.
Для рабочих областей с поддержкой каталога Unity диалоговое окно Выбор входных данных позволяет выбрать из трех уровней,
<catalog-name>.<database-name>.<table-name>
.Выберите таблицу, содержащую входные данные для модели, и нажмите кнопку Выбрать. Созданная записная книжка создает преобразование данных, которое использует входную таблицу в качестве источника и интегрирует UDF вывода MLflow PySpark для прогнозирования моделей. Вы можете изменить созданную записную книжку, если для данных требуются дополнительные преобразования до или после применения модели.
Укажите имя выходных данных Delta Live Table. Записная книжка создает динамическую таблицу с заданным именем и использует ее для хранения прогнозов модели. Вы можете изменить созданную записную книжку, чтобы настроить целевой набор данных по мере необходимости. Например, определите потоковую динамическую таблицу в качестве выходных данных, добавьте сведения о схеме или ограничения качества данных.
Затем можно создать конвейер Delta Live Tables с этой записной книжкой или добавить его в существующий конвейер в качестве дополнительной библиотеки записных книжек.
Настройка вывода в реальном времени
Служба моделей предоставляет модели машинного обучения MLflow в качестве масштабируемых конечных точек REST API. Сведения о создании конечной точки обслуживания модели см. в статье "Создание пользовательских конечных точек обслуживания модели".
Предоставление отзыва
Эта функция предоставляется в предварительной версии, и мы будем рады получить ваши отзывы. Чтобы оставить отзыв, щелкните Provide Feedback
в диалоговом окне "Настройка вывода модели".
Сравнение версий модели
Вы можете сравнить версии модели в реестре моделей рабочей области.
- На странице "Зарегистрированная модель" выберите две или более версии модели, установив флажок слева от версии модели.
- Щелкните Compare (Сравнить).
- Появится экран "Сравнение
<N>
версий" с таблицей, в которой сравниваются параметры, схема и метрики выбранных версий модели. В нижней части экрана можно выбрать тип графика (точечный, контурный или с параллельными координатами), а также параметры или метрики для построения графика.
Параметры уведомлений управления
Вы можете настроить реестр моделей рабочей области, чтобы уведомить вас по электронной почте о действиях по зарегистрированным моделям и версиям моделей, которые вы указали.
На странице зарегистрированных моделей в меню Уведомлять меня о отображаются три параметра:
- All new activity (Все новые действия). Отправка по электронной почте уведомлений обо всех действиях во всех версиях этой модели. Если вы создали зарегистрированную модель, этот параметр используется по умолчанию.
- Activity on versions I follow (Действия в версиях, на которые оформлена подписка). Отправка по электронной почте уведомлений только о версиях модели, на которые вы подписаны. При выборе этого варианта вы будете получать уведомления для всех версий модели, на которые вы подписаны. Отключить уведомления для определенной версии модели нельзя.
- Отключить уведомления. Уведомления о действиях в этой зарегистрированной модели не отправляются.
Следующие события активируют отправку уведомлений по электронной почте:
- создание новой версии модели;
- запрос перехода на другой этап;
- переход на другой этап;
- добавление комментариев.
При выполнении любого из следующих действий автоматически оформляется подписка на уведомления о модели:
- добавление комментария к этой версии модели;
- переход на другой этап для этой версии модели;
- запрос перехода на другой этап для этой модели.
Чтобы узнать, подписаны ли вы на версию модели, просмотрите значение в поле состояния подписки на странице версии модели или в таблице версий моделей на странице зарегистрированных моделей.
Отключение всех уведомлений по электронной почте
Вы можете отключить Уведомления по электронной почте на вкладке "Параметры реестра моделей рабочей области" в меню "Параметры пользователя":
- Щелкните имя пользователя в правом верхнем углу рабочей области Azure Databricks и выберите "Параметры " в раскрывающемся меню.
- На боковой панели "Параметры" выберите "Уведомления".
- Снимите флажок Model registry email notifications (Уведомления по электронной почте в реестре моделей).
Администратор учетной записи может отключить Уведомления по электронной почте для всей организации на странице параметров администратора.
Максимальное число отправленных сообщений электронной почты
Реестр моделей рабочей области ограничивает количество сообщений электронной почты, отправляемых каждому пользователю в день на действие. Например, если вы получаете 20 сообщений электронной почты в один день о новых версиях модели, созданных для зарегистрированной модели, реестр моделей рабочей области отправляет сообщение электронной почты, отметив, что ежедневное ограничение достигнуто, и никаких дополнительных сообщений о этом событии не отправляются до следующего дня.
Чтобы увеличить количество разрешенных сообщений электронной почты, обратитесь к группе учетной записи Azure Databricks.
Веб-перехватчики
Внимание
Эта функция предоставляется в режиме общедоступной предварительной версии.
Веб-перехватчики позволяют прослушивать события реестра моделей рабочих областей, чтобы интеграции могли автоматически активировать действия. Веб-перехватчики можно использовать для автоматизации и интеграции конвейера машинного обучения с существующими средствами и рабочими процессами CI/CD. Например, можно активировать сборки CI при создании новой версии модели или уведомлять участников вашей команды с помощью Slack при каждом запросе на перенос модели в рабочую среду.
Добавление заметки к модели или версии модели
Вы можете предоставить сведения о версии модели или самой модели, добавив к ней заметку. Например, можно включить описание проблемы или сведения о примененных методологиях и алгоритмах.
Добавление заметки к модели или версии модели с помощью пользовательского интерфейса
Пользовательский интерфейс Azure Databricks предоставляет несколько способов добавления аннотаций к моделям и версиям моделей. Вы можете добавить текстовую информацию с помощью описания или комментариев, а также добавить теги "ключ — значение" для поиска. Описания и теги доступны для моделей и версий моделей. Комментарии доступны только для версий моделей.
- Описания предназначены для предоставления сведений о модели.
- Комментарии позволяют обсуждать действия в версии модели.
- Теги позволяют настраивать метаданные модели, которые упрощают поиск конкретных моделей.
Добавление или обновление описания модели или версии модели
На странице зарегистрированной модели или версии модели щелкните значок Изменить рядом с полем Описание. Появится окно редактора.
Введите или измените описание в этом окне редактирования.
Нажмите кнопку Сохранить, чтобы сохранить изменения, или Отмена, чтобы закрыть окно.
Если вы ввели описание для версии модели, это описание отобразится в столбце Описание в таблице на странице зарегистрированной модели. В этом столбце отображается не более 32 символов или одна строка текста (по меньшему из двух).
Добавление комментариев к версии модели
- Прокрутите страницу Версия модели вниз и щелкните стрелку вниз рядом с пунктом Действия.
- Введите комментарий в окне редактирования и щелкните Добавить комментарий.
Добавление тегов для модели или версии модели
На странице зарегистрированной модели или версии модели щелкните, если она еще не открыта. Отобразится таблица тегов.
Щелкните поля Имя и Значение и введите ключ и значение для тега.
Нажмите кнопку Добавить.
Изменение или удаление тегов для модели или версии модели
Чтобы изменить или удалить существующий тег, используйте значки в столбце Действия.
Добавление заметки к версии модели с помощью API
Чтобы изменить описание для версии модели, используйте метод update_model_version()
из API клиента MLflow:
client = MlflowClient()
client.update_model_version(
name="<model-name>",
version=<model-version>,
description="<description>"
)
Чтобы задать или обновить тег для зарегистрированной модели или версии модели, используйте клиентский API MLflow set_registered_model_tag()
или метод set_model_version_tag()
:
client = MlflowClient()
client.set_registered_model_tag()(
name="<model-name>",
key="<key-value>",
tag="<tag-value>"
)
client = MlflowClient()
client.set_model_version_tag()(
name="<model-name>",
version=<model-version>,
key="<key-value>",
tag="<tag-value>"
)
Переименование модели (только через API)
Чтобы переименовать зарегистрированную модель, используйте метод rename_registered_model()
из API клиента MLflow:
client=MlflowClient()
client.rename_registered_model("<model-name>", "<new-model-name>")
Примечание.
Вы можете переименовать зарегистрированную модель только в том случае, если она не имеет версий или все существующие версии находятся на этапах "Нет" или "Архивная".
Поиск модели
Вы можете искать модели в реестре моделей рабочей области с помощью пользовательского интерфейса или API.
Примечание.
При поиске модели возвращаются только модели, для которых возвращаются по крайней мере разрешения CAN READ.
Поиск модели с помощью пользовательского интерфейса
Чтобы отобразить зарегистрированные модели, щелкните "Модели " на боковой панели.
Чтобы найти определенную модель, введите текст в поле поиска. Вы можете ввести имя модели или любую часть этого имени:
Кроме того, вы можете выполнять поиск на основе тегов. Введите теги в таком формате: tags.<key>=<value>
. Для поиска нескольких тегов используйте оператор AND
.
Вы можете выполнять поиск как по имени модели, так и по тегам с помощью синтаксиса поиска MLflow. Например:
Поиск модели с помощью API
Вы можете искать зарегистрированные модели в реестре моделей рабочей области с помощью метода API клиента MLflow search_registered_models()
Если у вас есть теги в моделях, вы также можете выполнить поиск по этим тегам.search_registered_models()
print(f"Find registered models with a specific tag value")
for m in client.search_registered_models(f"tags.`<key-value>`='<tag-value>'"):
pprint(dict(m), indent=4)
Можно также выполнить поиск по имени конкретной модели и просмотреть сведения о ее версиях с помощью метода search_model_versions()
из API клиента MLflow:
from pprint import pprint
client=MlflowClient()
[pprint(mv) for mv in client.search_model_versions("name='<model-name>'")]
Он выводит следующие данные:
{ 'creation_timestamp': 1582671933246,
'current_stage': 'Production',
'description': 'A random forest model containing 100 decision trees '
'trained in scikit-learn',
'last_updated_timestamp': 1582671960712,
'name': 'sk-learn-random-forest-reg-model',
'run_id': 'ae2cc01346de45f79a44a320aab1797b',
'source': './mlruns/0/ae2cc01346de45f79a44a320aab1797b/artifacts/sklearn-model',
'status': 'READY',
'status_message': None,
'user_id': None,
'version': 1 }
{ 'creation_timestamp': 1582671960628,
'current_stage': 'None',
'description': None,
'last_updated_timestamp': 1582671960628,
'name': 'sk-learn-random-forest-reg-model',
'run_id': 'd994f18d09c64c148e62a785052e6723',
'source': './mlruns/0/d994f18d09c64c148e62a785052e6723/artifacts/sklearn-model',
'status': 'READY',
'status_message': None,
'user_id': None,
'version': 2 }
Удаление модели или версии модели
Модель можно удалить с помощью пользовательского интерфейса или API.
Удаление модели или версии модели с помощью пользовательского интерфейса
Предупреждение
Это действие нельзя отменить. Версию модели можно не удалять, а перевести на этап "Архивная". При удалении модели удаляются все артефакты модели, хранящиеся в реестре моделей рабочей области, и все метаданные, связанные с зарегистрированной моделью.
Примечание.
Вы можете удалить только те модели и версии модели, которые находятся на этапе "Нет" или "Архивная". Если зарегистрированная модель имеет хотя бы одну версию на этапе "Промежуточная" или "Рабочая", то перед удалением этой модели необходимо перевести их на этап "Нет" или "Архивная".
Чтобы удалить версию модели, сделайте следующее:
- Щелкните "Модели" на боковой панели.
- Щелкните имя модели.
- Щелкните версию модели.
- Щелкните в правом верхнем углу экрана и выберите "Удалить " в раскрывающемся меню.
Чтобы удалить модель, сделайте следующее:
- Щелкните "Модели" на боковой панели.
- Щелкните имя модели.
- Щелкните в правом верхнем углу экрана и выберите "Удалить " в раскрывающемся меню.
Удаление модели или версии модели с помощью API
Предупреждение
Это действие нельзя отменить. Версию модели можно не удалять, а перевести на этап "Архивная". При удалении модели удаляются все артефакты модели, хранящиеся в реестре моделей рабочей области, и все метаданные, связанные с зарегистрированной моделью.
Примечание.
Вы можете удалить только те модели и версии модели, которые находятся на этапе "Нет" или "Архивная". Если зарегистрированная модель имеет хотя бы одну версию на этапе "Промежуточная" или "Рабочая", то перед удалением этой модели необходимо перевести их на этап "Нет" или "Архивная".
Удаление версии модели
Чтобы удалить версию модели, используйте метод delete_model_version()
из API клиента MLflow:
# Delete versions 1,2, and 3 of the model
client = MlflowClient()
versions=[1, 2, 3]
for version in versions:
client.delete_model_version(name="<model-name>", version=version)
Удаление модели
Чтобы удалить модель, используйте метод delete_registered_model()
из API клиента MLflow:
client = MlflowClient()
client.delete_registered_model(name="<model-name>")
Совместное использование моделей в рабочих областях
Databricks рекомендует использовать модели в каталоге Unity для совместного использования моделей в рабочих областях. Каталог Unity предоставляет внестандартную поддержку доступа к модели между рабочими областями, управления и ведения журнала аудита.
Однако при использовании реестра моделей рабочей области можно также совместно использовать модели в нескольких рабочих областях с помощью некоторых настроек. Например, вы можете разрабатывать и записывать модель в собственную рабочую область, а затем получать доступ к ней из другой рабочей области с помощью реестра моделей удаленных рабочих областей. Это удобно, если несколько групп совместно используют модели. Вы можете создать несколько рабочих областей, чтобы использовать модели и управлять ими в разных средах.
Копирование объектов MLflow между рабочими областями
Чтобы импортировать или экспортировать объекты MLflow в рабочую область Azure Databricks или из нее, можно использовать поддерживаемый сообществом проект с открытым кодом MLflow Export-Import для переноса экспериментов, моделей и операций MLflow между рабочими областями.
Эти средства позволяют вам:
- Совместно использовать данные и работать с другими специалистами по обработке и анализу данных на том же или другом сервере отслеживания. Например, вы можете клонировать эксперимент другого пользователя в свою рабочую область.
- Копировать модель из одной рабочей области в другую, например из рабочей области разработки в производственную.
- Копировать эксперименты и выполнения с локального сервера отслеживания в рабочую область Databricks.
- Выполнять резервное копирование критически важных экспериментов и моделей в другую рабочую область Databricks.
Пример
В этом примере показано, как использовать реестр моделей рабочей области для создания приложения машинного обучения.