Поделиться через


Упорядочение учебных запусков с помощью экспериментов MLflow

Эксперименты — это единицы организации для выполнения обучения модели. Существует два типа экспериментов: эксперименты рабочей области и записной книжки.

  • Вы можете создать эксперимент рабочей области из пользовательского интерфейса Databricks Mosaic AI или API MLflow. Эксперименты рабочей области не связаны ни с одной записной книжкой, и любая записная книжка может регистрировать запуски этих экспериментов с помощью идентификатора или имени эксперимента.
  • Эксперимент записной книжки связан с конкретной записной книжкой. Если при запуске цикла с помощью mlflow.start_run() активного эксперимента нет, Azure Databricks автоматически создает эксперимент записной книжки.

Чтобы просмотреть все эксперименты в рабочей области, к которым у вас есть доступ, выберите > Эксперименты машинного обучения на боковой панели.

Страница экспериментов

Создание эксперимента рабочего пространства

В этом разделе описано создание эксперимента рабочей области с помощью пользовательского интерфейса Azure Databricks. Вы можете создать эксперимент рабочей области непосредственно из рабочей области или на странице "Эксперименты".

Вы также можете использовать API MLflow или поставщик Databricks Terraform с databricks_mlflow_experiment.

Инструкции по записи запусков в эксперименты рабочей области см. в разделе "Запись запусков и моделей в эксперимент".

Создание эксперимента из рабочей области

  1. Щелкните Значок рабочей областирабочую область на боковой панели.

  2. Перейдите в папку, в которой нужно создать эксперимент.

  3. Щелкните правой кнопкой мыши на папке и выберите Создать > эксперимент MLflow.

  4. В диалоговом окне Create MLflow Experiment (Создание эксперимента MLflow) введите имя эксперимента и необязательное расположение артефакта. Если не указать расположение артефактов, артефакты хранятся в хранилище артефактов, управляемом MLflow: dbfs:/databricks/mlflow-tracking/<experiment-id>

    Для рабочих областей, включенных для каталога Unity, можно также хранить артефакты в томе каталога Unity. Чтобы хранить артефакты в собственном облачном хранилище, создайте внешний том каталога Unity.

    Чтобы сохранить артефакты в томе каталога Unity, укажите путь тома формы dbfs:/Volumes/catalog_name/schema_name/volume_name/user/specified/path в качестве расположения артефакта эксперимента MLflow в пользовательском интерфейсе или как показано в следующем коде:

    import mlflow # Storing artifacts in a volume requires MLflow 2.15.0 or above
    
    EXP_NAME = "/Users/first.last@databricks.com/my_experiment_name"
    CATALOG = "my_catalog"
    SCHEMA = "my_schema"
    VOLUME = "my_volume"
    ARTIFACT_PATH = f"dbfs:/Volumes/{CATALOG}/{SCHEMA}/{VOLUME}" # can be a managed or external volume
    
    mlflow.set_tracking_uri("databricks")
    mlflow.set_registry_uri("databricks-uc")
    
    if mlflow.get_experiment_by_name(EXP_NAME) is None:
        mlflow.create_experiment(name=EXP_NAME, artifact_location=ARTIFACT_PATH)
    mlflow.set_experiment(EXP_NAME)
    

    Если рабочая область не включена для каталога Unity или у вас нет доступа к MLflow 2.15.0 или более поздней версии, укажите путь в следующем формате: dbfs:/path/to/artifacts

    Databricks рекомендует использовать том каталога Unity для хранения артефактов. Если ни том каталога Unity, ни DBFS не является подходящим вариантом, вы также можете хранить артефакты непосредственно в хранилище BLOB-объектов Azure (не рекомендуется). Для сохранения артефактов в хранилище BLOB-объектов Azure укажите универсальный код ресурса (URI) в форме wasbs://<container>@<storage-account>.blob.core.windows.net/<path>. Артефакты, хранящиеся в хранилище BLOB-объектов Azure, не отображаются в пользовательском интерфейсе MLflow: их необходимо скачивать с помощью клиента хранилища BLOB-объектов.

    Примечание.

    При хранении артефакта в расположении, отличном от томов СУБД под управлением MLflow (по умолчанию) или каталога Unity, артефакт не отображается в пользовательском интерфейсе MLflow. Модели, хранящиеся в расположениях, отличных от этих, не могут быть зарегистрированы в реестре моделей.

  5. Нажмите кнопку Создать. Откроется страница сведений о эксперименте для нового эксперимента.

  6. Чтобы заносить в журнал запуски этого эксперимента, вызовите mlflow.set_experiment(), указав путь к эксперименту. Чтобы отобразить путь к эксперименту, щелкните значок сведений , расположенный справа от имени эксперимента. Дополнительные сведения и пример записной книжки см. в разделе О журналировании прогонов и моделей в эксперимент.

