Referência de YAML de Workload
Esta página descreve os campos YAML de carga de trabalho aceitos por databricks air run. Para a sintaxe e as flags dos comandos, consulte databricks air run. Para enviar uma carga de trabalho, consulte o início rápido do 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 amostra:
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 experiment MLflow.
Se um experimento com esse nome não existir, o AI Runtime o criará. Caso contrário, o AI Runtime adicionará a nova execução ao experimento existente.
compute
Tipo: Mapa
Obrigatório. O objeto compute define a configuração do acelerador.
Chave | Tipo | Descrição |
|---|---|---|
| string | Obrigatório. Um tipo de acelerador aceito pela CLI e disponível no workspace. A correspondência diferencia maiúsculas de minúsculas. |
| inteiro | Obrigatório. Uma contagem positiva de aceleradores suportada para o tipo de acelerador selecionado. |
| string | O ID da capacidade de GPU provisionada. |
| string | A prioridade de agendamento para cargas de trabalho usando capacidade de GPU provisionada. Os valores aceitos são |
Os tipos e 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 shell ou script não vazio. Os caminhos no comando referem-se a caminhos de arquivo remotos no container de workload. Quando code_source é definido, $CODE_SOURCE_PATH contém o caminho absoluto para o código extraído.
ambiente
Tipo: Mapa
O objeto environment seleciona um ambiente gerenciado com dependências opcionais ou uma imagem personalizada do Unity Catalog.
Chave | Tipo | Descrição |
|---|---|---|
| string ou número inteiro | Uma versão de ambiente numérica, como |
| lista de strings | Especificações de pacote passadas para o ambiente serverless. O default é não ter dependências adicionais. |
| string | Uma imagem personalizada no formato |
Para obter orientação sobre como selecionar e expandir um ambiente, consulte Configurar 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 objeto code_source empacota o código local para a carga de trabalho.
Chave | Tipo | Descrição |
|---|---|---|
| string | Necessário quando |
| string | Uma localização de volume do Unity Catalog para o arquivo upload. Deve começar com |
| lista de strings | Caminhos para incluir relativos a |
| objeto | pin o Snapshot da origem do código a uma Branch ou commit local do Git. |
Se você omitir git, a CLI criará um pacote da árvore de trabalho, inclusive arquivos não confirmados e não rastreados que não são excluídos pelas regras de exclusão do Git. Um root_path relativo é resolvido no diretório que contém o arquivo YAML de carga de trabalho.
git
Tipo: Mapa
O objeto git dá suporte às seguintes keys:
Chave | Tipo | Descrição |
|---|---|---|
| string | Obrigatório quando |
| string | Necessário quando |
Exemplo
O exemplo a seguir pacote caminhos selecionados do branch local main:
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 não pode aparecer em secrets.
Exemplo
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 sinalizador de comando --idempotency-key tem precedência.
max_retries
Tipo: inteiro
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/. Se você omitir esta key, um novo experimento usará o local DBFS default, e um experimento existente usará seu local de artefato configurado. Para um experimento existente, o valor deve coincidir com a localização do artefato do experimento.
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. Se você omitir essa key, o nome da execução usará por default o valor de experiment_name.
parâmetros
Tipo: Mapa
A key parameters contém valores aninhados de formato livre. A CLI serializa os valores para hyperparameters.yaml com os outros artefatos de lançamento.
Exemplo
parameters:
learning_rate: 0.001
model:
hidden_size: 1024
permissões
Tipo: Lista de mapas
A key permissions contém permissões aplicadas após o envio. Se uma concessão falhar, a execução permanece criada e a CLI imprime um aviso.
Cada concessão suporta as seguintes key:
Chave | Tipo | Descrição |
|---|---|---|
| string | Obrigatório. Um nível de permissão, como |
| string | O email do usuário. Especifique exatamente um entre |
| string | O nome do grupo. Especifique exatamente um de |
| string | O nome do service principal. Especifique exatamente um de |
Exemplo
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áveis de ambiente mapeados para referências secretas no formato exato scope/key. O escopo e a key não devem estar vazios. Um nome não pode aparecer em env_variables.
Exemplo
secrets:
HF_TOKEN: my-scope/hf-token
Para obter informações sobre como criar e gerenciar segredos, consulte Gerenciamento de segredos.
timeout_minutes
Tipo: inteiro
A key timeout_minutes define o limite de tempo real para a execução completa, incluindo novas tentativas. O valor deve ser positivo. Se omitido, o workload 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.
nome_da_política_de_uso
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.