Referência yaml de carga de trabalho

Importante

Esse recurso está em Visualização Pública.

Esta página descreve os campos YAML da carga de trabalho aceitos por databricks air run. Para sintaxe de comandos e flags, veja databricks air run. Para enviar uma carga de trabalho, veja o início rápido da CLI do Databricks para AI Runtime.

Toda carga de trabalho requer experiment_name, compute, e command.

Example

O exemplo a seguir mostra uma configuração de carga de trabalho exemplar:

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

Tipo: String

Required. A experiment_name chave é o nome do experimento MLflow.

Se um experimento com esse nome não existir, o AI Runtime o cria. Caso contrário, o AI Runtime adiciona a nova corrida ao experimento existente.

computação

Tipo: Mapa

Required. O compute objeto define a configuração do acelerador.

Key Tipo Description
accelerator_type cadeia Required. Um tipo de acelerador aceito pela CLI e disponível no espaço de trabalho. A correspondência é sensível a maiúsculas e minúsculas.
num_accelerators inteiro Required. Uma contagem positiva de aceleradores suportada para o tipo de acelerador selecionado.
pool_id cadeia O ID para capacidade provista da GPU.
priority_class cadeia A prioridade de escalonamento para cargas de trabalho que usam capacidade de GPU provisionada. Os valores aceitos são BEST_EFFORT, NORMAL e CRITICAL. Requer pool_id.

Tipos e contagens de aceleradores dependem do espaço de trabalho, nuvem e região. Para seleção e disponibilidade de hardware, veja Opções de hardware.

comando

Tipo: String

Required. A command chave contém um comando ou script de shell não vazio. Caminhos no comando referem-se a caminhos de arquivos remotos no contêiner da carga de trabalho. Quando code_source está definido, $CODE_SOURCE_PATH contém o caminho absoluto para o código extraído.

ambiente

Tipo: Mapa

O environment objeto seleciona um ambiente gerenciado com dependências opcionais ou uma imagem personalizada do Catálogo Unity.

Key Tipo Description
version cadeia de caracteres ou inteiro Uma versão numérica do ambiente, como 6, ou um identificador de ambiente de IA Databricks, como databricks_ai_v6. Um databricks_ai_v identificador requer a versão 5 ou superior. Se omitido, a CLI usa o padrão atual do tempo de execução da IA.
dependencies lista de cadeias de caracteres As especificações dos pacotes foram transferidas para o ambiente serverless. O padrão é que não há dependências adicionais.
unity_catalog_image cadeia Uma imagem personalizada no formato <catalog>.<schema>.<image>:<tag>. É mutuamente exclusivo com version e dependencies. Para instruções de configuração, veja Usar imagens Docker personalizadas com tempo de execução AI.

Para orientações sobre como selecionar e ampliar um ambiente, veja Configure seu ambiente.

Exemplo de ambiente gerenciado
environment:
  version: 6
  dependencies:
    - torch

Para usar uma imagem personalizada em vez de um ambiente gerenciado, especifique apenas unity_catalog_image:

Exemplo de imagem personalizada
environment:
  unity_catalog_image: main.ml.training:v1

code_source

Tipo: Mapa

O code_source objeto empacota código local para a carga de trabalho.

Key Tipo Description
root_path cadeia Necessário quando code_source é definido. O diretório local para empacotar. O diretório deve existir quando a CLI faz a execução.
remote_volume cadeia Um local de volume do Unity Catalog para o arquivo enviado. Deve começar com /Volumes/. O local padrão é um espaço de trabalho.
include_paths lista de cadeias de caracteres Caminhos para incluir em relação a root_path. As entradas devem ser não vazias e relativas, e não podem conter ... Omita a chave para incluir todos os arquivos selecionados. Uma lista vazia não é válida.
git objeto Fixa o snapshot de código-fonte em um branch ou commit Git local.

Se você omitir git, a CLI empacota a árvore de trabalho, incluindo arquivos não comprometidos e não rastreados que não são excluídos pelas regras de ignorar do Git. Um relativo root_path resolve a partir do diretório que contém o arquivo YAML da carga de trabalho.

