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


Пакеты ресурсов Databricks для стеков MLOps

Вы можете использовать пакеты ресурсов Databricks, интерфейс командной строки Databricks и репозиторий Databricks MLOps Stack на GitHub для создания стеков MLOps. MLOps Stack — это проект MLOps в Azure Databricks , который следует рабочим рекомендациям вне поля. См. раздел "Что такое пакеты ресурсов Databricks?".

Чтобы создать, развернуть и запустить проект MLOps Stacks, выполните следующие действия:

Требования

  • Убедитесь, что целевая удаленная рабочая область включена. См. раздел " Что такое файлы рабочей области?".
  • На компьютере разработки убедитесь, что интерфейс командной строки Databricks версии 0.212.2 или выше установлен. Чтобы узнать установленную версию Databricks CLI, выполните команду databricks -v. Чтобы обновить версию интерфейса командной строки Databricks, см. статью "Установка или обновление интерфейса командной строки Databricks". (Пакеты не работают с Databricks CLI версии 0.18 и ниже.)

Шаг 1. Настройка аутентификации

Настройте интерфейс командной строки Databricks для проверки подлинности.

В этой статье предполагается, что вы хотите использовать проверку подлинности OAuth на компьютере (U2M) и соответствующий профиль конфигурации Azure Databricks с именем DEFAULT проверки подлинности.

Примечание.

Проверка подлинности U2M подходит для выполнения этих действий в режиме реального времени. Для полностью автоматизированных рабочих процессов Databricks рекомендует использовать проверку подлинности OAuth на компьютере (M2M). Инструкции по настройке проверки подлинности M2M см. в разделе "Проверка подлинности".

  1. Используйте интерфейс командной строки Databricks для локального запуска управления маркерами OAuth, выполнив следующую команду для каждой целевой рабочей области.

    В следующей команде замените <workspace-url> URL-адрес Azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Интерфейс командной строки Databricks предлагает сохранить сведения, введенные в качестве профиля конфигурации Azure Databricks. Нажмите, Enter чтобы принять предлагаемое имя профиля, или введите имя нового или существующего профиля. Любой существующий профиль с тем же именем перезаписывается с введенными сведениями. Профили можно использовать для быстрого переключения контекста проверки подлинности в нескольких рабочих областях.

    Чтобы получить список существующих профилей, в отдельном терминале или командной строке используйте интерфейс командной строки Databricks для выполнения команды databricks auth profiles. Чтобы просмотреть существующие параметры конкретного профиля, выполните команду databricks auth env --profile <profile-name>.

  3. В веб-браузере выполните инструкции на экране, чтобы войти в рабочую область Azure Databricks.

  4. Чтобы просмотреть текущее значение маркера OAuth профиля и метку времени окончания срока действия маркера, выполните одну из следующих команд:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Если у вас есть несколько профилей с --host одинаковым значением, может потребоваться указать и -p параметры --host вместе, чтобы помочь Databricks CLI найти правильные соответствующие сведения о маркере OAuth.

