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.

Defina o nome do experimento, o compute, o comando, o ambiente e a origem do código de um job de treinamento na configuração YAML da carga de trabalho que você passa para databricks air run -f. Esta página aborda a configuração de cargas de trabalho A10 e H100 sob demanda.

nota

A CLI gera ajuda de configuração a partir do mesmo esquema que usa para validar o YAML da carga de trabalho. Execute databricks air run -h config para ver a lista completa de campos da sua versão instalada. Use databricks air run -h config.<section> (por exemplo, databricks air run -h config.environment) para obter detalhes por seção.

Configuração mínima​

YAML
experiment_name: my-training
environment:
dependencies:
- mlflow
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: echo "Hello World"

Enviar com:

Bash
databricks air run -f train.yaml -p profile

Conceitos principais​

Os campos obrigatórios identificam o experimento, os recursos de compute e o comando. Os campos opcionais configuram dependências, código e comportamento de execução.

Campos essenciais​

A maioria das configurações de treinamento incluem cinco componentes:

  1. experiment_name (Obrigatório): Cria ou adiciona um experimento do MLflow. Use de 1 a 100 letras ASCII, dígitos, hífens ou underscores.
  2. environment (Optional): Python dependencies or a base environment version.
  3. compute (Obrigatório): recursos de GPU (tipo e contagem).
  4. command (Obrigatório): um comando ou script de shell não vazio com no máximo 1.000 linhas usado para iniciar o treinamento.
  5. code_source (Opcional): caminho para seu código de treinamento, disponibilizado remotamente.

Para valores compatíveis e restrições de campo, consulte Reference.

Seu primeiro Job de treinamento​

YAML
experiment_name: simple-training
environment:
dependencies:
- torch
- transformers
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/train.py

Nesta configuração:

  • experiment_name cria um experimento do MLflow nomeado simple-training (ou anexa uma nova execução se ele já existir).
  • environment usa o ambiente default e instala torch e transformers.
  • compute aloca um nó H100 (8 GPUs H100).
  • code_source Faz upload da pasta repo para o nó, disponível em $CODE_SOURCE_PATH.
  • command executa train.py via torchrun nas 8 GPUs H100. O arquivo está localizado localmente em /home/username/repo/train.py.

Casos de uso comuns​

Use variáveis de ambiente e segredos para configurar seu código de treinamento sem incorporar valores no script.

Adicionar variáveis de ambiente​

YAML
experiment_name: training-with-env
environment:
dependencies:
- torch
- transformers
env_variables:
BATCH_SIZE: '32'
LEARNING_RATE: '0.001'
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
branch: main
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/train.py

Usar segredos (chaves de API, tokens)​

YAML
experiment_name: training-with-secrets
environment:
dependencies:
- torch
- transformers
secrets:
HF_TOKEN: 'my_scope/hf_token'
WANDB_API_KEY: 'my_scope/wandb'
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
branch: main
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/train.py

Os segredos usam o formato scope/key e devem ser configurados nos Segredos do Databricks. Consulte Gerenciamento de segredos para ver a configuração. O nome de uma variável não pode aparecer em env_variables e secrets.

Ao compartilhamento um padrão YAML, outros usuários devem criar seus próprios segredos ou ter acesso ao segredo referenciado.

Ambiente​

Use o bloco environment para selecionar um ambiente Serverless GPU e instalar dependências do Python. Por exemplo, a configuração a seguir seleciona a versão 4 do ambiente Standard e instala o PyTorch e o Transformers:

YAML
environment:
version: '4'
dependencies:
- torch
- transformers

Versão do ambiente​

environment.version é opcional e seleciona a versão do ambiente gerenciado para a carga de trabalho.

Alguns exemplos incluem:

  • "4" ou "5" para usar a versão correspondente do ambiente Standard.
  • "databricks_ai_v5" para usar a versão 5 do ambiente Databricks AI, que inclui pacotes específicos de ML pré-instalados. (Lista completa de pacotes)

O exemplo a seguir seleciona a versão 5 do ambiente Databricks AI:

YAML
environment:
version: 'databricks_ai_v5'
dependencies: []

