Acompanhamento de experimentos e observabilidade
Visualização
Este recurso está em Pré-visualização Pública.
Experiment acompanhamento and observability are built into AI Runtime. MLflow é um único local para parâmetros, métricas, métricas do sistema GPU, logs e artefatos de uma execução. Every execução lives in an MLflow experiment that you can share with your team, and a built-in GPU recursos pane shows live GPU utilization, memory, and temperature while your code runs.
Pontos-key nesta página:
- O MLflow é a interface unificada para experimentos do AI Runtime: métricas, parâmetros, métricas do sistema, logs e artefatos.
- Cargas de trabalho enviadas com a CLI do Databricks recebem uma execução do MLflow automaticamente. Em notebooks e scripts, chame
mlflow.start_run()oumlflow.autolog(). - Um painel de recursos de GPU integrada mostra a utilização, a memória e a temperatura.
O que o MLflow fornece para a aprendizagem profunda
- Metrics and parameters : registre a perda de treinamento, as métricas de avaliação, a taxa de aprendizado e os hiperparâmetros, e compare-os entre execuções na UI do MLflow.
- Métricas do sistema : utilização de GPU, CPU e memória registrada junto com suas métricas de treinamento na Métricas do sistema tab da execução.
- Logs : saída do Driver da execução do job na tab Logs da execução.
- Artefatos e modelos : Armazene arquivos de modelo, configurações e outras saídas com a execução. Os artefatos podem ser armazenados em um volume do Unity Catalog.
- Compartilhamento and collaboration : experimentos são objetos do workspace. Conceda aos colegas de equipe acesso a um experimento para compartilhar execuções e comparar resultados. Consulte Organize execuções de treinamento com experimentos do MLflow.
- Integrações de frameworks : Hugging Face Transformers, PyTorch Lightning e outras bibliotecas registram logs diretamente no MLflow.
Para padrões de aprendizagem profunda no MLflow 3, consulte fluxo de trabalho de aprendizagem profunda do MLflow 3.
Preciso adicionar código do MLflow?
It depends on how you submit the workload:
Como fazer a execução | MLflow execução created automatically? | What you add |
|---|---|---|
Databricks CLI ( | Sim. | Opcional. Registre métricas personalizadas na execução em |
API de GPU Serverless ( | Sim. Cada chamada de | Opcional. Registre métricas personalizadas de dentro da função. |
Notebook ou script em um nó único | Não. O autologging não é ativado automaticamente no compute serverless. | Chame |
Introdução
Use o MLflow 3.7 ou acima. Os exemplos a seguir estão prontos para serem copiados para uma célula de notebook ou um script Python.
Log métricas de um loop de treinamento
import mlflow
mlflow.set_experiment("/Users/<username>/my-experiment")
with mlflow.start_run(run_name="baseline-lr3e-4"):
mlflow.log_params({"learning_rate": 3e-4, "batch_size": 32, "epochs": 3})
for epoch in range(3):
train_loss = train_one_epoch(model, train_loader, optimizer) # your training code
val_loss = evaluate(model, val_loader)
mlflow.log_metrics({"train_loss": train_loss, "val_loss": val_loss}, step=epoch)
Use o registro automático
For PyTorch Lightning, call mlflow.pytorch.autolog() before treinamento. For other supported bibliotecas, call mlflow.autolog().
import mlflow
mlflow.pytorch.autolog()
with mlflow.start_run(run_name="lightning-baseline"):
trainer.fit(model, datamodule=datamodule)
Logs do Hugging Face Transformers
Defina report_to="mlflow". O argumento run_name define o nome da execução do MLflow.
from transformers import TrainingArguments
args = TrainingArguments(
output_dir="/Volumes/<catalog>/<schema>/<volume>/checkpoints",
report_to="mlflow",
run_name="llama7b-sft-lr3e5",
logging_steps=50,
)
Registrar de várias GPUs
No treinamento distribuído, cada processo execução seu código de treinamento. Faça o log apenas a partir da classificação 0 para que cada métrica seja registrada uma vez:
import os
import mlflow
if int(os.environ.get("RANK", "0")) == 0:
mlflow.log_metric("train_loss", loss, step=step)
Práticas recomendadas
- Defina
steppara um valor significativo, como o lotes global ou a época, e faça o log em um intervalo (por exemplo, a cada 50 os passos) em vez de a cada lotes. O MLflow limita o número de os passos de métricas por execução. Consulte Limites de recursos. - Use caminhos de experimento absolutos, como
/Users/<username>/my-experimentou/Workspace/Shared/<team>/my-experiment. Coloque os experimentos que deseja compartilhar em uma pasta compartilhada. - Para retomar uma execução anterior, passe o ID dela:
mlflow.start_run(run_id="<previous-run-id>").
API do Serverless GPU
Quando você usa a API de GPU Serverless, cada chamada para .distributed() cria automaticamente uma execução do MLflow. O default experiment é /Users/{WORKSPACE_USER}/{notebook-name}.
-
Se você chamar
.distributed()dentro de uma execução ativa do MLflow, ele criará uma execução secundária aninhada sob essa execução:Pythonimport mlflow
with mlflow.start_run() as outer_run:
run_train.distributed() # creates a nested child run under outer_run -
Para usar um experimento diferente, chame
mlflow.set_experiment()antes de.distributed(), ou defina a variável de ambienteMLFLOW_EXPERIMENT_NAME. Sempre use caminhos absolutos.Pythonimport os
import mlflow
mlflow.set_experiment("/Users/<username>/my-experiment")
# or: os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"
run_train.distributed() -
Para retomar uma execução anterior, defina
MLFLOW_RUN_IDantes de chamar.distributed():Pythonos.environ["MLFLOW_RUN_ID"] = "<previous-run-id>"
run_train.distributed()
logsde visualização
- **Saída do Notebook**: A saída padrão e os erros do seu código de treinamento aparecem na saída da célula do notebook.
- **Logs do MLflow**: A interface do usuário do experimento do MLflow exibe métricas de treinamento, parâmetros e artefatos.
Se você não puder ver os logs
A tab Logs na página de execução do MLflow transmite logs da execução do Job do Databricks associada à execução do MLflow, portanto, o acesso é regido pelas permissões desse Job. Se a tab exibir Você não tem acesso a estes logs , você não terá permissões suficientes.
O acesso à execução no MLflow não implica acesso ao job. Você pode ter a permissão de experimento do MLflow e ainda assim ter os logs negados. Para obter acesso, peça a um usuário com permissões Can gerenciar ou a um administrador do Workspace para conceder a você pelo menos a permissão Can View no Job. Consulte Control access to a job para saber como as permissões de job são concedidas.
Monitorar recursos de GPU
O painel Recursos de GPU é um recurso de conveniência para sessões de Notebooks . Ele mostra a integridade e a utilização da GPU em tempo real sem nenhuma configuração do MLflow, por isso é especialmente útil quando sua sessão de notebook não cria um experimento do MLflow. Para obter um registro persistente de métricas de GPU, CPU e memória vinculadas a uma execução, use a tab Métricas do sistema do MLflow. O painel oferece suporte a cargas de trabalho de nó único e de vários nós.
Para abrir o painel, conecte seu Notebook ao AI Runtime e clique em Recurso de GPU no painel lateral direito.

O painel exibe as seguintes métricas para cada GPU:
- porcentagem de utilização da GPU
- uso de memória da GPU
- Temperatura
O painel consulta dados a cada 10 segundos e armazena até 2 horas de histórico. Clique Atualize a página para obter os valores mais recentes imediatamente. Após 5 minutos de inatividade, o painel pausa; abra-o novamente para retomar o monitoramento.
Limites globais no Databricks
Consulte os limites de recursos.