Pilih tempat data MLflow Anda disimpan

Server pelacakan MLflow menyimpan dan mengelola data eksperimen, eksekusi, dan model Anda. Konfigurasikan server pelacakan Anda untuk mengontrol tempat data MLflow Anda disimpan dan cara mengakses eksperimen di berbagai lingkungan.

Server pelacakan yang dihosting oleh Databricks

Secara default, Databricks menyediakan server pelacakan MLflow terkelola yang:

  • Tidak memerlukan penyiapan atau konfigurasi tambahan
  • Menyimpan data eksperimen di ruang kerja Anda
  • Terintegrasi dengan mulus dengan notebook dan kluster Databricks

Mengatur eksperimen aktif

Secara default semua eksekusi MLflow dicatat ke server pelacakan ruang kerja menggunakan eksperimen aktif. Jika tidak ada eksperimen yang diatur secara eksplisit, eksekusi dicatat ke eksperimen notebook.

Kontrol lokasi pencatatan jalannya proses di Databricks dengan menetapkan eksperimen aktif.

Mlflow.set_experiment()

Atur eksperimen untuk semua proses selanjutnya dalam eksekusi.

import mlflow

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

Mlflow.start_run()

Atur eksperimen untuk putaran spesifik.

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

Variabel lingkungan

Konfigurasikan eksperimen untuk semua eksekusi di lingkungan sistem.

import os
os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Shared/my-experiment"
# or
os.environ["MLFLOW_EXPERIMENT_ID"] = "12345"

Menyiapkan pelacakan ke server pelacakan MLflow jarak jauh

Anda mungkin perlu menyiapkan koneksi ke server pelacakan MLflow jarak jauh. Ini bisa karena Anda mengembangkan secara lokal dan ingin melacak terhadap server MLflow yang dihosting oleh Databricks, atau Anda ingin melacak ke server pelacakan MLflow lainnya yang berbeda. Misalnya, yang berada di ruang kerja yang berbeda.

Skenario umum untuk pelacakan jarak jauh:

Scenario Kasus Penggunaan
Pelacakan lintas ruang kerja Pelacakan eksperimen terpusat di beberapa ruang kerja
Pengembangan lokal Mengembangkan eksperimen secara lokal tetapi melacak di Databricks
Dihosting sendiri dari jarak jauh Infrastruktur MLflow kustom dengan persyaratan kepatuhan tertentu

Menyiapkan URI pelacakan dan eksperimen

Untuk mencatat eksperimen ke server pelacakan jarak jauh, konfigurasikan URI pelacakan dan jalur eksperimen:

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)

Metode autentikasi

Koneksi server pelacakan jarak jauh memerlukan autentikasi yang tepat. Pilih antara Token Akses Pribadi (PAT) atau OAuth menggunakan prinsipal layanan.

PAT

Gunakan PAT untuk autentikasi berbasis token sederhana.

Pro: Penyiapan sederhana, bagus untuk pengembangan

Kontra: Khusus pengguna, memerlukan manajemen token manual

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 (entitas layanan)

Gunakan OAuth dengan kredensial perwakilan layanan untuk alur kerja otomatis.

Pro: Lebih baik untuk otomatisasi, manajemen identitas terpusat

Kontra: Memerlukan penyiapan prinsipal layanan dan konfigurasi OAuth

Buat entitas layanan. Lihat Mengelola perwakilan layanan.

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