environment.dependencies é opcional quando você especifica environment.version. Omita-o ou use uma lista vazia se não precisar de pacotes adicionais. Se você fornecer dependências, use uma lista de strings, não um caminho escalar para um arquivo de requisitos.

Para obter informações sobre os ambientes disponíveis para o AI Runtime, consulte Configure seu ambiente.

Dependências do Python​

Liste as dependências Python da sua carga de trabalho como uma lista em linha em environment.dependencies.

Formato de dependência

A lista de dependências segue a Especificação do Ambiente Base do Databricks. Cada entrada é uma especificação de pacote no estilo pip (por exemplo, my-library==6.1). A lista também aceita as seguintes entradas:

  • Arquivos de requisitos : uma referência a um requirements.txt existente usando -r, por exemplo -r '/Workspace/Shared/requirements.txt'. Variáveis de ambiente como $HOME são expandidas.
  • Wheels : um caminho absoluto para um arquivo .whl, por exemplo /Workspace/Shared/path/to/simplejson-3.19.3-py3-none-any.whl.
  • URLs de Índice: uma URL de índice, por --index-url https://pypi.org/simple exemplo.
YAML
environment:
version: '4'
dependencies:
- --index-url https://pypi.org/simple
- -r '/Workspace/Shared/requirements.txt'
- my-library==6.1
- /Workspace/Shared/path/to/simplejson-3.19.3-py3-none-any.whl

Sinalizadores de instalação compatíveis

Dependências são instaladas com uv. As seguintes opções no estilo pip são suportadas como entradas de lista:

  • Aplicado a toda a instalação : --index-url, --extra-index-url e --find-links (-f) definem ou estendem os índices do pacote.
  • Aplicado à dependência que os segue : --no-deps, --no-build-isolation, --no-cache-dir e --force-reinstall. A flag deve ser posicionada em sua própria linha (ou antes da especificação), seguida pela dependência à qual ela se aplica.

Por exemplo, para instalar flash-attn em relação ao torch já instalado (sem isolamento de compilação) e sem resolver suas próprias dependências:

YAML
environment:
version: '4'
dependencies:
- torch
- --no-build-isolation
- --no-deps
- flash-attn
nota

--trusted-host Não suportado. Como uv configura a confiança por URL de índice, utilize --index-url ou --extra-index-url em vez disso.

Imagens Docker personalizadas​

Como alternativa a um ambiente gerenciado, especifique uma imagem de container Docker personalizada do Artifact Registry usando environment.unity_catalog_image. O valor usa o formato <catalog>.<schema>.<image>:<tag> sem o hostname do registro. environment.unity_catalog_image é mútua e exclusivamente exclusivo com environment.dependencies e environment.version, incluindo uma lista de dependências vazia.

YAML
experiment_name: my-dcs-training
environment:
unity_catalog_image: main.ml.training:v1
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: python /app/train.py

Antes de usar uma imagem personalizada, envie-a para o Artifact Registry no mesmo workspace que você usa para enviar a workload. Consulte Get started with Artifact Registry e Use custom Docker images with AI Runtime.

Trabalhar com fontes de código​

O bloco code_source faz upload do código local para que o Job de treinamento possa executá-lo.

  • root_path é o diretório local para tirar o snapshot. Sem um bloco git:, a CLI do Databricks empacota a árvore de trabalho, incluindo alterações não confirmadas, respeitando as regras do Git ignore.
  • Para fazer o snapshot de uma versão do Git confirmada, adicione um bloco git: com um branch ou commit. O diretório deve estar em um repository Git. Se root_path apontar para um subdiretório, apenas essa subárvore será empacotada.
  • Para repositórios grandes, include_paths permite que você faça um Snapshot de um subconjunto.

Exemplo mínimo​

YAML
experiment_name: simple-training
environment:
dependencies:
- torch
- transformers
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
command: python $CODE_SOURCE_PATH/train.py

Na máquina remota, o código é colocado em /databricks/code_source/<directory_name>, onde <directory_name> é o componente final do caminho de root_path. $CODE_SOURCE_PATH é definido para esse caminho absoluto, então use-o em seu comando em vez de codificar diretamente o local.

Git repositórios: pin por branch ou commit​

