Udostępnij przez


Organizowanie przebiegów trenowania przy użyciu eksperymentów MLflow

Eksperymenty to jednostki organizacji na potrzeby przebiegów trenowania modelu. Istnieją dwa typy eksperymentów: obszar roboczy i notes.

  • Eksperyment obszaru roboczego można utworzyć na podstawie interfejsu użytkownika interfejsu użytkownika mozaiki usługi Databricks lub interfejsu API platformy MLflow. Eksperymenty obszaru roboczego nie są skojarzone z żadnym notesem, a każdy notes może rejestrować przebieg w tych eksperymentach przy użyciu identyfikatora eksperymentu lub nazwy eksperymentu.
  • Eksperyment notesu jest skojarzony z określonym notesem. Usługa Azure Databricks automatycznie tworzy eksperyment notesu, jeśli nie ma aktywnego eksperymentu po uruchomieniu przy użyciu mlflow.start_run().

Aby wyświetlić wszystkie eksperymenty w obszarze roboczym, do którego masz dostęp, wybierz pozycję Machine Learning > Experiments na pasku bocznym.

Strona Eksperymenty

Utwórz eksperyment obszaru roboczego

W tej sekcji opisano sposób tworzenia eksperymentu obszaru roboczego przy użyciu interfejsu użytkownika usługi Azure Databricks. Eksperyment obszaru roboczego można utworzyć bezpośrednio z obszaru roboczego lub na stronie Eksperymenty.

Możesz również użyć interfejsu API platformy MLflow lub dostawcy narzędzia Terraform usługi Databricks z databricks_mlflow_experiment.

Aby uzyskać instrukcje dotyczące rejestrowania przebiegów w eksperymentach obszaru roboczego, zobacz Rejestrowanie przebiegów i modeli w eksperymencie.

Tworzenie eksperymentu z obszaru roboczego

  1. Kliknij pozycję Ikona obszaru roboczegoObszar roboczy na pasku bocznym.

  2. Przejdź do folderu, w którym chcesz utworzyć eksperyment.

  3. Kliknij prawym przyciskiem myszy folder i wybierz pozycję Utwórz > eksperymentu MLflow.

  4. W oknie dialogowym Tworzenie eksperymentu MLflow wprowadź nazwę eksperymentu i opcjonalną lokalizację artefaktu. Jeśli nie określisz lokalizacji artefaktu, artefakty są przechowywane w magazynie artefaktów zarządzanych przez platformę MLflow: dbfs:/databricks/mlflow-tracking/<experiment-id>.

    W przypadku obszarów roboczych włączonych dla wykazu aparatu Unity można również przechowywać artefakty w woluminie wykazu aparatu Unity. Aby przechowywać artefakty we własnym magazynie w chmurze, utwórz wolumin zewnętrzny wykazu aparatu Unity.

    Aby przechowywać artefakty w woluminie wykazu aparatu Unity, określ ścieżkę woluminu formularza dbfs:/Volumes/catalog_name/schema_name/volume_name/user/specified/path jako lokalizację artefaktu eksperymentu MLflow w interfejsie użytkownika lub jak pokazano w poniższym kodzie:

    import mlflow # Storing artifacts in a volume requires MLflow 2.15.0 or above
    
    EXP_NAME = "/Users/first.last@databricks.com/my_experiment_name"
    CATALOG = "my_catalog"
    SCHEMA = "my_schema"
    VOLUME = "my_volume"
    ARTIFACT_PATH = f"dbfs:/Volumes/{CATALOG}/{SCHEMA}/{VOLUME}" # can be a managed or external volume
    
    mlflow.set_tracking_uri("databricks")
    mlflow.set_registry_uri("databricks-uc")
    
    if mlflow.get_experiment_by_name(EXP_NAME) is None:
        mlflow.create_experiment(name=EXP_NAME, artifact_location=ARTIFACT_PATH)
    mlflow.set_experiment(EXP_NAME)
    

    Jeśli obszar roboczy nie jest włączony dla wykazu aparatu Unity lub nie masz dostępu do biblioteki MLflow 2.15.0 lub nowszej, określ ścieżkę w tym formacie: dbfs:/path/to/artifacts.

    Usługa Databricks zaleca używanie woluminu wykazu aparatu Unity dla magazynu artefaktów. Jeśli ani wolumin wykazu aparatu Unity, ani dbFS nie jest odpowiednią opcją, możesz również przechowywać artefakty bezpośrednio w usłudze Azure Blob Storage (niezalecane). Aby przechowywać artefakty w usłudze Azure Blob Storage, określ identyfikator URI formularza wasbs://<container>@<storage-account>.blob.core.windows.net/<path>. Artefakty przechowywane w usłudze Azure Blob Storage nie są wyświetlane w interfejsie użytkownika platformy MLflow; należy je pobrać przy użyciu klienta usługi Blob Storage.

    Uwaga

    Podczas przechowywania artefaktu w lokalizacji innej niż DBFS artefakt nie jest wyświetlany w interfejsie użytkownika platformy MLflow. Modele przechowywane w lokalizacjach innych niż DBFS nie mogą być zarejestrowane w rejestrze modeli.

  5. Kliknij pozycję Utwórz. Zostanie wyświetlona strona szczegółów eksperymentu dla nowego eksperymentu.

  6. Aby zalogować przebiegi do tego eksperymentu, wywołaj metodę mlflow.set_experiment() za pomocą ścieżki eksperymentu. Aby wyświetlić ścieżkę eksperymentu, kliknij ikonę informacji ikonę informacji po prawej stronie nazwy eksperymentu. Aby uzyskać szczegółowe informacje i przykładowy notes, zobacz Rejestrowanie przebiegów i modeli w eksperymencie .

