Справочник по YAML для рабочей нагрузки

На этой странице описаны рабочие нагрузки, принимаемые поля YAML, принятые databricks air run. Для синтаксиса и флагов команд см. databricks air run. Чтобы отправить рабочую нагрузку, смотрите быстрый старт AI Runtime.

Любая рабочая нагрузка требует experiment_name, compute, и command.

Example

Следующий пример демонстрирует примерную конфигурацию рабочей нагрузки:

experiment_name: my-training
compute:
  accelerator_type: GPU_1xA10
  num_accelerators: 1
environment:
  version: 6
  dependencies:
    - torch
code_source:
  root_path: .
command: python $CODE_SOURCE_PATH/train.py

experiment_name

Тип: Струна

Required. Ключевым experiment_name является название эксперимента MLflow.

Если эксперимент с таким названием не существует, AI Runtime создаёт его. В противном случае AI Runtime добавляет новую серию к существующему эксперименту.

compute

Тип: Карта

Required. compute Объект определяет конфигурацию ускорителя.

Key Type Description
accelerator_type string Required. Тип ускорителя, принятый CLI и доступный в рабочем пространстве. Сопоставление регистрозависимо.
num_accelerators integer Required. Положительное количество ускорителей подтверждается для выбранного типа ускорителя.
pool_id string ID провизированной ёмкости GPU.
priority_class string Приоритет планирования для рабочих нагрузок, использующих заданную ёмкость GPU. Допустимые значения: BEST_EFFORT, NORMAL и CRITICAL. Требует использования pool_id.

Типы и количество ускорителей зависят от рабочего пространства, облака и региона. Для выбора оборудования и его доступности см. раздел «Железо».

command

Тип: Струна

Required. Ключ command содержит непустую команду или скрипт оболочки. Пути в команде относятся к удалёным путям файлов в контейнере рабочей нагрузки. Когда code_source установлен, $CODE_SOURCE_PATH содержит абсолютный путь к извлеченному коду.

environment

Тип: Карта

environment Объект выбирает управляемую среду с опциональными зависимостями или пользовательский образ Unity Catalog.

Key Type Description
version строка или целое число Цифровая версия среды, такая как 6, или идентификатор среды ИИ Databricks, например databricks_ai_v6. Идентификатор databricks_ai_v требует версии 5 или выше. Если он опущен, CLI использует текущий стандарт AI Runtime.
dependencies список строк Спецификации пакета передавались в serverless-среду. По умолчанию нет дополнительных зависимостей.
unity_catalog_image string Пользовательское изображение в формате <catalog>.<schema>.<image>:<tag>. Взаимоисключаемая с version и dependencies. Для инструкций по установке см. раздел «Использовать пользовательские изображения Docker с AI Runtime».

Для получения рекомендаций по выбору и расширению среды смотрите раздел «Настройте вашу среду».

Пример управляемой среды
environment:
  version: 6
  dependencies:
    - torch

Чтобы использовать пользовательский образ вместо управляемой среды, укажите только unity_catalog_image:

Пример пользовательского изображения
environment:
  unity_catalog_image: main.ml.training:v1

code_source

Тип: Карта

code_source Объект упаковывает локальный код для рабочей нагрузки.

Key Type Description
root_path string Обязательный параметр при code_source установке. Локальный каталог для упаковки. Каталог должен существовать, когда CLI запускает запуск.
remote_volume string Адрес тома Unity Catalog для загруженного архива. Начните с /Volumes/. По умолчанию используется место рабочего пространства.
include_paths список строк Пути для включения относительно root_path. Элементы должны быть непустыми и относительными, и не могут содержать ... Опустите ключ, чтобы включить все выбранные файлы. Пустой список не является действительным.
git object Закрепляет снимок исходного кода на локальную ветку Git или коммит.

Если опускать git, CLI упаковывает рабочее дерево, включая незакреплённые и неотслеживаемые файлы, которые не исключаются правилами игнорирования Git. Родственник root_path разрешается из каталога, содержащего файл рабочей нагрузки YAML.

Git

Тип: Карта

Объект git поддерживает следующие ключи:

Key Type Description
branch string Требуется, когда commit его опускают. Упаковывает местный HEAD филиала. Выбранные файлы не могут содержать незакреплённые изменения.
commit string Требуется, когда branch его опускают. Пакетирует коммит из локального хранилища объектов Git. Взаимоисключающ с branch.
Example

Следующий пример упаковывает выбранные пути из локальной main ветки:

code_source:
  root_path: ./src
  include_paths:
    - training
    - configs
  git:
    branch: main

env_variables

Тип: Карта строк

env_variables Ключ содержит простые имена переменных среды и значения строк. Имя также не может появляться в secrets.

Example
env_variables:
  BATCH_SIZE: '32'
  LEARNING_RATE: '0.001'

idempotency_token

Тип: Струна

Ключ определяет idempotency_token повторяющиеся подачи. Повторная подача с тем же токеном возвращает существующий результат. CLI генерирует UUID, когда этот ключ опущен. --idempotency-key Флаг команды имеет приоритет.

max_retries

Тип: Целое число

Ключ max_retries указывает количество повторных попыток после первоначальной попытки. Значение должно быть неотрицательным. По умолчанию: 3.

mlflow_artifact_location

Тип: Струна

Ключ mlflow_artifact_location содержит dbfs:/ URI или /Volumes/ путь. Если вы опустите этот ключ, новый эксперимент использует стандартное местоположение DBFS, а существующий эксперимент — заданное местоположение артефакта. Для существующего эксперимента значение должно совпадать с расположением артефакта эксперимента.

mlflow_experiment_directory

Тип: Струна

Ключ mlflow_experiment_directory содержит каталог рабочего пространства для эксперимента. Путь должен начинаться с /Workspace.

mlflow_run_name

Тип: Струна

Ключ mlflow_run_name содержит название серии. Если пропустить этот ключ, имя запуска по умолчанию будет иметь значение experiment_name.

parameters

Тип: Карта

Ключ parameters содержит вложенные значения в свободной форме. CLI сериализирует значения вместе hyperparameters.yaml с другими артефактами запуска.

Example
parameters:
  learning_rate: 0.001
  model:
    hidden_size: 1024

permissions

Тип: Список карт

Ключ содержит гранты, поданные permissions после подачи заявки. Если грант не проходит, серия остаётся созданной, и CLI печатает предупреждение.

Каждый грант поддерживает следующие ключи:

Key Type Description
level string Required. Уровень разрешения, например CAN_VIEW или CAN_MANAGE. Рабочее пространство подтверждает ценность.
user_name string Электронная почта пользователя. Укажите ровно одно из user_name, group_nameили service_principal_name для каждого гранта.
group_name string Имя группы. Укажите ровно одно из user_name, group_nameили service_principal_name для каждого гранта.
service_principal_name string Имя субъекта-службы. Укажите ровно одно из user_name, group_nameили service_principal_name для каждого гранта.
Example
permissions:
  - user_name: trainer@example.com
    level: CAN_MANAGE
  - group_name: training-team
    level: CAN_VIEW

secrets

Тип: Карта строк

secrets Ключ содержит имена переменных среды, сопоставленные с секретными ссылками в точном scope/key формате. Прицел и ключ должны быть непустыми. Имя также не может появляться в env_variables.

Example
secrets:
  HF_TOKEN: my-scope/hf-token

Для получения информации о создании и управлении секретами см. раздел «Управление секретами».

timeout_minutes

Тип: Целое число

Ключ timeout_minutes устанавливает лимит настенного часов для полного цикла, включая повторные циклы. Значение должно быть положительным. Если его опустить, рабочая нагрузка использует AI Runtime по умолчанию.

usage_policy_id

Тип: Струна

Ключ usage_policy_id содержит канонический UUID существующей политики использования без сервера. Взаимоисключающ с usage_policy_name.

usage_policy_name

Тип: Струна

Ключ usage_policy_name содержит название существующей политики использования без сервера. Взаимоисключающ с usage_policy_id.

Для информации о создании политик использования см . раздел «Использование атрибутов с безсерверными политиками использования».

Дополнительные ресурсы