For Git repositories, add a git: block to pin the code version by branch or commit SHA. branch and commit are mutually exclusive: specify exactly one within the block. The revision must exist locally. The CLI does not fetch from a remote repository.

Pin a uma branch (usa o HEAD local dessa branch):

YAML
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
branch: main # Uses local HEAD of main (no remote fetch)
command: bash $CODE_SOURCE_PATH/train.sh

Pin a um SHA de commit (reprodutibilidade exata):

YAML
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
commit: abc1234567 # Pins specific commit
command: bash $CODE_SOURCE_PATH/train.sh

Campos-chave:

  • root_path (Required): Local path to the repository or a subdirectory to snapshot.
  • git.branch (Opcional): usa o HEAD local da branch. Alterações não confirmadas nos caminhos selecionados causam um erro porque não fazem parte desse commit.
  • git.commit (Opcional): Usa um commit específico disponível localmente. Alterações não confirmadas não estão incluídas.
  • git.remote: omita este campo ou defina-o como false. A busca remota com true ou um nome remoto não é compatível. Busque a revisão localmente antes de enviar a carga de trabalho.

Se você omitir o bloco git:, a CLI do Databricks empacotará a árvore de trabalho, incluindo alterações não commitadas e excluindo arquivos ignorados. Nenhum campo extra é obrigatório.

Diretórios que não são Git​

Você pode criar snapshots de diretórios que não são repository Git. Omita o bloco git:. A CLI empacota o diretório respeitando as regras de exclusão do Git. Os Snapshots da árvore de trabalho e pins pelo Git podem reutilizar um arquivo compactado de upload quando a chave do cache de Snapshots não é alterada.

YAML
code_source:
type: snapshot
snapshot:
root_path: /home/username/my_project
command: python $CODE_SOURCE_PATH/train.py

Filtragem de pasta com include_paths​

Para monorepos grandes, crie Snapshot apenas de pastas específicas para reduzir o tempo de upload e download e o tamanho do Snapshot:

YAML
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
include_paths:
- research/models
- research/common
- research/configs
command: python $CODE_SOURCE_PATH/research/models/launch_training.py

Pontos chave:

  • The field is optional. If omitted, the CLI selects files under root_path using the snapshot mode described above. Do not set an empty list.
  • Os caminhos devem ser relativos a root_path, sem / à frente.
  • .. não é permitido. Não é possível referenciar diretórios pai.

Fazer upload de snapshots para um volume​

Por default, a CLI faz o upload de Snapshot para o seu Workspace. Para usar um volume do Unity Catalog em vez disso, defina code_source.snapshot.remote_volume como um caminho que comece com /Volumes/:

YAML
code_source:
type: snapshot
snapshot:
root_path: .
remote_volume: /Volumes/main/ml/training-code

Você deve ter acesso ao volume e permissão para gravar arquivos nele.

Recursos avançados​

Configure os parâmetros de treinamento, o comportamento de repetição e a atribuição de custos com os seguintes campos.

Hiperparâmetros personalizados​

Passe a configuração estruturada para o script de treinamento por meio de HYPERPARAMETERS_PATH:

YAML
experiment_name: parameterized-training
environment:
dependencies:
- torch
- transformers
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
branch: main
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/train.py
parameters:
model:
name: 'gpt2'
hidden_size: 768
training:
batch_size: 32
learning_rate: 0.0001

Leiam no seu script:

Python
import os
import yaml

with open(os.environ['HYPERPARAMETERS_PATH']) as f:
params = yaml.safe_load(f)

learning_rate = params['training']['learning_rate']
model_name = params['model']['name']

Confiabilidade do Job​

YAML
experiment_name: reliable-training
environment:
dependencies:
- torch
- transformers
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo
git:
branch: main
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/train.py
max_retries: 2
timeout_minutes: 90

max_retries: 2 permite até duas novas tentativas após a tentativa inicial. O default é 3. Defina max_retries: 0 para desativar as novas tentativas.

timeout_minutes: 90 define um tempo limite de 90 minutos na execução do job enviada. Não é um orçamento separado de 90 minutos para cada nova tentativa. O valor deve ser pelo menos 1. Se omitido, o default do backend se aplica.

