Pular para o conteúdo principal

Referência de Carga de Trabalho YAML

info

Visualização

Este recurso está em Pré-visualização Pública.

Esta página descreve os campos YAML de carga de trabalho aceitos por databricks air run. Para ver a sintaxe de comandos e sinalizadores, consulte databricks air execução. Para enviar uma carga de trabalho, consulte Início rápido da CLI do Databricks para AI Runtime.

Cada carga de trabalho requer experiment_name, compute e command.

Exemplo​

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

YAML
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

Obrigatório. A key experiment_name é o nome da experiência do MLflow.

compute​

Type: Map

Obrigatório. O objeto compute define a configuração do acelerador.

Chave

Tipo

Descrição

accelerator_type

string

Obrigatório. Um tipo de acelerador aceito pela CLI e disponível no workspace. A correspondência diferencia maiúsculas de minúsculas.

num_accelerators

inteiro

Obrigatório. Uma contagem de aceleradores positiva com suporte para o tipo de acelerador selecionado.

pool_id

string

O ID para a capacidade de GPU provisionada.

priority_class

string

A prioridade de agendamento para cargas de trabalho que usam capacidade de GPU provisionada. Os valores aceitos são BEST_EFFORT, NORMAL e CRITICAL. Requer pool_id.

Chave

Tipo

Descrição

accelerator_type

string

Obrigatório. Um tipo de acelerador aceito pela CLI e disponível no workspace. A correspondência diferencia maiúsculas de minúsculas.

num_accelerators

inteiro

Obrigatório. Uma contagem de aceleradores positiva com suporte para o tipo de acelerador selecionado.

pool_id

string

O ID para a capacidade de GPU provisionada.

priority_class

string

A prioridade de agendamento para cargas de trabalho que usam capacidade de GPU provisionada. Os valores aceitos são BEST_EFFORT, NORMAL e CRITICAL. Requer pool_id.

Os tipos e as contagens de aceleradores dependem do workspace, da cloud e da região. Para seleção e disponibilidade de hardware, consulte Opções de hardware.

comando​

Tipo: string

Obrigatório. A key command contém um comando ou script de shell não vazio. Os caminhos no comando referem-se a caminhos de arquivo remotos no contêiner da carga de trabalho. Quando code_source é definido, $CODE_SOURCE_PATH contém o caminho absoluto para o código extraído.

environment​

Type: Map

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

Chave

Tipo

Descrição

version

string ou integer

Uma versão do ambiente numérica, como 6, ou um identificador de ambiente do Databricks AI, como databricks_ai_v6. Um identificador databricks_ai_v requer a versão 5 ou acima. Se omitido, a CLI usa o default atual do AI Runtime.

dependencies

lista de strings

Especificações de pacote passadas para o ambiente serverless. O valor default é nenhuma dependência adicional.

unity_catalog_image

string

Uma imagem personalizada no formato <catalog>.<schema>.<image>:<tag>. Mutuamente exclusivo com version e dependencies. Para obter instruções de configuração, consulte Usar imagens personalizadas do Docker Image com o AI Runtime.

Chave

Tipo

Descrição

version

string ou integer

Uma versão do ambiente numérica, como 6, ou um identificador de ambiente do Databricks AI, como databricks_ai_v6. Um identificador databricks_ai_v requer a versão 5 ou acima. Se omitido, a CLI usa o default atual do AI Runtime.

dependencies

lista de strings

Especificações de pacote passadas para o ambiente serverless. O valor default é nenhuma dependência adicional.

unity_catalog_image

string

Uma imagem personalizada no formato <catalog>.<schema>.<image>:<tag>. Mutuamente exclusivo com version e dependencies. Para obter instruções de configuração, consulte Usar imagens personalizadas do Docker Image com o AI Runtime.

Para obter orientações sobre como selecionar e estender um ambiente, consulte Configurar seu ambiente.

Exemplo de ambiente gerenciado​
YAML
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​
YAML
environment:
unity_catalog_image: main.ml.training:v1

code_source​

Type: Map

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

Chave

Tipo

Descrição

root_path

string

Obrigatório quando code_source for definido. O diretório local para empacotar. O diretório deve existir quando a CLI preparar a execução.

remote_volume

string

Um local de volume do Unity Catalog para o arquivo compactado feito upload. Deve começar com /Volumes/. default um local de workspace por padrão.

include_paths

lista de strings

Caminhos para incluir em relação a root_path. As entradas não devem estar vazias, devem ser relativas e não podem conter ... Omitir a key para incluir todos os arquivos selecionados. Uma lista vazia não é válida.

git

objeto

pin o Snapshot da origem do código a uma branch ou a um commit local do Git.

Chave

Tipo

Descrição

root_path

string

Obrigatório quando code_source for definido. O diretório local para empacotar. O diretório deve existir quando a CLI preparar a execução.