Tworzenie eksperymentu na stronie Eksperymenty

Aby utworzyć podstawowy model dostrajania, automatycznego uczenia maszynowego lub eksperymentu niestandardowego, kliknij przycisk Eksperymenty lub wybierz pozycję Nowy > Eksperyment na pasku bocznym po lewej stronie.

W górnej części strony wybierz jedną z następujących opcji, aby skonfigurować eksperyment:

Stwórz eksperyment z notatnikiem

Jeśli używasz polecenia mlflow.start_run() w notesie, zapisuje ono metryki i parametry w aktywnym eksperymencie. Jeśli żaden eksperyment nie jest aktywny, usługa Azure Databricks tworzy eksperyment notesu. Eksperyment notatnika ma taką samą nazwę i identyfikator jak odpowiadający mu notatnik. Identyfikator notesu to identyfikator liczbowy na końcu adresu URL notesu i identyfikator.

Uwaga

Użytkownicy uruchamiający MLflow na środowiskach obliczeniowych z dedykowanym dostępem do grupy muszą sprawdzić, czy grupa ma uprawnienia do zapisu w katalogu, w którym znajduje się notebook, lub użyć mlflow.set_tracking_uri("<path>") do określenia folderu dla MLflow do zapisu.

Alternatywnie możesz przekazać ścieżkę obszaru roboczego usługi Azure Databricks do istniejącego notesu w mlflow.set_experiment(), aby utworzyć dla niego eksperyment notesu.

Aby uzyskać instrukcje dotyczące rejestrowania przebiegów w eksperymentach notebooka, zobacz Rejestrowanie przebiegów i modeli w eksperymencie.

Uwaga

Jeśli usuniesz eksperyment notesu przy użyciu interfejsu API (na przykład MlflowClient.tracking.delete_experiment() w języku Python), sam notes zostanie przeniesiony do folderu Kosz.

Wyświetlanie eksperymentów

Każdy eksperyment, do którego masz dostęp, jest wyświetlany na stronie eksperymentów. Na tej stronie możesz wyświetlić dowolny eksperyment. Kliknij nazwę eksperymentu, aby wyświetlić stronę szczegółów eksperymentu.

