Организация тренировочных запусков с экспериментами MLflow

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

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

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

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

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

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

Вы также можете использовать API MLflow или провайдер Databricks Terraform с экспериментом databricks_mlflow.

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

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

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

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

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

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

    Для рабочих областей, поддерживающих Unity Catalog, можно также хранить артефакты в разделе каталога 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 Catalog, или у вас нет доступа к версии MLflow 2.15.0 или новее, укажите путь в следующем формате: dbfs:/path/to/artifacts.

    Databricks рекомендует использовать том каталога Unity для хранения артефактов. Если ни раздел Unity Catalog, ни 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.

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

Вы можете переименовать принадлежащий вам эксперимент на странице «Эксперименты» или на странице сведений об этом эксперименте.

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

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

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

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

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

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

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

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

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

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

Удалить блокнот эксперимента

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

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

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

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

Внимание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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