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.
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 zapisywania przebiegów do eksperymentów w obszarze roboczym, zobacz Rejestrowanie przebiegów do eksperymentu.
Tworzenie eksperymentu z obszaru roboczego
Kliknij pozycję
Obszar roboczy na pasku bocznym.
Przejdź do folderu, w którym chcesz utworzyć eksperyment.
Kliknij prawym przyciskiem myszy folder i wybierz pozycję Utwórz > eksperymentu MLflow.
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>
.Usługa Azure Databricks obsługuje wolumeny katalogu Unity , magazyn obiektów Azure Blob Storage oraz lokalizacje artefaktów magazynu Azure Data Lake.
W MLflow 2.15.0 lub nowszym można przechowywać artefakty w woluminie katalogu Unity. Podczas tworzenia eksperymentu MLflow określ ścieżkę woluminów formularza
dbfs:/Volumes/catalog_name/schema_name/volume_name/user/specified/path
jako lokalizację artefaktu eksperymentu MLflow, jak pokazano w poniższym kodzie: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}" 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)
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.
Kliknij pozycję Utwórz. Zostanie wyświetlona strona szczegółów eksperymentu dla nowego eksperymentu.
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ę informacjipo prawej stronie nazwy eksperymentu. Aby uzyskać szczegółowe informacje i przykładowy notebook, zobacz dzienniki uruchomień 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:
-
Model bazowy dostosowanie. Zostanie wyświetlone okno dialogowe dostrajania modelu
Foundation. Aby uzyskać szczegółowe informacje, zobacz Utwórz uruchomienie szkolenia za pomocą interfejsu użytkownika Foundation Model Fine-tuning. - Prognozowanie. Zostanie wyświetlone okno dialogowe Konfigurowanie eksperymentu prognozowania. Aby uzyskać szczegółowe informacje, zobacz Konfiguruj eksperyment AutoML.
- Classification. Zostanie wyświetlone okno dialogowe Konfigurowanie eksperymentu klasyfikacji. Aby uzyskać szczegółowe informacje, zobacz Konfigurowanie eksperymentu klasyfikacji za pomocą interfejsu użytkownika.
- regresji. Zostanie wyświetlone okno dialogowe Konfigurowanie eksperymentu klasyfikacji. Aby uzyskać szczegółowe informacje, zobacz Konfigurowanie eksperymentu regresji za pomocą interfejsu użytkownika.
- niestandardowych. Zostanie wyświetlone okno dialogowe Tworzenie eksperymentu MLflow. Aby uzyskać szczegółowe informacje, zobacz Krok 4 w Tworzenie eksperymentu z obszaru roboczego.
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.
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 w notesie, zobacz Rejestrowanie przebiegów do eksperymentu.
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 pokazywać tylko te eksperymenty, które zawierają tekst wyszukiwania w kolumnie Nazwa, Utworzone przez, Lokalizacjalub Opis.
Kliknij nazwę dowolnego eksperymentu w tabeli, aby wyświetlić stronę szczegółów 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
- Kliknij pozycję
Obszar roboczy na pasku bocznym.
- Przejdź do folderu zawierającego eksperyment.
- Kliknij nazwę eksperymentu.
Wyświetlanie eksperymentu notesu
Na prawym pasku bocznym notesu kliknij ikonę Experiment iconEksperyment.
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).
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
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 menu kebab
w kolumnie po prawej stronie, a następnie kliknij Zmień nazwę.
- Na stronie szczegółów eksperymentu kliknij menu kebab
obok pozycji Uprawnienia, a następnie kliknij pozycję Zmień nazwę.
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.
W notesie możesz skopiować pełną ścieżkę eksperymentu, klikając ikonę na pasku bocznym eksperymentu 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 menu kebab
w skrajnie prawej kolumnie, a następnie kliknij Usuń.
- Na stronie szczegółów eksperymentu kliknij menu kebab
obok pozycji Uprawnienia, a następnie kliknij pozycję Usuń.
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.
Możesz zmienić uprawnienia do eksperymentu, którego jesteś właścicielem, na stronie Experiments. Kliknij menu kebab w najbardziej prawej kolumnie, a następnie kliknij pozycję Uprawnienia.
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.