Acompanhamento de experimentos e observabilidade
O AI Runtime integra-se ao MLflow para fornecer acompanhamento de experimentos, observabilidade e ferramentas de depuração. O MLflow fornece um único local para parâmetros, métricas, métricas de sistema de GPU, logs e artefatos de uma execução, independentemente de você desenvolver em um notebook, enviar uma carga de trabalho com a CLI databricks air ou programar um job.
O que o MLflow oferece
Um experimento MLflow agrupa execuções de treinamento relacionadas, e cada execução fornece um registro persistente da configuração de treinamento e resultados.
- Métricas e parâmetros : Registre a perda de treinamento, métricas de avaliação, taxas de aprendizagem e hiperparâmetros e, em seguida, compare-os entre execuções.
- Métricas do sistema : veja a utilização de GPU, CPU e memória para execuções gerenciadas na tab Métricas do sistema .
- view de log : view a saída do Driver para uma carga de trabalho apoiada por job na tab Logs da execução. Consulte view logs na guia Logs MLflow.
- Artefatos e modelos : armazene arquivos de modelo, configurações e outras saídas com a execução. Use um volume do Unity Catalog para artefatos grandes ou duráveis.
- Compartilhamento e colaboração : Conceda acesso a um experimento para que outros usuários do Workspace possam view e comparar suas execuções. Consulte Organizar execuções de treinamento com experimentos do MLflow.
- Integrações de estrutura : use as integrações do MLflow com Hugging Face Transformers, PyTorch Lightning e outras bibliotecas suportadas.
Para cargas de trabalho apoiadas por job, como cargas de trabalho enviadas com databricks air run, a execução de job do Databricks complementa o MLflow registrando o status da execução, compute, tentativas e saída do driver.
Como as execuções do MLflow são criadas
Como você inicia ou join uma execução do MLflow depende de como você inicia a carga de trabalho:
Como você faz a execução da carga de trabalho | Como a execução do MLflow começa | Como selecionar o experimento |
|---|---|---|
CLI do Databricks ( | Cada tentativa cria uma execução automaticamente. | Defina |
Notebook com o SDK do Databricks AI Runtime ( | Cada chamada cria uma execução automaticamente. | Chame |
Código de execução direta em um notebook anexado | Nenhuma execução é criada automaticamente. Use | Chame |
Agendado | A tarefa cria uma execução automaticamente. | Defina |
Depois que o código iniciar ou ingressar na execução correta, use a API de acompanhamento do MLflow para gravar dados de treinamento personalizados. Para estruturas suportadas, você pode usar o registro automático em vez de adicionar chamadas de registro individuais. Para padrões de aprendizagem profunda, consulte Fluxo de trabalho de aprendizagem profunda MLflow 3.
Use as seguintes práticas ao configurar o acompanhamento do MLflow:
- Defina
steppara um valor significativo, como o lote global ou a época. Faça log em um intervalo em vez de em cada lote. O MLflow limita o número de passos de métrica por execução. Veja Limites de recurso. - Para treinamento distribuído, registre uma métrica apenas do rank 0 para que cada valor seja registrado uma vez.
- Para fluxos de trabalho de notebook, use caminhos de experimento absolutos, como
/Users/<username>/my-experimentou/Workspace/Shared/<team>/my-experiment. Coloque os experimentos que você deseja compartilhar em uma pasta de workspace compartilhada. - Armazene checkpoints grandes e duráveis em um volume do Unity Catalog. Para padrões de checkpoint, consulte Melhore o desempenho e a resiliência do treinamento no AI Runtime.
Use o MLflow 3.7e acima para os exemplos nesta página.
Acompanhe cargas de trabalho da CLI do Databricks
Ao enviar uma carga de trabalho com databricks air run, o AI Runtime cria uma execução de job do Databricks para detalhes de execução e uma execução do MLflow para dados de experimentos. A submissão original e suas repetições compartilham uma execução de job, enquanto cada tentativa cria uma execução do MLflow separada no mesmo experimento para que você possa comparar as tentativas.
As métricas do sistema de GPU, CPU e memória são capturadas automaticamente para cada execução gerenciada e aparecem na tab Métricas do sistema do MLflow.

Configurar e registrar na execução
Use o YAML de carga de trabalho para selecionar o experimento e, opcionalmente, configurar o nome da execução e o local do artefato. O exemplo a seguir mostra os campos do MLflow necessários:
experiment_name: my-training
mlflow_run_name: baseline-lr3e5
mlflow_artifact_location: /Volumes/main/default/mlflow-artifacts/my-training
Para requisitos de campo, default e valores suportados, consulte Workload YAML reference.
O AI Runtime expõe a ID de execução gerenciada por meio de MLFLOW_RUN_ID. Para registrar seus próprios parâmetros, métricas e artefatos nessa execução, reabra-a com a API de acompanhamento do MLflow:
import os
import mlflow
# Log from rank 0 only because all nodes share the same MLFLOW_RUN_ID.
if os.environ.get("RANK", "0") == "0":
with mlflow.start_run(run_id=os.environ["MLFLOW_RUN_ID"]):
mlflow.log_param("learning_rate", 3e-4)
for step, loss in enumerate(training_losses):
mlflow.log_metric("train_loss", loss, step=step)
Encontrar execuções e logs
Os logs estão disponíveis tanto por meio da CLI do Databricks quanto pela página de execução do MLflow. Use os seguintes comandos para localizar cargas de trabalho, inspecionar uma carga de trabalho e transmitir ou fazer download de logs:
databricks air list --all-status
databricks air get <job-run-id>
databricks air logs <job-run-id>
databricks air logs <job-run-id> --node 2
databricks air logs <job-run-id> --download-to ./logs/
Acompanhar cargas de trabalho de notebook
A partir de um Notebook, você pode fazer a execução de código diretamente na sessão anexada ou fazer a execução de treinamento distribuído através do decorador @distributed do SDK do Databricks AI Runtime.
execução código diretamente em um notebook
O código executado diretamente em um notebook anexado não cria automaticamente uma execução do MLflow. Selecione um experimento, então comece uma execução ou habilite o registro automático:
import mlflow
mlflow.set_experiment("/Users/<username>/my-experiment")
with mlflow.start_run(run_name="baseline"):
train()
Para habilitar o registro automático do PyTorch Lightning, use o seguinte padrão:
mlflow.pytorch.autolog()
with mlflow.start_run(run_name="lightning-baseline"):
trainer.fit(model, datamodule=datamodule)
Para Hugging Face Transformers, configure TrainingArguments da seguinte forma:
from transformers import TrainingArguments
args = TrainingArguments(
output_dir="/Volumes/<catalog>/<schema>/<volume>/checkpoints",
report_to="mlflow",
run_name="llama7b-sft-lr3e5",
logging_steps=50,
)
Usar o SDK do Databricks AI Runtime
Para treinamento distribuído a partir de um notebook, use o decorador @distributed do SDK do Databricks AI Runtime (databricks-sdk-air). O SDK está disponível no namespace databricks.air na versão 6 e acima do ambiente de GPU, ou como serverless_gpu na versão 5 e abaixo do ambiente de GPU.
from databricks.air import distributed
@distributed()
def train():
# Training code
...
train.distributed()
Cada chamada .distributed() cria automaticamente uma execução do MLflow. O experimento default é /Users/{WORKSPACE_USER}/{notebook-name}. Para selecionar outro experimento, defina-o antes de chamar .distributed():
mlflow.set_experiment("/Users/<username>/my-experiment")
train.distributed()
Quando você chama .distributed() dentro de uma execução ativa, o AI Runtime cria uma execução secundária aninhada:
with mlflow.start_run() as parent_run:
train.distributed()
Para retomar uma execução anterior, defina MLFLOW_RUN_ID antes de .distributed():
import os
os.environ["MLFLOW_RUN_ID"] = "<previous-run-id>"
train.distributed()
Use o link de execução na saída da célula ou no painel Experiment do notebook para abrir a execução do MLflow.
view Logs
- Saída do notebook : A saída padrão e os erros do código de treinamento aparecem na saída da célula do notebook.
- Logs do MLflow : Para cargas de trabalho de notebook com respaldo de Job, como chamadas
.distributed(remote=True), a tab de Logs do MLflow exibe a saída da execução de job associada.
Monitorar recursos de GPU em tempo real
O painel de recursos GPU do notebook mostra a utilização, a memória e a temperatura da GPU em tempo real para cargas de trabalho de nó único e multinó. Use a tab Métricas do sistema do MLflow quando precisar de um registro persistente vinculado a uma execução.
Para abrir o painel, conecte o notebook ao AI Runtime e clique em Recursos de GPU no painel direito.

O painel pesquisa métricas a cada 10 segundos e retém até 2 horas de história. Clique em refresh para obter os valores mais recentes. Após 5 minutos de inatividade, o painel pausa. Reabra-o para retomar o monitoramento.
view logs na tab MLflow Logs
A tab Logs em uma página de execução do MLflow mostra a saída de uma carga de trabalho AI Runtime com suporte de Job. Para abri-lo, vá para a página de execução e clique em Logs .
Para novas execuções, a tab Logs substitui os arquivos de log armazenados anteriormente na tab Artefatos da execução, que foram descontinuados. As execuções criadas anteriormente mantêm seus arquivos de log na tab Artefatos .
Na tab Logs , você pode:
- Pesquisar : mostre apenas as linhas que contêm um termo de pesquisa.
- Filtrar por nó, nível e intervalo de tempo : selecione um único nó de uma carga de trabalho multinó, mostre apenas linhas de informações, avisos ou erros ou reduza a view para um intervalo de tempo.
- Siga uma carga de trabalho em execução : Enquanto a execução está ativa, a nova saída aparece à medida que chega. Desloque para cima para fazer uma pausa no acompanhamento.
- Copiar e fazer download : copie as linhas carregadas ou faça o download de todas as linhas que correspondam aos filtros atuais.
Retenção de logs
Os logs estão disponíveis na tab Logs por 60 dias.
Solucionar problemas de acesso aos logs
A tab Logs em uma página de execução do MLflow faz o streaming da saída da execução do job do Databricks associada. O acesso ao experimento MLflow não implica acesso ao job.
Se a tab exibir Você não tem acesso a esses logs , peça a um usuário com permissão Can Manage (Pode gerenciar ) ou a um administrador do workspace que lhe conceda pelo menos a permissão Can View (Pode visualizar ) no job. Consulte Controlar o acesso a um Job.
Limites globais no Databricks
Consulte Limites de recursos.