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


Пакеты ресурсов 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. Чтобы update версию интерфейса командной строки Databricks, см. установить или update интерфейс командной строки Databricks. (Пакеты не работают с Databricks CLI версии 0.18 и ниже.)

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

Настройте интерфейс командной строки 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 чтобы принять предлагаемое имя профиля, или введите имя нового или существующего профиля. Любой существующий профиль с тем же именем перезаписывается с введенными сведениями. Профили можно использовать для быстрого переключения контекста проверки подлинности в нескольких рабочих областях.

    Чтобы getlist любых существующих профилей, используйте интерфейс командной строки 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 одинаковым значением, может потребоваться указать и --host параметры -p вместе, чтобы помочь Databricks CLI найти правильные соответствующие сведения о маркере OAuth.

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

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

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

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

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

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

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

    Роль Goal Документация
    Пользователи этого репозитория в первый раз Общие сведения о конвейере машинного обучения и структуре кода в этом репозитории README.md
    Специалист по обработке и анализу данных Get начал писать код машинного обучения для нового проекта <project-name>/README.md
    Специалист по обработке и анализу данных Update рабочий код машинного обучения (например, логика обучения модели) для существующего проекта docs/ml-pull-request.md
    Специалист по обработке и анализу данных Изменение ресурсов машинного обучения рабочей модели (например, заданий обучения или вывода модели) <project-name>/resources/README.md
    MLOps / DevOps Set настройка 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 Catalog, как это определено в POST /api/2.1/unity-catalog/models в справочнике по REST API, представленному в формате YAML.

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

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

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

databricks bundle validate

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

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

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

databricks bundle deploy -t <target-name>

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

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

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

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

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

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

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

databricks bundle destroy -t <target-name>

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

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