Atribuição de custos​

Anexe uma workload a uma política de uso serverless existente com usage_policy_name. O nome é resolvido para o ID da política quando a workload é lançada. Como alternativa, defina usage_policy_id para o UUID de uma política existente. Esses campos são mutuamente exclusivos. Os nomes de política devem conter de 1 a 127 caracteres. Para a configuração, consulte Attribute usage with serverless usage policies.

YAML
experiment_name: my-training
environment:
dependencies:
- mlflow
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: echo "Hello World"
usage_policy_name: my team policy

Referência​

Use estas tabelas para os campos de workload sob demanda e as configurações de GPU descritas nesta página. Para ver o esquema completo aceito pela sua CLI instalada, execute databricks air run -h config.

Referência de campo principal​

campo

Tipo

Descrição

Exemplo

experiment_name

string

Nome obrigatório do experimento do MLflow. De 1 a 100 letras ASCII, dígitos, hifens ou underscores.

"my-training-job"

mlflow_artifact_location

string

Local raiz para artefatos do MLflow registrados pela execução. Opcional.

/Volumes/main/default/mlflow-artifacts/my-training

environment.dependencies

Lista

Lista opcional de especificações de dependência.

["torch", "transformers"]

environment.version

string ou integer

Versão de ambiente gerenciada. Opcional. Usa o default se omitido. Consulte Versão do ambiente.

"4", "5", "databricks_ai_v5"

compute.num_accelerators

int

Número de GPUs. Deve ser um múltiplo das GPUs por nó para o compute.accelerator_type selecionado.

1, 4, 8

compute.accelerator_type

string

Configuração do acelerador, incluindo o tipo de GPU e o formato do nó. Consulte Configurações de GPU suportadas.

"GPU_1xA10", "GPU_1xH100", "GPU_8xH100"

code_source

dicionário

Configuração do código-fonte.

Consulte Trabalhar com fontes de código.

command

string

Required, nonempty shell comando or script of at most 1,000 lines.

torchrun --nproc_per_node=8 train.py

campo

Tipo

Descrição

Exemplo

experiment_name

string

Nome obrigatório do experimento do MLflow. De 1 a 100 letras ASCII, dígitos, hifens ou underscores.

"my-training-job"

mlflow_artifact_location

string

Local raiz para artefatos do MLflow registrados pela execução. Opcional.

/Volumes/main/default/mlflow-artifacts/my-training

environment.dependencies

Lista

Lista opcional de especificações de dependência.

["torch", "transformers"]

environment.version

string ou integer

Versão de ambiente gerenciada. Opcional. Usa o default se omitido. Consulte Versão do ambiente.

"4", "5", "databricks_ai_v5"

compute.num_accelerators

int

Número de GPUs. Deve ser um múltiplo das GPUs por nó para o compute.accelerator_type selecionado.

1, 4, 8

compute.accelerator_type

string

Configuração do acelerador, incluindo o tipo de GPU e o formato do nó. Consulte Configurações de GPU suportadas.

"GPU_1xA10", "GPU_1xH100", "GPU_8xH100"

code_source

dicionário

Configuração do código-fonte.

Consulte Trabalhar com fontes de código.

command

string

Required, nonempty shell comando or script of at most 1,000 lines.

torchrun --nproc_per_node=8 train.py

Configurações de GPU suportadas​

A CLI faz a correspondência de nomes de aceleradores diferenciando maiúsculas de minúsculas. A disponibilidade e as cotas dependem do seu workspace.

accelerator_type

GPUs por nó

num_accelerators requisito

Notas

GPU_1xA10

1

Qualquer número inteiro positivo

A10 único, bom para desenvolvimento e cargas de trabalho pequenas.

GPU_1xH100

1

1

Único H100.

GPU_8xH100

8

Um múltiplo positivo de 8

Nó H100 completo, típico para treinamento distribuído.

GPU_8xB300

8

Um múltiplo positivo de 8

Nó B300 completo, 288 GB de HBM por GPU. Pré-lançamento público. Somente AWS.

accelerator_type

GPUs por nó

num_accelerators requisito

Notas

GPU_1xA10