Git

Tipo: Mapa

O git objeto dá suporte às seguintes chaves:

Key Tipo Description
branch cadeia É necessário quando commit é omitido. Empacota o HEAD local da filial. Arquivos selecionados não podem conter alterações não comprometidas.
commit cadeia É necessário quando branch é omitido. Empacota um commit do armazenamento local de objetos Git. Mutuamente exclusivo com branch.
Example

O exemplo a seguir embala caminhos selecionados do ramo local main :

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

env_variables

Tipo: Mapa das cordas

A env_variables chave contém nomes simples de variáveis do ambiente e valores de string. Um nome também não pode aparecer em secrets.

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

idempotency_token

Tipo: String

A idempotency_token chave identifica submissões repetidas. Uma submissão repetida com o mesmo token retorna a sequência existente. A CLI gera um UUID quando essa chave é omitida. A --idempotency-key bandeira de comando tem prioridade.

max_retries

Tipo: Integer

A max_retries chave especifica o número de tentativas após a tentativa inicial. O valor deve ser não negativo. Padrão: 3.

mlflow_artifact_location

Tipo: String

A mlflow_artifact_location chave contém um dbfs:/ URI ou /Volumes/ caminho. Se você omitir essa chave, um novo experimento usa a localização padrão do DBFS, e um experimento existente usa sua localização de artefato configurada. Para um experimento existente, o valor deve corresponder à localização do artefato do experimento.

mlflow_experiment_directory

Tipo: String

A mlflow_experiment_directory chave contém o diretório de espaço de trabalho do experimento. O caminho deve começar com /Workspace.

mlflow_run_name

Tipo: String

A mlflow_run_name chave contém o nome da sequência. Se você omitir essa chave, o nome da sequência passa a ser o valor padrão de experiment_name.

parameters

Tipo: Mapa

A parameters chave contém valores aninhados livres. A CLI serializa os valores com hyperparameters.yaml os outros artefatos de lançamento.

Example
parameters:
  learning_rate: 0.001
  model:
    hidden_size: 1024

permissões

Tipo: Lista de mapas

A permissions chave contém subsídios aplicados após a submissão. Se uma bolsa for reprovada, a execução permanece criada e o CLI imprime um aviso.

Cada bolsa apoia as seguintes chaves:

Key Tipo Description
level cadeia Required. Um nível de permissão, como CAN_VIEW ou CAN_MANAGE. O espaço de trabalho valida o valor.
user_name cadeia O email do usuário. Especifique exatamente um de user_name, group_name, ou service_principal_name para cada bolsa.
group_name cadeia O nome do grupo. Especifique exatamente um de user_name, group_name, ou service_principal_name para cada bolsa.
service_principal_name cadeia O nome da entidade de serviço. Especifique exatamente um de user_name, group_name, ou service_principal_name para cada bolsa.
Example
permissions:
  - user_name: trainer@example.com
    level: CAN_MANAGE
  - group_name: training-team
    level: CAN_VIEW

secrets

Tipo: Mapa das cordas

A secrets chave contém nomes de variáveis do ambiente mapeados para referências secretas no formato exato scope/key . O escopo e a chave devem ser não vazios. Um nome também não pode aparecer em env_variables.

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

Para informações sobre como criar e gerenciar segredos, veja Gestão de segredos.

timeout_minutes

Tipo: Integer

A timeout_minutes chave define o limite do relógio de parede para toda a execução, incluindo tentativas. O valor deve ser positivo. Se omitida, a carga de trabalho usa o padrão de Runtime da IA.

usage_policy_id

Tipo: String

A usage_policy_id chave contém o UUID canônico de uma política de uso serverless existente. Mutuamente exclusivo com usage_policy_name.

usage_policy_name

Tipo: String

A usage_policy_name chave contém o nome de uma política de uso serverless existente. Mutuamente exclusivo com usage_policy_id.

Para informações sobre a criação de políticas de uso, veja Uso de atributos com políticas de uso serverless.

Recursos adicionais