создание эксперимента на странице "Эксперименты"

Чтобы создать фундаментальную модель для точной настройки, AutoML или настраиваемый эксперимент, щелкните Эксперименты или выберите Новый > Эксперимент в левой боковой панели.

В верхней части страницы выберите один из следующих параметров, чтобы настроить эксперимент:

Создание эксперимента записной книжки

При использовании команды mlflow.start_run() в записной книжке запускаются журналы метрик и параметров для активного эксперимента. Если активного эксперимента нет, Azure Databricks создает эксперимент записной книжки. Эксперимент в блокноте имеет то же имя и идентификатор, что и соответствующий блокнот. Идентификатор записной книжки — это числовой идентификатор в конце URL-адреса записной книжки и идентификатор.

Примечание.

Пользователи, использующие MLflow для вычислений с выделенным доступом к группе , должны проверить, имеет ли группа разрешение на запись в каталог, в котором живет записная книжка, или использовать mlflow.set_tracking_uri("<path>") для указания папки для записи MLflow.

Кроме того, можно передать путь рабочей области Azure Databricks к существующей записной книжке в mlflow.set_experiment() для создания эксперимента записной книжки.

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

Примечание.

При удалении эксперимента записной книжки с помощью API (например, MlflowClient.tracking.delete_experiment() в Python) записная книжка переносится в папку корзины.

Просмотр экспериментов

Каждый эксперимент, к которому у вас есть доступ, отображается на странице экспериментов. На этой странице можно просмотреть любой эксперимент. Щелкните имя эксперимента, чтобы отобразить страницу сведений о эксперименте.

Дополнительные способы доступа к странице сведений о эксперименте:

  • Вы можете получить доступ к странице сведений о эксперименте для рабочей области из меню рабочей области.
  • Вы можете получить доступ к странице сведений об эксперименте из записной книжки.

Чтобы выполнить поиск экспериментов, введите текст в поле "Фильтр экспериментов " и нажмите клавишу ВВОД или щелкните значок с увеличением стекла. Список экспериментов изменяется, чтобы отобразить только те эксперименты, которые содержат текст поиска в столбцах "Имя " или "Расположение ".

Для использования расширенных возможностей можно ввести поисковый запрос tags.`mlflow.note.content`, чтобы искать по столбцу Description. Дополнительные сведения о синтаксисе см. в разделе "Эксперименты поиска". Обратите внимание, что в отличие от поиска имени или расположения поиск через теги требует ручного составления запроса с идентификатором и компаратором. Он не будет напрямую возвращать все результаты, содержащие текст поиска.

Щелкните имя любого эксперимента в таблице, чтобы отобразить страницу сведений о эксперименте:

Просмотр эксперимента

На странице сведений о эксперименте перечислены все запуски, связанные с экспериментом. В таблице можно открыть страницу запуска для любого запуска, связанного с экспериментом, щелкнув его название запуска. Столбец Источник предоставляет доступ к версии записной книжки, из которой был создан запуск. Также можно выполнять поиск и фильтрацию запусков по метрикам и параметрам.

Просмотр эксперимента рабочей области

  1. Щелкните Значок рабочей областирабочую область на боковой панели.
  2. Перейдите к папке, содержащей эксперимент.
  3. Щелкните имя эксперимента.

Просмотр эксперимента записной книжки

На правой боковой панели записной книжки щелкните на значок "Эксперимент" Experiment icon.

Откроется боковая панель "Запуски эксперимента" и отображается сводка по каждому запуску, связанному с экспериментом записной книжки, включая параметры запуска и метрики. В верхней части боковой панели указано имя последнего эксперимента, в котором записная книжка регистрировала запуски (это может быть эксперимент записной книжки или рабочей области).

