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
O AI Runtime para tarefas de nó único está na Visualização Pública. A API de treinamento distribuído para cargas de trabalho de várias GPUs permanece em Beta.
Esta página descreve como usar o MLflow, exibir logs, gerenciar pontos de verificação de modelo e monitorar recursos de GPU no AI Runtime.
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, )A API de GPU sem servidor inicia automaticamente um experimento do MLflow com o nome
/Users/{WORKSPACE_USER}/{get_notebook_name()}padrão. Os usuários podem substituí-la com a variável de ambienteMLFLOW_EXPERIMENT_NAME. Sempre use caminhos absolutos para a variável de ambienteMLFLOW_EXPERIMENT_NAME.import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"Retome o treinamento anterior ajustando a configuração
MLFLOW_RUN_IDda execução anterior.mlflow.start_run(run_id="<previous-run-id>")Configure o parâmetro
stepemMLFlowLoggerpara números de lote razoáveis. O MLflow tem um limite de 10 milhões de etapas de métricas: o registro de cada lote em treinamentos em larga escala pode atingir esse limite. Confira Limites de recursos.
Exibindo 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 — A interface do experimento no MLflow exibe métricas de treinamento, parâmetros e artefatos.
Ponto de verificação de modelo
Salve pontos de verificação de modelo em volumes do Catálogo do Unity, que fornecem a mesma governança que outros objetos do Catálogo do Unity. Use o seguinte formato de caminho para fazer referência a arquivos em volumes de um notebook do Databricks:
/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
Salve pontos de verificação em volumes da mesma maneira que você os salva no armazenamento local.
O exemplo a seguir mostra como gravar um ponto de verificação do PyTorch em volumes do Catálogo do Unity:
import torch
checkpoint = {
"epoch": epoch, # last finished epoch
"model_state_dict": model.state_dict(), # weights & buffers
"optimizer_state_dict": optimizer.state_dict(), # optimizer state
"loss": loss, # optional current loss
"metrics": {"val_acc": val_acc}, # optional metrics
# Add scheduler state, RNG state, and other metadata as needed.
}
checkpoint_path = "/Volumes/my_catalog/my_schema/model/checkpoints/ckpt-0001.pt"
torch.save(checkpoint, checkpoint_path)
Essa abordagem também funciona para pontos de verificação distribuídos. O exemplo a seguir mostra o ponto de verificação de modelo distribuído com a API de Ponto de Verificação Distribuída da Tocha:
import torch.distributed.checkpoint as dcp
def save_checkpoint(self, checkpoint_path):
state_dict = self.get_state_dict(model, optimizer)
dcp.save(state_dict, checkpoint_id=checkpoint_path)
trainer.save_checkpoint("/Volumes/my_catalog/my_schema/model/checkpoints")
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 branch 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.