Dodatkowe sposoby uzyskiwania dostępu do strony szczegółów eksperymentu:

  • Możesz uzyskać dostęp do strony szczegółów eksperymentu dla eksperymentu w przestrzeni roboczej z menu obszaru roboczego.
  • Możesz uzyskać dostęp do strony szczegółów eksperymentu dla eksperymentu notesu z notesu.

Aby wyszukać eksperymenty, wpisz tekst w polu Filtr eksperymentów i naciśnij Enter lub kliknij ikonę lupy. Lista eksperymentów zmienia się, aby pokazać tylko te eksperymenty, które zawierają tekst wyszukiwania w kolumnach Nazwa lub Lokalizacja .

W przypadku zaawansowanego użycia można wprowadzić zapytanie tags.`mlflow.note.content`, aby wyszukiwać na podstawie kolumny Opis. Aby uzyskać więcej informacji na temat składni, zobacz Search Experiments (Eksperymenty wyszukiwania). Należy pamiętać, że w przeciwieństwie do wyszukiwania nazwy lub lokalizacji wyszukiwanie tagów wymaga ręcznego skonstruowania zapytania wyszukiwania przy użyciu identyfikatora i komparatora. Nie zwróci bezpośrednio wszystkich wyników zawierających tekst wyszukiwania.

Kliknij nazwę dowolnego eksperymentu w tabeli, aby wyświetlić stronę szczegółów eksperymentu:

Wyświetlanie eksperymentu

Strona szczegółów eksperymentu zawiera listę wszystkich przebiegów skojarzonych z eksperymentem. W tabeli możesz otworzyć stronę uruchamiania dla dowolnego przebiegu skojarzonego z eksperymentem, klikając jego nazwę uruchomienia. Kolumna Source zapewnia dostęp do wersji notesu, która utworzyła przebieg. Możesz również wyszukiwać i filtrować przebiegi według metryk lub ustawień parametrów.

Wyświetlanie eksperymentu obszaru roboczego

  1. Kliknij pozycję Ikona obszaru roboczegoObszar roboczy na pasku bocznym.
  2. Przejdź do folderu zawierającego eksperyment.
  3. Kliknij nazwę eksperymentu.

Wyświetlanie eksperymentu notesu

Na prawym pasku bocznym notesu kliknij ikonę Eksperymentuikona Eksperymentu.

Wyświetlany jest pasek boczny Eksperymenty Przebiegów, pokazujący podsumowanie każdego przebiegu związanego z eksperymentem notatnika, wraz z parametrami i metrykami przebiegów. W górnej części paska bocznego znajduje się nazwa eksperymentu, do którego ostatnio zalogowany notes jest uruchamiany (eksperyment notesu lub eksperyment obszaru roboczego).

Wyświetl parametry przebiegu i metryki

Na pasku bocznym możesz przejść do strony szczegółów eksperymentu lub bezpośrednio do konkretnego przebiegu.

  • Aby wyświetlić eksperyment, kliknij prawym przyciskiem myszy Łącze zewnętrzne obok pozycji Przebiegi eksperymentów.
  • Aby wyświetlić przebieg, kliknij nazwę przebiegu.

Zarządzanie eksperymentami

Możesz zmienić nazwę, usunąć lub zarządzać uprawnieniami do eksperymentu, którego jesteś właścicielem ze strony eksperymentów, strony szczegółów eksperymentulub menu obszaru roboczego.

Uwaga

Nie można bezpośrednio zmienić nazwy, usunąć ani zarządzać uprawnieniami do eksperymentu MLflow utworzonego przez notes w folderze Git usługi Databricks. Te akcje należy wykonać na poziomie folderu Git.

Zmienianie nazwy eksperymentu

Możesz zmienić nazwę eksperymentu, którego jesteś właścicielem na stronie Eksperymenty lub na stronie szczegółów eksperymentu dla tego eksperymentu.

  • Na stronie Eksperymenty kliknij ikonę menu kebab w prawej kolumnie, a następnie kliknij Zmień nazwę.

Zmiana nazwy z poziomu strony Eksperymenty.

  • Na stronie szczegółów eksperymentu kliknij ikonę menu kebab obok pozycji Uprawnienia a następnie kliknij pozycję Zmień nazwę.