1

Qualquer número inteiro positivo

A10 único, bom para desenvolvimento e cargas de trabalho pequenas.

GPU_1xH100

1

1

Único H100.

GPU_8xH100

8

Um múltiplo positivo de 8

Nó H100 completo, típico para treinamento distribuído.

GPU_8xB300

8

Um múltiplo positivo de 8

Nó B300 completo, 288 GB de HBM por GPU. Pré-lançamento público. Somente AWS.

Para ver as capacidades do acelerador e os casos de uso recomendados, consulte Opções de hardware.

compute.num_accelerators é o número total de GPUs para a carga de trabalho. Deve ser um múltiplo das GPUs por nó para o compute.accelerator_type selecionado.

Campos opcionais​

Estes campos configuram a execução além do experimento, do compute e do comando obrigatórios:

campo

Tipo

Restrições e comportamento

env_variables

map of strings

Variáveis de ambiente simples. Um nome também não pode aparecer em secrets.

secrets

map of strings

Nomes de variáveis de ambiente mapeados para referências de segredo de scope/key.

parameters

map

Parâmetros de treinamento aninhados e de formato livre expostos por meio de HYPERPARAMETERS_PATH.

max_retries

inteiro

Contagem de tentativas não negativa. default é 3. Defina como 0 para desativar as tentativas.

timeout_minutes

inteiro

Tempo limite de execução do job em minutos. Deve ser pelo menos 1. Se omitido, o default do backend será aplicado.

idempotency_token

string

Token não vazio de no máximo 64 caracteres para deduplicar submissões. A flag --idempotency-key tem precedência.

mlflow_run_name

string

Nome de execução de 1 a 100 letras ASCII, dígitos, hifens ou underscores. O default é experiment_name.

mlflow_experiment_directory

string

Diretório do workspace para o experimento MLflow. Deve começar com /Workspace. A CLI criará o diretório se necessário.

mlflow_artifact_location

string

Raiz do artefato como um URI de dbfs:/ ou caminho de /Volumes/. A CLI normaliza os caminhos de /Volumes/ para URIs de dbfs:/Volumes/.

permissions

lista de objetos

Cada concessão requer um level não vazio e exatamente um de user_name, group_name ou service_principal_name. Os níveis de permissão são validados pelo workspace.

usage_policy_name

string

Nome de política de uso existente de 1 a 127 caracteres. Mutuamente exclusivo com usage_policy_id.

usage_policy_id

string

UUID de política de uso existente. Mutuamente exclusivo com usage_policy_name.

campo

Tipo

Restrições e comportamento

env_variables

map of strings

Variáveis de ambiente simples. Um nome também não pode aparecer em secrets.

secrets

map of strings

Nomes de variáveis de ambiente mapeados para referências de segredo de scope/key.

parameters

map

Parâmetros de treinamento aninhados e de formato livre expostos por meio de HYPERPARAMETERS_PATH.

max_retries

inteiro

Contagem de tentativas não negativa. default é 3. Defina como 0 para desativar as tentativas.

timeout_minutes

inteiro

Tempo limite de execução do job em minutos. Deve ser pelo menos 1. Se omitido, o default do backend será aplicado.

idempotency_token

string

Token não vazio de no máximo 64 caracteres para deduplicar submissões. A flag --idempotency-key tem precedência.

mlflow_run_name

string

Nome de execução de 1 a 100 letras ASCII, dígitos, hifens ou underscores. O default é experiment_name.

mlflow_experiment_directory

string

Diretório do workspace para o experimento MLflow. Deve começar com /Workspace. A CLI criará o diretório se necessário.

mlflow_artifact_location

string

Raiz do artefato como um URI de dbfs:/ ou caminho de /Volumes/. A CLI normaliza os caminhos de /Volumes/ para URIs de dbfs:/Volumes/.

permissions

lista de objetos

Cada concessão requer um level não vazio e exatamente um de user_name, group_name ou service_principal_name. Os níveis de permissão são validados pelo workspace.

usage_policy_name

string

Nome de política de uso existente de 1 a 127 caracteres. Mutuamente exclusivo com usage_policy_id.

usage_policy_id

string

