Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Esse recurso está em Visualização Pública.
O AI Runtime integra-se nativamente ao MLflow para acompanhamento de experimentos e inclui um painel interno de recursos de GPU para monitorar a utilização, a memória e a temperatura. Use o MLflow para registrar métricas e execuções, exibir a saída de treinamento no notebook e a interface do usuário do MLflow, salvar pontos de verificação de modelo em volumes do Catálogo do Unity e acompanhar a integridade da GPU enquanto o código é executado.
Integração com o MLflow
O AI Runtime integra-se nativamente ao MLflow para acompanhamento de experimentos, registro em log de modelos e visualização de métricas.
Recomendações de instalação:
Atualize o MLflow para a versão 3.7 ou mais recente e siga os padrões de fluxo de trabalho de aprendizado profundo.
Habilitar o registro automático para pyTorch Lightning:
import mlflow mlflow.pytorch.autolog()Personalize o nome da execução do MLflow ao encapsular o código de treinamento do modelo dentro do escopo da API
mlflow.start_run(). Isso fornece controle sobre o nome da execução e permite que você reinicie a partir de uma execução anterior. Você pode personalizar o nome da execução usando o parâmetrorun_nameemmlflow.start_run(run_name="your-custom-name")ou em bibliotecas de terceiros que dão suporte ao MLflow (por exemplo, Hugging Face Transformers). Caso contrário, o nome de execução padrão serájobTaskRun-xxxxx.from transformers import TrainingArguments args = TrainingArguments( report_to="mlflow", run_name="llama7b-sft-lr3e5", # <-- MLflow run name logging_steps=50, )Ao usar a API de GPU sem servidor, cada chamada a
.distributed()cria automaticamente uma execução de experimento no MLflow. Se for chamado dentro de uma execução ativa do MLflow, uma execução filha aninhada será criada sob a execução pai ativa em vez disso.import mlflow with mlflow.start_run() as outer_run: ... run_train.distributed() # creates a nested child run under outer_runPara personalizar o experimento usado por
.distributed(), chamemlflow.set_experiment()antes de invocar.distributed()ou defina a variável deMLFLOW_EXPERIMENT_NAMEambiente. O nome do experimento padrão é/Users/{WORKSPACE_USER}/{notebook-name}. Sempre use caminhos absolutos.import mlflow mlflow.set_experiment("/Users/<username>/my-experiment") run_train.distributed()Alternatively:
import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"Para retomar uma execução anterior do MLflow, use
mlflow.start_run(run_id="<previous-run-id>").Para retomar uma execução anterior do MLflow com
.distributed(), definaMLFLOW_RUN_IDantes de chamá-la:os.environ["MLFLOW_RUN_ID"] = "<previous-run-id>" run_train.distributed()Configure o parâmetro
stepemMLFlowLoggerpara números de lote razoáveis. O MLflow tem um limite de 10 milhões de passos de métricas, portanto, registrar cada lote em grandes execuções de treinamento pode atingir esse limite. Confira Limites de recursos.
Exibindo logs
- 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 MLflow exibe métricas de treinamento, parâmetros e artefatos.
Ponto de verificação de modelo
Para treinamento distribuído, salve o estado do modelo e do otimizador em volumes do Unity Catalog usando a API Torch Distributed Checkpoint (DCP) com os backends de armazenamento serverless_gpu.data.UCVolumeWriter e serverless_gpu.data.UCVolumeReader. Salve de forma assíncrona para que o treinamento continue enquanto o checkpoint é enviado e salve checkpoints com frequência suficiente para limitar a perda de trabalho depois de uma interrupção. Como um checkpoint de modelo não captura a posição do pipeline de dados, também faça checkpoint no seu pipeline de dados para que a execução retomada continue com os dados corretos.
Para o padrão completo de checkpointing, veja Melhorar o performance e a resiliência do treinamento em tempo de execução de IA.
Monitorar recursos de GPU
Use o painel de recursos de GPU para monitorar a integridade e a utilização da GPU enquanto seu código é executado no AI Runtime. 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, no painel lateral direito, clique em Recursos de GPU
O painel exibe as seguintes métricas para cada GPU:
- Percentual de utilização da GPU
- Uso de memória de GPU
- Temperatura
O painel consulta as métricas a cada 10 segundos e mantém até 2 horas de histórico. Clique Atualize para buscar os valores mais recentes imediatamente. Após 5 minutos de inatividade, o painel pausa; reabra-o para retomar o monitoramento.
Colaboração de vários usuários
- Para garantir que todos os usuários possam acessar o código compartilhado (por exemplo, módulos auxiliares ou arquivos YAML do ambiente), armazene-os em
/Workspace/Sharedvez de pastas específicas do usuário, como/Workspace/Users/<your_email>/. - Para o código que está em desenvolvimento ativo, use diretórios Git em pastas específicas
/Workspace/Users/<your_email>/do usuário e faça push para repositórios Git remotos. Isso permite que vários usuários tenham um clone e ramificação específicos do usuário, enquanto ainda usam um repositório Git remoto para controle de versão. Consulte as práticas recomendadas para usar o Git no Databricks. - Os colaboradores podem compartilhar e comentar em blocos de anotações.
Limites globais em Azure Databricks
Confira Limites de recursos.