Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
O tempo de execução da IA para tarefas de nó único está em Pré-visualização Pública. A API de treino distribuída para cargas de trabalho multi-GPU permanece em Beta.
Esta página descreve como usar o MLflow, visualizar registos, gerir checkpoints de modelo e monitorizar os recursos da GPU no AI Runtime.
Integração MLflow
O AI Runtime integra-se nativamente com o MLflow para acompanhamento de experiências, registo de modelos e visualização de métricas.
Recomendações de configuração:
Atualize o MLflow para a versão 3.7 ou mais recente e siga os padrões de fluxo de trabalho de deep learning.
Ativar o autologging para o PyTorch Lightning:
import mlflow mlflow.pytorch.autolog()Personalize seu nome de execução MLflow encapsulando seu código de treinamento de modelo dentro do escopo da
mlflow.start_run()API. Isso lhe dá 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 orun_nameparâmetro emmlflow.start_run(run_name="your-custom-name")ou em bibliotecas de terceiros que suportam MLflow (por exemplo, Hugging Face Transformers). Caso contrário, o nome de execução padrão é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 Serverless lança automaticamente um experimento MLflow com o nome
/Users/{WORKSPACE_USER}/{get_notebook_name()}predefinido . Os utilizadores podem sobrescrevê-lo com a variável de ambienteMLFLOW_EXPERIMENT_NAME. Use sempre caminhos absolutos para a variável de ambienteMLFLOW_EXPERIMENT_NAME:import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"Retome o treino anterior definindo o
MLFLOW_RUN_IDda corrida anterior:mlflow.start_run(run_id="<previous-run-id>")Defina o parâmetro
stepemMLFlowLoggerpara números de lote razoáveis. O MLflow tem um limite de 10 milhões de passos métricos — registar cada lote durante grandes execuções de treino pode atingir esse limite. Consulte Limites de recursos.
Registos de visualização
- Saída do caderno — A saída padrão e os erros do seu código de treino aparecem na saída da célula do caderno.
- Registos MLflow — A interface do experimento MLflow apresenta métricas de treino, parâmetros e artefactos.
Salvamento de ponto de verificação de modelos
Guardar pontos de verificação de modelo em volumes do Unity Catalog, que fornecem a mesma governação que outros Objetos do Unity Catalog. Use o seguinte formato de caminho para referenciar ficheiros em volumes a partir de um caderno Databricks:
/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
Guarda os checkpoints nos volumes da mesma forma que os guardas no armazenamento local.
O exemplo seguinte mostra como gravar um checkpoint do PyTorch nos volumes do Unity Catalog:
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)
Esta abordagem também funciona para pontos de controlo distribuídos. O exemplo seguinte mostra a criação distribuída de pontos de verificação de modelos com a API Torch Distributed Checkpoint:
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")
Monitorizar recursos da GPU
Usa o painel de recursos da GPU para monitorizar a saúde e utilização da GPU enquanto o teu código corre em tempo de execução de IA. O painel suporta tanto cargas de trabalho de nó único como de múltiplos nós.
Para abrir o painel, liga o teu portátil ao AI Runtime e depois clica no Recursos da GPU no painel lateral direito.
O painel mostra as seguintes métricas para cada GPU:
- Percentagem de utilização da GPU
- Utilização da memória da GPU
- Temperatura
O painel consulta as métricas a cada 10 segundos e mantém até 2 horas de histórico. Clica Atualize para obter imediatamente os valores mais recentes. Após 5 minutos de inatividade, o vidro faz uma pausa; Reabra para retomar a monitorização.
Colaboração multiutilizador
- Para garantir que todos os utilizadores possam aceder a código partilhado (por exemplo, módulos auxiliares ou ficheiros YAML do ambiente), armazene-os em
/Workspace/Sharedem vez de pastas específicas do utilizador como/Workspace/Users/<your_email>/. - Para código que está em desenvolvimento ativo, use pastas Git em pastas
/Workspace/Users/<your_email>/específicas do usuário e envie por push para repositórios Git remotos. Isto permite que vários utilizadores tenham um clone e uma ramificação específicos para cada um, enquanto continuam a usar um repositório Git remoto para controlo de versões. Consulte as práticas recomendadas para usar o Git no Databricks. - Os colaboradores podem partilhar e comentar em blocos de notas.
Limites globais no Azure Databricks
Consulte Limites de recursos.