Partilhar via


Escolha onde seus dados MLflow são armazenados

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

Servidor de rastreamento hospedado em Databricks

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

  • Não requer nenhuma instalação ou configuração adicional
  • Armazena dados de experimentos em seu espaço de trabalho
  • Integra-se perfeitamente com notebooks e clusters Databricks

Definir a experiência ativa

Por padrão, todas as execuções MLflow são registradas no servidor de rastreamento do espaço de trabalho usando o experimento ativo. Se nenhum experimento for definido explicitamente, as execuções serão registradas no experimento do bloco de anotações.

Controle 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 rastreamento para um servidor remoto de rastreamento MLflow

Talvez seja necessário configurar uma conexão com um servidor remoto de rastreamento MLflow. Isso pode ser porque você está desenvolvendo localmente e deseja rastrear em relação ao servidor hospedado Databricks, ou você deseja rastrear para um servidor de rastreamento MLflow diferente. Por exemplo, um que está em um espaço de trabalho diferente.

Cenários comuns para rastreamento remoto:

Scenario Caso de uso
Acompanhamento entre espaços de trabalho Acompanhamento centralizado de experiências em vários espaços de trabalho
Desenvolvimento local Desenvolva localmente, mas acompanhe experimentos no Databricks
Auto-hospedado remoto Infraestrutura MLflow personalizada com requisitos de conformidade específicos

Configurar o URI de rastreamento e experimentar

Para registrar experimentos em um servidor de rastreamento remoto, configure o URI de rastreamento 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 rastreamento remoto exigem autenticação adequada. Escolha entre Personal Access Tokens (PAT) ou OAuth usando entidades de serviço.

PAT

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

Prós: 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.

Prós: Melhor para automação, gerenciamento centralizado de identidades

Contras: Requer configuração da entidade de serviço e configuração 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")