Compartilhar via


Escolha onde os dados do MLflow são armazenados

Os servidores de acompanhamento do MLflow armazenam e gerenciam seus dados de experimento, execuções e modelos. Configure seus servidores de acompanhamento para controlar onde os dados do MLflow são armazenados e como acessar experimentos em diferentes ambientes.

Servidor de acompanhamento hospedado pelo Databricks

Por padrão, o Databricks fornece um servidor de acompanhamento do MLflow gerenciado que:

  • Não requer configuração ou configuração adicional
  • Armazena dados de experimento em seu workspace
  • Integra-se perfeitamente com notebooks e clusters do Databricks

Definir o experimento ativo

Por padrão, todas as execuções do MLflow são registradas no servidor de acompanhamento do workspace usando o experimento ativo. Se nenhum experimento for definido explicitamente, as execuções serão registradas no experimento do notebook.

Controlar onde as execuções são registradas no Databricks definindo o experimento ativo:

Mlflow.set_experiment()

Defina um experimento para todas as execuções subsequentes na execução.

import mlflow

mlflow.set_experiment("/Shared/my-experiment")

Mlflow.start_run()

Defina o experimento para uma execução específica.

with mlflow.start_run(experiment_id="12345"):
    mlflow.log_param("learning_rate", 0.01)

Variáveis de ambiente

Defina 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 do MLflow remoto

Talvez seja necessário configurar uma conexão com um servidor de rastreamento MLflow remoto. Isso pode ocorrer porque você está desenvolvendo localmente e deseja acompanhar o servidor hospedado do Databricks ou deseja acompanhar um servidor de acompanhamento MLflow diferente. Por exemplo, um que está em um workspace diferente.

Cenários comuns para acompanhamento remoto:

Scenario Caso de Uso
Acompanhamento entre workspaces Acompanhamento centralizado de experimentos em vários workspaces
Desenvolvimento local Desenvolver localmente, mas acompanhar experimentos no Databricks
Auto-hospedado remotamente Infraestrutura personalizada do MLflow com requisitos de conformidade específicos

Configurar o URI de acompanhamento e o experimento

Para registrar 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 de servidor de acompanhamento remoto exigem autenticação adequada. Escolha entre PAT (Tokens de Acesso Pessoal) ou OAuth usando entidades de serviço.

PAT

Use PATs para autenticação simples baseada em token.

Profissionais: Configuração simples, boa para desenvolvimento

Contras: Específico do usuário, requer gerenciamento manual de token

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")

OAuth (entidade de serviço)

Use o OAuth com credenciais de entidade de serviço para fluxos de trabalho automatizados.

Profissionais: Melhor para automação, gerenciamento centralizado de identidade

Contras: Requer a configuração da entidade de serviço e a configuração do OAuth

Crie uma entidade de serviço. Consulte Gerenciar entidades 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")