remote_volume

string

Um local de volume do Unity Catalog para o arquivo compactado feito upload. Deve começar com /Volumes/. default um local de workspace por padrão.

include_paths

lista de strings

Caminhos para incluir em relação a root_path. As entradas não devem estar vazias, devem ser relativas e não podem conter ... Omitir a key para incluir todos os arquivos selecionados. Uma lista vazia não é válida.

git

objeto

pin o Snapshot da origem do código a uma branch ou a um commit local do Git.

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

git​

Type: Map

O objeto git dá suporte às seguintes keys:

Chave

Tipo

Descrição

branch

string

Obrigatório quando commit é omitido. Empacota o HEAD local do branch. Os arquivos selecionados não podem conter alterações sem commit.

commit

string

Obrigatório quando branch é omitido. Empacota um commit do armazenamento de objetos local do Git. Mutuamente exclusivo com branch.

Chave

Tipo

Descrição

branch

string

Obrigatório quando commit é omitido. Empacota o HEAD local do branch. Os arquivos selecionados não podem conter alterações sem commit.

commit

string

Obrigatório quando branch é omitido. Empacota um commit do armazenamento de objetos local do Git. Mutuamente exclusivo com branch.

Exemplo​

O exemplo a seguir faz um pacote de caminhos selecionados do Branch main local:

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

env_variables​

Tipo: mapa de strings

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

Exemplo​
YAML
env_variables:
BATCH_SIZE: '32'
LEARNING_RATE: '0.001'

idempotency_token​

Tipo: string

A key idempotency_token identifica envios repetidos. Um envio repetido com o mesmo token retorna a execução existente. A CLI gera um UUID quando essa key é omitida. O flag de comando --idempotency-key tem precedência.

max_retries​

Tipo: Integer

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

mlflow_artifact_location​

Tipo: string

A key mlflow_artifact_location contém um URI dbfs:/ ou um caminho /Volumes/.

mlflow_experiment_directory​

Tipo: string

A key mlflow_experiment_directory contém o diretório do workspace para o experimento. O caminho deve começar com /Workspace.

mlflow_run_name​

Tipo: string

A key mlflow_run_name contém o nome da execução.

parâmetros​

Type: Map

A key parameters contém valores aninhados de formato livre. A CLI serializa os valores para hyperparameters.yaml com os outros artefatos de inicialização.

Exemplo​
YAML
parameters:
learning_rate: 0.001
model:
hidden_size: 1024

permissões​

Tipo: Lista de mapas

A key permissions contém concessões aplicadas após o envio. Se uma concessão falhar, a execução permanece criada e a CLI exibe um aviso.

Cada concessão dá suporte às seguintes key:

Chave

Tipo

Descrição

level

string

Obrigatório. Um nível de permissão, como CAN_VIEW ou CAN_MANAGE. O workspace valida o valor.

user_name

string

O email do usuário. Especifique exatamente um de user_name, group_name ou service_principal_name para cada concessão.

group_name

string

O nome do grupo. Especifique exatamente um de user_name, group_name ou service_principal_name para cada concessão.

service_principal_name

string

O nome do service principal. Especifique exatamente um de user_name, group_name ou service_principal_name para cada concessão.

Chave

Tipo

Descrição

level

string

Obrigatório. Um nível de permissão, como CAN_VIEW ou CAN_MANAGE. O workspace valida o valor.

user_name

string

O email do usuário. Especifique exatamente um de user_name, group_name ou service_principal_name para cada concessão.

group_name

string

O nome do grupo. Especifique exatamente um de user_name, group_name ou service_principal_name para cada concessão.

service_principal_name

string

O nome do service principal. Especifique exatamente um de user_name, group_name ou service_principal_name para cada concessão.

Exemplo​
YAML
permissions:
- user_name: trainer@example.com
level: CAN_MANAGE
- group_name: training-team
level: CAN_VIEW

segredos​

Tipo: mapa de strings

A key secrets contém nomes de variável de ambiente mapeados para referências de segredo exatamente no formato scope/key. O escopo e a key devem não estar vazios. Um nome também não pode aparecer em env_variables.

Exemplo​
YAML
secrets:
HF_TOKEN: my-scope/hf-token

Para obter informações sobre como criar e gerenciar segredos, consulte Secret management.

timeout_minutes​

Tipo: Integer

A key timeout_minutes define o limite de tempo real para a execução completa, incluindo novas tentativas. O valor deve ser positivo. Quando omitido, a carga de trabalho usa o default do AI Runtime.

usage_policy_id​

Tipo: string

A key usage_policy_id 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 key usage_policy_name contém o nome de uma política de uso Serverless existente. Mutuamente exclusivo com usage_policy_id.

Para obter informações sobre como criar políticas de uso, consulte Atribuir uso com políticas de uso serverless.

Outros recursos​