Просмотр параметров и метрик выполнения

На боковой панели можно перейти на страницу сведений о эксперименте или непосредственно к запуску.

  • Чтобы просмотреть эксперимент, щелкните правой кнопкой мыши Внешний канал рядом с запуском эксперимента.
  • Чтобы отобразить выполнение, щелкните имя запуска.

Управление экспериментами

Вы можете переименовать, удалить или управлять разрешениями для эксперимента, которым вы владеете, на странице экспериментов, на странице сведений об эксперименте или в меню рабочей области.

Примечание.

Невозможно напрямую переименовать, удалить или управлять разрешениями для эксперимента MLflow, созданного записной книжкой в папке Databricks Git. Эти действия необходимо выполнить на уровне папки Git.

Переименование эксперимента

Вы можете переименовать эксперимент, принадлежащий на странице экспериментов или на странице сведений о эксперименте для этого эксперимента.

  • На странице "Эксперименты" щелкните значок меню 'Kebab' в правом столбце, затем нажмите "Переименовать".

переименовать на странице

  • На странице сведений об эксперименте щелкните значок меню Kebab рядом с разрешениями и затем щелкните "Переименовать".

Переименовать со страницы сведений об эксперименте.

Вы можете переименовать эксперимент рабочей области из рабочей области. Щелкните правой кнопкой мыши по имени эксперимента, затем выберите Переименовать.

Получить идентификатор эксперимента и путь к эксперименту

На странице сведений об эксперименте можно получить путь к записной книжке эксперимента, щелкнув иконку информации иконку информации справа от имени эксперимента. Появится всплывающее примечание, показывающее путь к эксперименту, идентификатор эксперимента и расположение артефакта. Идентификатор эксперимента можно использовать в команде MLflow set_experiment для задания активного эксперимента MLflow.

Значок имени эксперимента

В записной книжке можно скопировать полный путь к эксперименту, щелкнув на боковой панели эксперимента значок

значок пути эксперимента на боковой панели ноутбука.

Удаление записной книжки эксперимента

Эксперименты записной книжки являются частью записной книжки и отдельно не удаляются. При удалении записной книжки удаляется и связанный с ней эксперимент. При удалении эксперимента записной книжки с помощью пользовательского интерфейса записная книжка также удаляется.

Чтобы удалить эксперименты записных книжек с помощью API, используйте API рабочей области, чтобы убедиться, что записная книжка и эксперимент удаляются из рабочей области.

Удалите рабочую область или эксперимент в записной книжке

Вы можете удалить эксперимент, которым владеете, на странице экспериментов или на странице сведений об эксперименте.

Внимание

При удалении эксперимента записной книжки эта записная книжка также удаляется.

  • На странице "Эксперименты" в правом столбце щелкните значок меню Kebab и затем нажмите "Удалить".

Удалить из страницы экспериментов.

  • На странице сведений о эксперименте щелкните значок меню Kebab. Рядом с разрешения и нажмите Удалить.

Удалить из страницы сведений о эксперименте.

Вы можете удалить эксперимент из рабочей области. Щелкните правой кнопкой мыши имя эксперимента и щелкните Перейти к корзине.

Изменение разрешений для эксперимента

Чтобы изменить разрешения для эксперимента на странице сведений об эксперименте , нажмите Разрешения.

меню разрешений страницы сведений о эксперименте

Вы можете изменить разрешения для эксперимента, которым вы владеете, на странице Эксперименты. Щелкните значок меню kebab в правом столбце, а затем выберите пункт "Разрешения".

изменение разрешений на странице

Сведения о уровнях разрешений эксперимента см. в статье списки ACL эксперимента MLflow.

Копирование экспериментов между рабочими областями

Чтобы перенести эксперименты MLflow между рабочими областями, вы можете использовать управляемый сообществом проект с открытым кодом MLflow Export-Import.

Эти средства позволяют вам:

  • Совместно использовать данные и работать с другими специалистами по обработке и анализу данных на том же или другом сервере отслеживания. Например, вы можете клонировать эксперимент другого пользователя в свою рабочую область.
  • Копировать эксперименты и выполнения с локального сервера отслеживания в рабочую область Databricks.
  • Выполнять резервное копирование критически важных экспериментов и моделей в другую рабочую область Databricks.