Udostępnij przez


Dodawanie zasobu eksperymentu MLflow do aplikacji usługi Databricks

Dodaj eksperymenty MLflow jako zasoby usługi Databricks Apps, aby umożliwić śledzenie eksperymentów uczenia maszynowego w aplikacjach. Eksperymenty MLflow zapewniają ustrukturyzowany sposób organizowania i rejestrowania przebiegów trenowania, śledzenia parametrów, metryk i artefaktów w całym cyklu projektowania modelu.

Po dodaniu eksperymentu MLflow jako zasobu aplikacja może:

  • Rejestruj przebiegi trenowania z parametrami i metrykami
  • Pobieranie danych eksperymentu i porównywanie wydajności modelu
  • Uzyskiwanie dostępu do metadanych eksperymentu i historii uruchamiania
  • Programatyczne zarządzanie cyklem życia uczenia maszynowego

Dodawanie zasobu eksperymentu MLflow

Przed dodaniem eksperymentu MLflow jako zasobu zapoznaj się z wymaganiami wstępnymi dotyczącymi zasobów aplikacji.

  1. Podczas tworzenia lub edytowania aplikacji przejdź do kroku Konfigurowanie .
  2. W sekcji Zasoby aplikacji kliknij pozycję + Dodaj zasób.
  3. Wybierz eksperyment MLflow jako typ zasobu.
  4. Wybierz eksperyment MLflow z listy dostępnych eksperymentów w obszarze roboczym.
  5. Wybierz odpowiedni poziom uprawnień dla aplikacji:
    • Można odczytać: Przyznaje aplikacji uprawnienia do wyświetlania metadanych eksperymentu, przebiegów, parametrów i metryk. Służy do wyświetlania wyników eksperymentu w aplikacjach.
    • Może edytować: Przyznaje aplikacji uprawnienia do modyfikowania ustawień eksperymentu i metadanych.
    • Może zarządzać: Przyznaje aplikacji pełny dostęp administracyjny do eksperymentu.
  6. (Opcjonalnie) Określ niestandardowy klucz zasobu, w jaki sposób odwołujesz się do eksperymentu w konfiguracji aplikacji. Kluczem domyślnym jest experiment.

Po dodaniu zasobu eksperymentu MLflow:

  • Usługa Azure Databricks przyznaje głównej jednostce usługi aplikacji określone uprawnienia do wybranego eksperymentu.
  • Aplikacja może rejestrować przebiegi trenowania i uzyskiwać dostęp do danych eksperymentu za pośrednictwem interfejsu API śledzenia MLflow.
  • Dostęp jest ograniczony tylko do wybranego eksperymentu. Aplikacja nie może uzyskać dostępu do innych eksperymentów, chyba że zostaną dodane jako oddzielne zasoby.

Zmienne środowiskowe

Podczas wdrażania aplikacji z zasobem eksperymentu MLflow usługa Azure Databricks uwidacznia identyfikator eksperymentu za pomocą zmiennych środowiskowych, do których można się odwołać przy użyciu valueFrom pola w app.yaml konfiguracji.

Przykładowa konfiguracja:

env:
  - name: MLFLOW_EXPERIMENT_ID
    valueFrom: experiment # Use your custom resource key if different

Używając identyfikatora eksperymentu w aplikacji:

import os
import mlflow

# Access the experiment using the injected environment variable
experiment_id = os.getenv("MLFLOW_EXPERIMENT_ID")

# Set the experiment for tracking
mlflow.set_experiment(experiment_id=experiment_id)

# Log parameters and metrics
with mlflow.start_run():
    mlflow.log_param("learning_rate", 0.01)
    mlflow.log_metric("accuracy", 0.95)
    mlflow.log_artifact("model.pkl")

Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do zmiennych środowiskowych z zasobów.

Usuwanie zasobu eksperymentu MLflow

Gdy usuniesz zasób eksperymentu MLflow z aplikacji, jednostka usługi aplikacji utraci dostęp do eksperymentu. Sam eksperyment pozostaje niezmieniony i nadal jest dostępny dla innych użytkowników i aplikacji, które mają odpowiednie uprawnienia.

Najlepsze rozwiązania

Postępuj zgodnie z tymi najlepszymi rozwiązaniami podczas pracy z zasobami eksperymentów MLflow:

  • Organizowanie eksperymentów logicznie według typu projektu lub modelu w celu zwiększenia możliwości odnajdywania.
  • Używaj spójnych konwencji nazewnictwa dla przebiegów i parametrów w całej organizacji.
  • Rozważ zasady przechowywania eksperymentów i zarządzanie magazynem dla długotrwałych projektów.