Zmień nazwę na stronie szczegółów eksperymentu.

Możesz zmienić nazwę eksperymentu obszaru roboczego z obszaru roboczego. Kliknij prawym przyciskiem myszy nazwę eksperymentu, a następnie kliknij pozycję Zmień nazwę.

Uzyskiwanie identyfikatora eksperymentu i ścieżki do eksperymentu

Na stronie szczegółów eksperymentu możesz uzyskać ścieżkę do notatnika eksperymentu, klikając ikonę informacji po prawej stronie nazwy eksperymentu. Zostanie wyświetlona wyskakujące notatka przedstawiająca ścieżkę do eksperymentu, identyfikator eksperymentu i lokalizację artefaktu. Możesz użyć identyfikatora eksperymentu w poleceniu MLflow set_experiment, aby ustawić aktywny eksperyment MLflow.

Ikona nazwy eksperymentu

W notesie możesz skopiować pełną ścieżkę eksperymentu, klikając ikonę ścieżki. w pasku bocznym eksperymentu w notesie.

ikona ścieżki eksperymentu na pasku bocznym notesu.

Usuwanie eksperymentu notesu

Eksperymenty notesu są częścią notesu i nie można ich usunąć oddzielnie. Po usunięciu notesu skojarzony eksperyment notesu zostanie usunięty. Po usunięciu eksperymentu notesu przy użyciu interfejsu użytkownika notes zostanie również usunięty.

Aby usunąć eksperymenty notesu przy użyciu interfejsu API, użyj interfejsu API obszaru roboczego, aby upewnić się, że notes i eksperyment zostaną usunięte z obszaru roboczego.

Usuń obszar roboczy lub eksperyment notesowy

Możesz usunąć eksperyment, którego jesteś właścicielem, na stronie eksperymentów lub na stronie szczegółów eksperymentu.

Ważne

Usunięcie eksperymentu notesu spowoduje również usunięcie notesu.

  • Na stronie Eksperymenty kliknij ikonę menu kebab. w prawej kolumnie, a następnie kliknij przycisk Usuń.

usuń ze strony eksperymentów.

  • Na stronie szczegółów eksperymentu kliknij ikonę menu kebab Kebab. Obok pozycji Uprawnienia , a następnie kliknij przycisk Usuń.

Usuń ze strony szczegółów eksperymentu.

Możesz usunąć eksperyment z przestrzeni roboczej. Kliknij prawym przyciskiem myszy nazwę eksperymentu, a następnie wybierz opcję Przenieś do kosza.

Zmienianie uprawnień do eksperymentu

Aby zmienić uprawnienia do eksperymentu na stronie szczegółów eksperymentu , kliknij pozycję Uprawnienia.

menu uprawnień strony Szczegóły eksperymentu

Możesz zmienić uprawnienia do eksperymentu, którego jesteś właścicielem, na stronie Experiments. Kliknij ikonę menu kebab. w prawej kolumnie, a następnie kliknij pozycję Uprawnienia.

Zmień uprawnienia na stronie Eksperymenty.

Aby uzyskać informacje na temat poziomów uprawnień eksperymentu, zobacz Listy ACL eksperymentu platformy MLflow.

Kopiowanie eksperymentów między obszarami roboczymi

Aby przeprowadzić migrację eksperymentów MLflow między obszarami roboczymi, możesz użyć projektu open source opartego na społeczności MLflow Export-Import.

Za pomocą tych narzędzi można wykonywać następujące czynności:

  • Udostępnianie i współpraca z innymi analitykami danych na tym samym lub innym serwerze śledzenia. Na przykład możesz sklonować eksperyment z innego użytkownika do obszaru roboczego.
  • Skopiuj eksperymenty MLflow i uruchom je z lokalnego serwera śledzenia do obszaru roboczego usługi Databricks.
  • Tworzenie kopii zapasowych eksperymentów i modeli o krytycznym znaczeniu dla innego obszaru roboczego usługi Databricks.