UUID de política de uso existente. Mutuamente exclusivo com usage_policy_name.

Configuração do ambiente

YAML
environment:
version: '4'
dependencies:
- torch
- transformers
env_variables:
BATCH_SIZE: '32'
secrets:
HF_TOKEN: 'my_scope/hf_token'

Para versões de ambiente, formato de dependência e sinalizadores de instalação suportados, consulte Ambiente.

Imagem personalizada do Docker

YAML
environment:
unity_catalog_image: main.ml.training:v1

Este campo é mutuamente exclusivo com environment.dependencies e environment.version. Envie a imagem para o Artifact Registry antes de usar. Consulte Use custom Docker images with AI Runtime.

Permissões de execução

Conceda acesso ao job enviado usando um principal por entrada. Por exemplo:

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

Diretório de experimentos MLflow

Store the experiment in a shared workspace directory:

YAML
mlflow_experiment_directory: /Workspace/Shared/training-experiments

Configuração do código-fonte

YAML
code_source:
type: snapshot
snapshot:
root_path: /home/username/repo # REQUIRED — local path to repo or directory
git: # Optional (git repos only) — pin to a branch or commit
branch: main # Uses the branch's local HEAD
# commit: abc1234567 # Mutually exclusive with 'branch'
remote: false # Optional; remote fetching is not supported
include_paths: # Optional — filter included paths
- src/
- configs/

Restrições de campo:

  • git.branch e git.commit são mutuamente exclusivos: especifique exatamente um dentro do bloco git:.
  • Omitir git.remote ou defini-lo como false. A CLI não busca revisões de um local remoto.
  • Se você omitir o bloco git:, a árvore de trabalho será empacotada respeitando as regras de ignorar do Git, incluindo alterações não confirmadas nos arquivos selecionados.

Parâmetros personalizados

Passado para a carga de trabalho via HYPERPARAMETERS_PATH:

YAML
parameters:
model:
name: 'gpt2'
hidden_size: 768
training:
batch_size: 32

Nome da execução do MLflow

Use de 1 a 100 letras ASCII, dígitos, hífens ou underscores. Se omitido, o nome da execução assume o valor default de experiment_name.

YAML
mlflow_run_name: 'experiment-001-baseline'

Localização do artefato do MLflow

Defina mlflow_artifact_location para armazenar artefatos de uma execução do MLflow em um local raiz personalizado. Se você omitir este campo, uma nova execução usará o local default do DBFS, como dbfs:/databricks/mlflow-tracking/<experiment-id>/....

YAML
mlflow_artifact_location: /Volumes/main/default/mlflow-artifacts/my-training

Se o acesso ao DBFS estiver restrito ou se você preferir o Unity Catalog, especifique um caminho /Volumes/<catalog>/<schema>/<volume>/... ou o URI dbfs:/Volumes/<catalog>/<schema>/<volume>/... equivalente. A CLI do Databricks converte um caminho /Volumes para o URI dbfs: que o MLflow usa.

Use um local exclusivo para cada experimento. A localização do artefato de um experimento MLflow é fixada quando o experimento é criado. Se experiment_name identificar um experimento existente, mlflow_artifact_location deverá corresponder à sua localização de artefato ou ser omitido. Para usar um local diferente, especifique um novo nome de experimento.

Resolução de Caminho​

Os valores relativos de code_source.snapshot.root_path são resolvidos a partir do diretório do arquivo YAML da carga de trabalho. As entradas de include_paths são resolvidas a partir de root_path. Os caminhos dentro de command referem-se a arquivos no runtime remoto, não em sua máquina local. Use $CODE_SOURCE_PATH para fazer referência ao código enviado por upload.

Estrutura de pastas:

Text
/home/username/my-project/
├── train.yaml
└── scripts/
└── train.py

Configuração YAML:

YAML
experiment_name: my-training
environment:
dependencies:
- torch
- transformers
compute:
num_accelerators: 8
accelerator_type: GPU_8xH100
code_source:
type: snapshot
snapshot:
root_path: . # Relative to train.yaml
git:
branch: main
command: torchrun --nproc_per_node=8 $CODE_SOURCE_PATH/scripts/train.py