Escolha onde seus dados do MLflow são armazenados
MLflow Os servidores de acompanhamento armazenam e gerenciam seus dados de experimentos, execução e modelos. Configure seus servidores de acompanhamento para controlar onde os dados do MLflow são armazenados e como acessar os experimentos em diferentes ambientes.
Databricks-Servidor de acompanhamento hospedado
Por meio do default, o Databricks fornece um servidor de acompanhamento gerenciar MLflow que:
- Não requer instalação ou configuração adicional
- Armazena os dados do experimento em seu workspace
- Integra-se perfeitamente com o Databricks Notebook e o clusters
Defina o experimento ativo
Por meio do default, todas as execuções do MLflow são registradas no servidor de acompanhamento do workspace usando o como experimento ativo. Se nenhum experimento for explicitamente definido, a execução será registrada no experimento do Notebook.
Controle onde as execuções são registradas em Databricks, definindo o experimento ativo:
- Mlflow.set_experiment()
- Mlflow.start_run()
- Environment variables
Definir um experimento para todas as execuções subsequentes na execução.
import mlflow
mlflow.set_experiment("/Shared/my-experiment")
Defina o experimento para uma execução específica.
with mlflow.start_run(experiment_id="12345"):
mlflow.log_param("learning_rate", 0.01)
Definir um experimento para todas as execuções no ambiente.
import os
os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Shared/my-experiment"
# or
os.environ["MLFLOW_EXPERIMENT_ID"] = "12345"
Configurar o acompanhamento para um servidor de acompanhamento remoto MLflow
Talvez o senhor precise configurar uma conexão com um servidor remoto de acompanhamento MLflow. Isso pode ocorrer porque o senhor está desenvolvendo localmente e deseja rastrear o servidor hospedado em Databricks, ou porque deseja rastrear um servidor de acompanhamento MLflow diferente. Por exemplo, um que esteja em um site diferente workspace.
Cenários comuns de acompanhamento remoto:
Cenário | Caso de uso |
---|---|
Cross-workspace acompanhamento | Acompanhamento centralizado de experimentos em vários espaços de trabalho |
Desenvolvimento local | Desenvolver localmente, mas acompanhar os experimentos no Databricks |
Autohospedado remotamente | Infraestrutura MLflow personalizada com requisitos compliance específicos |
Configurar o URI de acompanhamento e o experimento
Para log experimentos em um servidor de acompanhamento remoto, configure o URI de acompanhamento e o caminho do experimento:
import mlflow
# Set the tracking URI to the remote server
mlflow.set_tracking_uri("databricks://remote-workspace-url")
# Set the experiment path in the remote server
mlflow.set_experiment("/Shared/centralized-experiments/my-project")
# All subsequent runs will be logged to the remote server
with mlflow.start_run():
mlflow.log_param("model_type", "random_forest")
mlflow.log_metric("accuracy", 0.95)
Métodos de autenticação
As conexões do servidor de acompanhamento remoto exigem autenticação adequada. Escolha entre Personal access tokens (PAT) ou OAuth usando entidade de serviço.
- PAT
- OAuth (service principal)
Use PATs para autenticação simples baseada em tokens.
Prós: Configuração simples, boa para desenvolvimento
Contras: Específico do usuário, requer gerenciamento manual de tokens
import os
# Set authentication token
os.environ["DATABRICKS_TOKEN"] = "your-personal-access-token"
# Configure remote tracking
mlflow.set_tracking_uri("databricks://remote-workspace-url")
mlflow.set_experiment("/Shared/remote-experiment")
Use o site OAuth com credenciais de entidade de serviço para fluxo de trabalho automatizado.
Prós: Melhor para automação, gerenciamento centralizado de identidades
Contras: requer a instalação da entidade de serviço e a configuração do OAuth
Criar uma entidade de serviço. Consulte gerenciar entidade de serviço.
import os
# Set service principal credentials
os.environ["DATABRICKS_CLIENT_ID"] = "your-service-principal-client-id"
os.environ["DATABRICKS_CLIENT_SECRET"] = "your-service-principal-secret"
# Configure remote tracking
mlflow.set_tracking_uri("databricks://remote-workspace-url")
mlflow.set_experiment("/Shared/remote-experiment")