Шаг 2. Создание проекта пакета

  1. Используйте шаблоны пакета ресурсов Databricks для создания начальных файлов проекта MLOps Stacks. Для этого выполните следующую команду:

    databricks bundle init mlops-stacks
    
  2. Ответьте на запросы на экране. Рекомендации по ответу на эти запросы см. в статье "Запуск нового проекта" в репозитории Databricks MLOps Stacks на сайте GitHub.

    Первый запрос предлагает возможность настройки компонентов кода машинного обучения, компонентов CI/CD или обоих. Этот параметр упрощает начальную настройку, так как вы можете создать только те компоненты, которые немедленно актуальны. (Чтобы настроить другие компоненты, снова выполните команду инициализации.) Выберите один из следующих вариантов:

    • CICD_and_Project (по умолчанию) — настройте код машинного обучения и компоненты CI/CD.
    • Project_Only — настройте только компоненты кода машинного обучения. Этот вариант предназначен для начала работы с специалистами по обработке и анализу данных.
    • CICD_Only — настройте только компоненты CI/CD. Этот параметр предназначен для инженеров машинного обучения для настройки инфраструктуры.

    После ответа на все запросы на экране шаблон создает начальные файлы проекта MLOps Stacks и добавляет их в текущий рабочий каталог.

  3. Настройте начальные файлы проекта MLOps Stacks по мере необходимости. Для этого следуйте инструкциям в следующих файлах в новом проекте:

    Роль Goal Документация
    Пользователи этого репозитория в первый раз Общие сведения о конвейере машинного обучения и структуре кода в этом репозитории README.md
    Специалист по обработке и анализу данных Начало написания кода машинного обучения для нового проекта <project-name>/README.md
    Специалист по обработке и анализу данных Обновление рабочего кода машинного обучения (например, логики обучения модели) для существующего проекта docs/ml-pull-request.md
    Специалист по обработке и анализу данных Изменение ресурсов машинного обучения рабочей модели (например, заданий обучения или вывода модели) <project-name>/resources/README.md
    MLOps / DevOps Настройка CI/CD для текущего проекта машинного обучения docs/mlops-setup.md
    • Для настройки экспериментов сопоставления в объявлении эксперимента соответствуют полезным данным запроса операции создания эксперимента, как определено в post /api/2.0/mlflow/experiments/create в справочнике по REST API, выраженному в формате YAML.

    • Для настройки заданий сопоставления в объявлении задания соответствуют полезным данным запроса операции создания задания, как определено в post /api/2.1/jobs/create в справочнике по REST API, выраженному в формате YAML.

      Совет

      Вы можете определить, объединить и переопределить параметры для новых кластеров заданий в пакетах с помощью методов, описанных в разделе "Переопределение параметров кластера" в пакетах ресурсов Databricks.

    • Для настройки моделей сопоставления в объявлении модели соответствуют полезной нагрузке запроса операции каталога Unity, определенной в post /api/2.1/unity-catalog/models в справочнике по REST API, выраженному в формате YAML.

    • Для настройки конвейеров сопоставления в объявлении конвейера соответствуют полезным данным запроса операции создания конвейера, определенным в post /api/2.0/pipelines в справочнике ПО REST API, выраженному в формате YAML.

Шаг 3. Проверка проекта пакета

Проверьте, действительна ли конфигурация пакета. Для этого запустите интерфейс командной строки Databricks из корневого каталога проекта, где databricks.yml находится он, как показано ниже.

databricks bundle validate

Если возвращается сводка конфигурации пакета, проверка выполнена успешно. Если возвращаются какие-либо ошибки, исправьте ошибки и повторите этот шаг.

Шаг 4. Развертывание пакета

Разверните ресурсы и артефакты проекта в нужной удаленной рабочей области. Для этого запустите интерфейс командной строки Databricks из корневого каталога проекта, где databricks.yml находится он, как показано ниже.

databricks bundle deploy -t <target-name>

Замените <target-name> имя требуемого целевого объекта в databricks.yml файле, например dev, teststagingили prod.

Шаг 5. Запуск развернутого пакета

Развернутые задания Azure Databricks автоматически выполняются в предварительно определенных расписаниях проекта. Чтобы немедленно запустить развернутое задание, запустите интерфейс командной строки Databricks из корневого каталога проекта, где databricks.yml находится он, как показано ниже.

databricks bundle run -t <target-name> <job-name>
  • Замените <target-name> имя требуемого целевого объекта в databricks.yml файле, где было развернуто задание, например dev, teststagingили prod.
  • Замените <job-name> именем задания в одном из .yml файлов, <project-name>/databricks-resourcesнапример batch_inference_jobwrite_feature_table_job, или model_training_job.

Появится ссылка на задание Azure Databricks, которое можно скопировать в веб-браузер, чтобы открыть задание в пользовательском интерфейсе Azure Databricks.

Шаг 6. Удаление развернутого пакета (необязательно)

Чтобы удалить ресурсы и артефакты развернутого проекта, если их больше не требуется, запустите интерфейс командной строки Databricks из корневого каталога проекта, где находится он databricks.yml , как показано ниже.

databricks bundle destroy -t <target-name>

Замените <target-name> имя требуемого целевого объекта в databricks.yml файле, например dev, teststagingили prod.

Ответьте на запросы на экран, чтобы подтвердить удаление ранее развернутых ресурсов и артефактов.