Zarządzanie cyklem życia modelu przy użyciu rejestru modeli obszaru roboczego

Ważne

Ta dokumentacja obejmuje rejestr modeli obszarów roboczych. Jeśli obszar roboczy jest włączony dla wykazu aparatu Unity, nie używaj procedur na tej stronie. Zamiast tego zobacz Modele w wykazie aparatu Unity.

Rejestr modeli obszarów roboczych zostanie wycofany w przyszłości. Aby uzyskać wskazówki dotyczące uaktualniania z rejestru modeli obszarów roboczych do wykazu aparatu Unity, zobacz Migrowanie przepływów pracy i modeli do wykazu aparatu Unity.

Jeśli domyślny wykaz obszaru roboczego znajduje się w wykazie aparatu Unity (a nie hive_metastore) i korzystasz z klastra przy użyciu środowiska Databricks Runtime 13.3 LTS lub nowszego, modele są automatycznie tworzone i ładowane z katalogu domyślnego obszaru roboczego bez wymaganej konfiguracji. Aby użyć rejestru modeli obszarów roboczych w tym przypadku, należy jawnie go zastosować, uruchamiając polecenie import mlflow; mlflow.set_registry_uri("databricks") na początku obciążenia. Niewielka liczba obszarów roboczych, w których katalog domyślny został skonfigurowany do wykazu w wykazie aparatu Unity przed styczniem 2024 r., a rejestr modeli obszarów roboczych był używany przed styczniem 2024 r. jest wykluczony z tego zachowania i domyślnie nadal używać rejestru modeli obszarów roboczych.

W tym artykule opisano sposób korzystania z rejestru modeli obszarów roboczych w ramach przepływu pracy uczenia maszynowego w celu zarządzania pełnym cyklem życia modeli uczenia maszynowego. Rejestr modeli obszaru roboczego to udostępniona przez usługę Databricks hostowana wersja rejestru modeli MLflow.

Rejestr modeli obszaru roboczego zapewnia:

  • Pochodzenie modelu chronologicznego (eksperyment MLflow i uruchomienie modelu produkowanego w danym momencie).
  • Obsługa modelu.
  • Przechowywanie wersji modelu.
  • Przejścia na etapy (na przykład z przemieszczania do środowiska produkcyjnego lub zarchiwizowanego).
  • Elementy webhook umożliwiające automatyczne wyzwalanie akcji na podstawie zdarzeń rejestru.
  • Powiadomienia e-mail dotyczące zdarzeń modelu.

Możesz również tworzyć i wyświetlać opisy modeli oraz pozostawiać komentarze.

Ten artykuł zawiera instrukcje dotyczące interfejsu użytkownika rejestru modeli obszarów roboczych i interfejsu API rejestru modeli obszaru roboczego.

Aby zapoznać się z omówieniem pojęć dotyczących rejestru modeli obszarów roboczych, zobacz Zarządzanie cyklem życia uczenia maszynowego przy użyciu platformy MLflow.

Tworzenie lub rejestrowanie modelu

Model można utworzyć lub zarejestrować przy użyciu interfejsu użytkownika albo zarejestrować model przy użyciu interfejsu API.

Tworzenie lub rejestrowanie modelu przy użyciu interfejsu użytkownika

Istnieją dwa sposoby rejestrowania modelu w rejestrze modeli obszarów roboczych. Można zarejestrować istniejący zapisany model na platformie MLflow lub utworzyć i zarejestrować nowy, pusty model, a następnie przypisać do niego wcześniej zapisany model.

Rejestrowanie istniejącego zarejestrowanego modelu z notesu

  1. W obszarze roboczym znajdź przebieg MLflow zawierający model, który chcesz zarejestrować.

    1. Kliknij ikonę Experiment icon Eksperyment na prawym pasku bocznym notesu.

      Notebook toolbar

    2. Na pasku bocznym Przebiegi eksperymentów kliknij ikonę External Link obok daty uruchomienia. Zostanie wyświetlona strona MLflow Run (Przebieg platformy MLflow). Na tej stronie wyświetlane są wszystkie szczegóły przebiegu, w tym parametry, metryki, tagi i lista artefaktów.

  2. W sekcji Artifacts (Artefakty) kliknij katalog o nazwie xxx-model.

    Register model

  3. Kliknij przycisk Register model (Zarejestruj model) po prawej stronie.

  4. W oknie dialogowym kliknij pozycję Model i wykonaj jedną z następujących czynności:

    • Wybierz pozycję Utwórz nowy model z menu rozwijanego. Zostanie wyświetlone pole Nazwa modelu. Wprowadź nazwę modelu, na przykład scikit-learn-power-forecasting.
    • Wybierz istniejący model z menu rozwijanego.

    Create new model

  5. Kliknij pozycję Zarejestruj.

    • W przypadku wybrania opcji Utwórz nowy model rejestruje model o nazwie scikit-learn-power-forecasting, kopiuje model do bezpiecznej lokalizacji zarządzanej przez rejestr modeli obszarów roboczych i tworzy nową wersję modelu.
    • Jeśli wybrano istniejący model, spowoduje to zarejestrowanie nowej wersji wybranego modelu.

    Po kilku chwilach przycisk Zarejestruj model zmieni się na link do nowej zarejestrowanej wersji modelu.

    Select newly created model

  6. Kliknij link, aby otworzyć nową wersję modelu w interfejsie użytkownika rejestru modeli obszarów roboczych. Model można również znaleźć w rejestrze modeli obszaru roboczego, klikając pozycję Models IconModele na pasku bocznym.

Tworzenie nowego zarejestrowanego modelu i przypisywanie do niego zapisanego modelu

Możesz użyć przycisku Create model (Utwórz model) na stronie Registered models (Zarejestrowane modele), aby utworzyć nowy, pusty model, a następnie przypisać do niego zapisany model. Wykonaj te kroki:

  1. Na stronie Registered models kliknij przycisk Create Model. Wprowadź nazwę modelu i kliknij pozycję Create (Utwórz).

  2. Wykonaj kroki od 1 do 3 z sekcji Rejestrowanie istniejącego zapisanego modelu z notesu.

  3. W oknie dialogowym Register model wybierz nazwę modelu utworzonego w kroku 1, a następnie kliknij pozycję Register. Spowoduje to zarejestrowanie modelu o utworzonej nazwie, skopiowanie modelu do bezpiecznej lokalizacji zarządzanej przez rejestr modeli obszaru roboczego i utworzenie wersji modelu: Version 1.

    Po chwili w interfejsie użytkownika przebiegów platformy MLflow przycisk Register model zostanie zastąpiony linkiem do nowo zarejestrowanej wersji modelu. Możesz teraz wybrać ten model z listy rozwijanej Model w oknie dialogowym Register model na stronie Experiment Runs. Możesz również rejestrować nowe wersje modelu, wprowadzając jego nazwę w poleceniach interfejsu API takich jak Create ModelVersion.

Rejestrowanie modelu przy użyciu interfejsu API

Istnieją trzy programowe sposoby rejestrowania modelu w rejestrze modeli obszarów roboczych. Wszystkie metody kopiują model do bezpiecznej lokalizacji zarządzanej przez rejestr modeli obszaru roboczego.

  • Aby zapisać model i zarejestrować go z określoną nazwą podczas eksperymentu platformy MLflow, użyj metody mlflow.<model-flavor>.log_model(...). Jeśli nie istnieje jeszcze zarejestrowany model z taką nazwą, ta metoda spowoduje zarejestrowanie nowego modelu, utworzenie wersji 1 i zwrócenie obiektu MLflow ModelVersion. Jeśli już istnieje zarejestrowany model o takiej nazwie, ta metoda spowoduje utworzenie nowej wersji modelu i zwrócenie obiektu wersji.

    with mlflow.start_run(run_name=<run-name>) as run:
      ...
      mlflow.<model-flavor>.log_model(<model-flavor>=<model>,
        artifact_path="<model-path>",
        registered_model_name="<model-name>"
      )
    
  • Aby zarejestrować model z określoną nazwą po zakończeniu wszystkich przebiegów eksperymentu i wybraniu najbardziej odpowiedniego modelu do zarejestrowania, użyj metody mlflow.register_model(). W tej metodzie potrzebujesz identyfikatora przebiegu do użycia w argumencie mlruns:URI. Jeśli nie istnieje jeszcze zarejestrowany model z taką nazwą, ta metoda spowoduje zarejestrowanie nowego modelu, utworzenie wersji 1 i zwrócenie obiektu MLflow ModelVersion. Jeśli już istnieje zarejestrowany model o takiej nazwie, ta metoda spowoduje utworzenie nowej wersji modelu i zwrócenie obiektu wersji.

    result=mlflow.register_model("runs:<model-path>", "<model-name>")
    
  • Aby utworzyć nowy zarejestrowany model z określoną nazwą, użyj metody create_registered_model() interfejsu API klienta platformy MLflow. Jeśli taka nazwa modelu już istnieje, metoda zwróci wyjątek MLflowException.

    client = MlflowClient()
    result = client.create_registered_model("<model-name>")
    

Możesz również zarejestrować model za pomocą dostawcy narzędzia Terraform usługi Databricks i databricks_mlflow_model.

Wyświetlanie modeli w interfejsie użytkownika

Strona Zarejestrowanych modeli

Po kliknięciu przycisku Models IconModele na pasku bocznym zostanie wyświetlona strona Zarejestrowanych modeli. Na tej stronie przedstawiono wszystkie modele w rejestrze.

Na tej stronie możesz utworzyć nowy model .

Ponadto na tej stronie administratorzy obszaru roboczego mogą ustawić uprawnienia dla wszystkich modeli w rejestrze modeli obszaru roboczego.

Registered models

Zarejestrowana strona modelu

Aby wyświetlić zarejestrowaną stronę modelu dla modelu, kliknij nazwę modelu na stronie zarejestrowanych modeli. Strona zarejestrowanego modelu zawiera informacje o wybranym modelu i tabeli z informacjami o każdej wersji modelu. Na tej stronie można również wykonywać następujące czynności:

Registered model

Strona wersji modelu

Aby wyświetlić stronę wersji modelu, wykonaj jedną z następujących czynności:

  • Kliknij nazwę wersji w kolumnie Najnowsza wersja na stronie zarejestrowanych modeli.
  • Kliknij nazwę wersji w kolumnie Wersja na zarejestrowanej stronie modelu.

Na tej stronie są wyświetlane informacje o określonej wersji zarejestrowanego modelu, a także link do przebiegu źródłowego (wersja notesu, który został uruchomiony w celu utworzenia modelu). Na tej stronie można również wykonywać następujące czynności:

Model version

Kontrola dostępu do modeli

Aby dowiedzieć się, jak kontrolować dostęp do modeli zarejestrowanych w rejestrze modeli obszaru roboczego, zobacz Udostępnianie modeli MLflow.

Przenoszenie etapu modelu

Wersja modelu ma jeden z następujących etapów: Brak, Przejściowe, Produkcyjne lub Zarchiwizowane. Etap Staging jest przeznaczony do testowania i walidacji modeli, natomiast etap Production jest przeznaczony dla wersji modeli, które przeszły już procesy testowania lub przeglądu i zostały wdrożone w aplikacjach w celu wykonywania oceny na żywo. Zakłada się, że wersja modelu w archiwum jest już nieaktywna, można więc rozważyć jej usunięcie. Różne wersje modelu mogą znajdować się na różnych etapach.

Użytkownik z odpowiednimi uprawnieniami może przenosić wersję modelu między etapami. Jeśli masz uprawnienia do przeniesienia wersji modelu do określonego etapu, możesz wykonać to przeniesienie bezpośrednio. Jeśli nie masz takich uprawnień, możesz zażądać przeniesienia między etapami, a użytkownik mający uprawnienia do przenoszenia wersji modeli może wówczas zatwierdzić, odrzucić lub anulować to żądanie.

Etap modelu można przenieść przy użyciu interfejsu użytkownika lub interfejsu API.

Przenoszenie modeli między etapami przy użyciu interfejsu użytkownika

Skorzystaj z tych instrukcji, aby przenieść model do innego etapu.

  1. Aby wyświetlić listę dostępnych etapów modelu i dostępnych opcji, na stronie wersji modelu kliknij listę rozwijaną obok pozycji Etap: i zażądaj przejścia do innego etapu.

    Stage transition options

  2. Opcjonalnie wprowadź komentarz i kliknij przycisk OK.

Przenoszenie wersji modelu do etapu produkcji

Po zakończeniu testowania i walidacji modelu możesz przenieść go lub zażądać przeniesienia do etapu produkcji.

Rejestr modeli obszaru roboczego zezwala na więcej niż jedną wersję zarejestrowanego modelu na każdym etapie. Jeśli chcesz, aby na etapie produkcji była tylko jedna wersja, możesz przenieść wszystkie wersje modelu znajdujące się obecnie na etapie produkcji do archiwum, zaznaczając pole wyboru Transition existing Production model versions to Archived (Przenieś istniejące produkcyjne wersje modelu do archiwum).

Zatwierdzanie, odrzucanie lub anulowanie żądania przeniesienia wersji modelu

Użytkownik bez uprawnień do przenoszenia modeli między etapami może zażądać takiego przeniesienia. Żądanie będzie widoczne w sekcji Pending Requests (Oczekujące żądania) na stronie wersji modelu:

Transition to production

Aby zatwierdzić, odrzucić lub anulować żądanie przeniesienia do innego etapu, kliknij link Approve (Zatwierdź), Reject (Odrzuć) lub Cancel (Anuluj).

Użytkownik, który utworzył żądanie, również może je anulować.

Wyświetlanie działań dotyczących wersji modelu

Aby wyświetlić wszystkie zmiany — zażądane, zatwierdzone, oczekujące i zastosowane do wersji modelu — przejdź do sekcji Activities (Działania). Rekord działań umożliwia śledzenie pochodzenia w cyklu życia modelu na potrzeby inspekcji.

Przenoszenie etapu modelu przy użyciu interfejsu API

Użytkownicy z odpowiednimi uprawnieniami mogą przenieść wersję modelu do nowego etapu.

Aby zmienić etap wersji modelu na nowy, użyj metody transition_model_version_stage() interfejsu API klienta platformy MLflow:

  client = MlflowClient()
  client.transition_model_version_stage(
    name="<model-name>",
    version=<model-version>,
    stage="<stage>",
    description="<description>"
  )

Dozwolone wartości elementu <stage> to: "Staging"|"staging", "Archived"|"archived", "Production"|"production" i "None"|"none".

Używanie modelu do wnioskowania

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Po zarejestrowaniu modelu w rejestrze modeli obszaru roboczego możesz automatycznie wygenerować notes, aby użyć modelu do wnioskowania wsadowego lub przesyłania strumieniowego. Alternatywnie możesz utworzyć punkt końcowy, aby użyć modelu do obsługi modeli w czasie rzeczywistym z obsługą modelu.

W prawym górnym rogu strony zarejestrowanego modelu lub strony wersji modelu kliknij pozycję use model button. Zostanie wyświetlone okno dialogowe Konfigurowanie wnioskowania modelu, które umożliwia skonfigurowanie wnioskowania wsadowego, przesyłania strumieniowego lub wnioskowania w czasie rzeczywistym.

Ważne

Anaconda Inc. zaktualizowała swoje warunki świadczenia usług dla kanałów anaconda.org. Na podstawie nowych warunków świadczenia usług możesz wymagać licencji komercyjnej, jeśli korzystasz z opakowania i dystrybucji anaconda. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące wersji komercyjnej Anaconda. Korzystanie z jakichkolwiek kanałów Anaconda podlega warunkom świadczenia usług.

Modele MLflow zarejestrowane przed wersją 1.18 (Databricks Runtime 8.3 ML lub starsze) były domyślnie rejestrowane przy użyciu kanału Conda defaults (https://repo.anaconda.com/pkgs/) jako zależności. Ze względu na tę zmianę licencji usługa Databricks zatrzymała korzystanie z kanału defaults dla modeli zarejestrowanych przy użyciu platformy MLflow w wersji 1.18 lub nowszej. Zarejestrowany kanał domyślny to teraz conda-forge, co wskazuje na zarządzaną https://conda-forge.org/przez społeczność.

Jeśli zarejestrowano model przed MLflow w wersji 1.18 bez wykluczania defaults kanału ze środowiska conda dla modelu, ten model może mieć zależność od kanału defaults , którego być może nie zamierzasz. Aby ręcznie potwierdzić, czy model ma tę zależność, możesz sprawdzić channel wartość w conda.yaml pliku spakowanym przy użyciu zarejestrowanego modelu. Na przykład model conda.yaml z zależnością kanału defaults może wyglądać następująco:

channels:
- defaults
dependencies:
- python=3.8.8
- pip
- pip:
    - mlflow
    - scikit-learn==0.23.2
    - cloudpickle==1.6.0
      name: mlflow-env

Ponieważ usługa Databricks nie może określić, czy korzystanie z repozytorium Anaconda do interakcji z modelami jest dozwolone w ramach relacji z platformą Anaconda, usługa Databricks nie zmusza swoich klientów do wprowadzania żadnych zmian. Jeśli korzystanie z repozytorium Anaconda.com za pośrednictwem korzystania z usługi Databricks jest dozwolone zgodnie z warunkami platformy Anaconda, nie musisz podejmować żadnych działań.

Jeśli chcesz zmienić kanał używany w środowisku modelu, możesz ponownie zarejestrować model w rejestrze modeli obszaru roboczego przy użyciu nowego conda.yamlelementu . Można to zrobić, określając kanał w parametrze conda_envlog_model().

Aby uzyskać więcej informacji na temat interfejsu log_model() API, zobacz dokumentację platformy MLflow dotyczącą odmiany modelu, z którą pracujesz, na przykład log_model dla biblioteki scikit-learn.

Aby uzyskać więcej informacji na conda.yaml temat plików, zobacz dokumentację platformy MLflow.

Configure model inference dialog

Konfigurowanie wnioskowania wsadowego

Podczas wykonywania tych kroków w celu utworzenia notesu wnioskowania wsadowego notes zostanie zapisany w folderze użytkownika w Batch-Inference folderze w folderze z nazwą modelu. Notes można edytować zgodnie z potrzebami.

  1. Kliknij kartę Wnioskowanie wsadowe .

  2. Z listy rozwijanej Wersja modelu wybierz wersję modelu do użycia. Pierwsze dwa elementy z listy rozwijanej to bieżąca wersja produkcyjna i tymczasowa modelu (jeśli istnieją). Po wybraniu jednej z tych opcji notes automatycznie używa wersji produkcyjnej lub przejściowej od momentu uruchomienia. Nie trzeba aktualizować notesu podczas opracowywania modelu.

  3. Kliknij przycisk Przeglądaj obok pozycji Tabela danych wejściowych. Zostanie wyświetlone okno dialogowe Wybieranie danych wejściowych. W razie potrzeby możesz zmienić klaster na liście rozwijanej Obliczenia .

    Uwaga

    W przypadku obszarów roboczych z obsługą wykazu aparatu Unity okno dialogowe Wybieranie danych wejściowych umożliwia wybranie spośród trzech poziomów: <catalog-name>.<database-name>.<table-name>.

  4. Wybierz tabelę zawierającą dane wejściowe dla modelu, a następnie kliknij pozycję Wybierz. Wygenerowany notes automatycznie importuje te dane i wysyła je do modelu. Wygenerowany notes można edytować, jeśli dane wymagają jakichkolwiek przekształceń, zanim będą wprowadzane do modelu.

  5. Przewidywania są zapisywane w folderze w katalogu dbfs:/FileStore/batch-inference. Domyślnie przewidywania są zapisywane w folderze o takiej samej nazwie jak model. Każde uruchomienie wygenerowanego notesu zapisuje nowy plik do tego katalogu z znacznikiem czasu dołączonym do nazwy. Możesz również nie dołączać znacznika czasu i zastąpić plik kolejnymi przebiegami notesu; instrukcje są udostępniane w wygenerowanych notesach.

    Możesz zmienić folder, w którym są zapisywane przewidywania, wpisując nową nazwę folderu w polu Lokalizacja tabeli danych wyjściowych lub klikając ikonę folderu, aby przejrzeć katalog i wybrać inny folder.

    Aby zapisać przewidywania w lokalizacji w katalogu aparatu Unity, należy edytować notes. Przykładowy notes pokazujący sposób trenowania modelu uczenia maszynowego, który używa danych w wykazie aparatu Unity i zapisywania wyników z powrotem do wykazu aparatu Unity, zobacz Trenowanie i rejestrowanie modeli uczenia maszynowego za pomocą wykazu aparatu Unity.

Konfigurowanie wnioskowania przesyłania strumieniowego przy użyciu tabel delta live

Podczas wykonywania tych kroków w celu utworzenia notesu wnioskowania przesyłania strumieniowego notes zostanie zapisany w folderze użytkownika w DLT-Inference folderze w folderze o nazwie modelu. Notes można edytować zgodnie z potrzebami.

  1. Kliknij kartę Streaming (Delta Live Tables).

  2. Z listy rozwijanej Wersja modelu wybierz wersję modelu do użycia. Pierwsze dwa elementy z listy rozwijanej to bieżąca wersja produkcyjna i tymczasowa modelu (jeśli istnieją). Po wybraniu jednej z tych opcji notes automatycznie używa wersji produkcyjnej lub przejściowej od momentu uruchomienia. Nie trzeba aktualizować notesu podczas opracowywania modelu.

  3. Kliknij przycisk Przeglądaj obok pozycji Tabela danych wejściowych. Zostanie wyświetlone okno dialogowe Wybieranie danych wejściowych. W razie potrzeby możesz zmienić klaster na liście rozwijanej Obliczenia .

    Uwaga

    W przypadku obszarów roboczych z obsługą wykazu aparatu Unity okno dialogowe Wybieranie danych wejściowych umożliwia wybranie spośród trzech poziomów: <catalog-name>.<database-name>.<table-name>.

  4. Wybierz tabelę zawierającą dane wejściowe dla modelu, a następnie kliknij pozycję Wybierz. Wygenerowany notes tworzy przekształcenie danych, które używa tabeli wejściowej jako źródła i integruje funkcję UDF wnioskowania MLflow PySpark w celu wykonywania przewidywań modelu. Wygenerowany notes można edytować, jeśli dane wymagają dodatkowych przekształceń przed zastosowaniem modelu lub po nim.

  5. Podaj nazwę wyjściowej tabeli delta live. Notes tworzy tabelę na żywo o podanej nazwie i używa jej do przechowywania przewidywań modelu. Wygenerowany notes można zmodyfikować, aby dostosować docelowy zestaw danych zgodnie z potrzebami — na przykład: zdefiniuj tabelę transmisji strumieniowej na żywo jako dane wyjściowe, dodaj informacje o schemacie lub ograniczenia dotyczące jakości danych.

  6. Następnie możesz utworzyć nowy potok delta live tables za pomocą tego notesu lub dodać go do istniejącego potoku jako dodatkową bibliotekę notesów.

Konfigurowanie wnioskowania w czasie rzeczywistym

Obsługa modelu uwidacznia modele uczenia maszynowego MLflow jako skalowalne punkty końcowe interfejsu API REST. Aby utworzyć punkt końcowy obsługujący model, zobacz Tworzenie niestandardowych punktów końcowych obsługujących model.

Przekazywanie opinii

Ta funkcja jest dostępna w wersji zapoznawczej i chętnie otrzymamy Twoją opinię. Aby przekazać opinię, kliknij Provide Feedback okno dialogowe Konfigurowanie wnioskowania modelu.

Porównanie wersji modelu

Wersje modeli można porównać w rejestrze modeli obszaru roboczego.

  1. Na stronie zarejestrowanego modelu wybierz co najmniej dwie wersje modelu, klikając pole wyboru po lewej stronie wersji modelu.
  2. Kliknij pozycję Porównaj.
  3. Zostanie wyświetlony ekran Porównanie <N> wersji przedstawiający tabelę, która porównuje parametry, schemat i metryki wybranych wersji modelu. W dolnej części ekranu można wybrać typ wykresu (współrzędne punktowe, konturowe lub równoległe) oraz parametry lub metryki do wykreślenia.

Kontrolowanie preferencji powiadomień

Rejestr modeli obszaru roboczego można skonfigurować, aby powiadomić Cię pocztą e-mail o działaniach dotyczących zarejestrowanych modeli i wersji modelu, które określisz.

Na zarejestrowanej stronie modelu w menu Powiadom mnie o wyświetlonych trzech opcjach:

Email notifications menu

  • Wszystkie nowe działanie: Wysyłaj powiadomienia e-mail dotyczące wszystkich działań we wszystkich wersjach modelu tego modelu. Jeśli utworzono zarejestrowany model, to ustawienie jest ustawieniem domyślnym.
  • Aktywność w wersjach, które obserwuję: Wysyłaj powiadomienia e-mail tylko o obserwowanych wersjach modelu. Po wybraniu tej opcji otrzymasz powiadomienia dotyczące wszystkich obserwowanych wersji modelu; nie można wyłączyć powiadomień dla określonej wersji modelu.
  • Powiadomienia wyciszenia: nie wysyłaj powiadomień e-mail dotyczących działań w tym zarejestrowanym modelu.

Następujące zdarzenia wyzwalają powiadomienie e-mail:

  • Tworzenie nowej wersji modelu
  • Żądanie przeniesienia etapu
  • Przenoszenie etapu
  • Nowe komentarze

Po wykonaniu dowolnej z następujących czynności automatycznie subskrybujesz powiadomienia dotyczące modelu:

  • Komentarz do tej wersji modelu
  • Przenoszenie etapu wersji modelu
  • Tworzenie żądania przeniesienia dla etapu modelu

Aby sprawdzić, czy korzystasz z wersji modelu, zapoznaj się z polem Obserwuj stan na stronie wersji modelu lub w tabeli wersji modelu na stronie zarejestrowanego modelu.

Wyłącz wszystkie powiadomienia e-mail

Powiadomienia e-mail można wyłączyć na karcie Rejestr modeli obszarów roboczych Ustawienia na karcie Ustawienia użytkownika:

  1. Kliknij swoją nazwę użytkownika w prawym górnym rogu obszaru roboczego usługi Azure Databricks, a następnie wybierz pozycję Użytkownik Ustawienia z menu rozwijanego.
  2. Na pasku bocznym Ustawienia wybierz pozycję Powiadomienia.
  3. Wyłącz powiadomienia e-mail rejestru modeli.

Administrator konta może wyłączyć powiadomienia e-mail dla całej organizacji na stronie ustawień administratora.

Maksymalna liczba wysłanych wiadomości e-mail

Rejestr modeli obszarów roboczych ogranicza liczbę wiadomości e-mail wysyłanych do każdego użytkownika dziennie na działanie. Jeśli na przykład otrzymasz 20 wiadomości e-mail w ciągu jednego dnia o nowych wersjach modelu utworzonych dla zarejestrowanego modelu, rejestr modeli obszarów roboczych wysyła wiadomość e-mail z informacją o osiągnięciu dziennego limitu i nie są wysyłane żadne dodatkowe wiadomości e-mail dotyczące tego zdarzenia do następnego dnia.

Aby zwiększyć limit liczby dozwolonych wiadomości e-mail, skontaktuj się z zespołem konta usługi Azure Databricks.

Elementy webhook

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Elementy webhook umożliwiają nasłuchiwanie zdarzeń rejestru modeli obszaru roboczego, dzięki czemu integracje mogą automatycznie wyzwalać akcje. Za pomocą elementów webhook można zautomatyzować i zintegrować potok uczenia maszynowego z istniejącymi narzędziami i przepływami pracy ciągłej integracji/ciągłego wdrażania. Możesz na przykład wyzwolić kompilacje ciągłej integracji po utworzeniu nowej wersji modelu lub powiadomić członków zespołu za pomocą usługi Slack za każdym razem, gdy wymagane jest przejście modelu do środowiska produkcyjnego.

Dodawanie adnotacji do modelu lub wersji modelu

Możesz przekazać informacje dotyczące modelu lub wersji modelu, dodając adnotację. Możesz na przykład dołączyć omówienie problemu lub informacje na temat używanych metodologii i algorytmów.

Dodawanie adnotacji do modelu lub wersji modelu przy użyciu interfejsu użytkownika

Interfejs użytkownika usługi Azure Databricks udostępnia kilka sposobów dodawania adnotacji do modeli i wersji modelu. Informacje tekstowe można dodawać przy użyciu opisu lub komentarzy, a także dodawać tagi klucz-wartość z możliwością wyszukiwania. Opisy i tagi są dostępne dla modeli i wersji modelu; komentarze są dostępne tylko dla wersji modelu.

  • Opisy mają na celu podanie informacji o modelu.
  • Komentarze umożliwiają utrzymanie ciągłej dyskusji na temat działań dotyczących wersji modelu.
  • Tagi umożliwiają dostosowanie metadanych modelu, aby ułatwić znajdowanie określonych modeli.

Dodawanie lub aktualizowanie opisu modelu lub wersji modelu

  1. Na stronie zarejestrowanego modelu lub wersji modelu kliknij przycisk Edytuj obok pozycji Opis. Zostanie wyświetlone okno edycji.

  2. Wprowadź lub edytuj opis w oknie edycji.

  3. Kliknij przycisk Zapisz , aby zapisać zmiany lub przycisk Anuluj , aby zamknąć okno.

    Jeśli wprowadzono opis wersji modelu, będzie on widoczny w kolumnie Description (Opis) w tabeli na stronie zarejestrowanego modelu. W kolumnie wyświetlany jest krótszy z dwóch wariantów: maksymalnie 32 znaki lub jeden wiersz tekstu.

Dodawanie komentarzy dla wersji modelu

  1. Przewiń w dół stronę wersji modelu i kliknij strzałkę w dół obok pozycji Działania.
  2. Wpisz komentarz w oknie edycji i kliknij pozycję Dodaj komentarz.

Dodawanie tagów dla wersji modelu lub modelu

  1. Na stronie zarejestrowanego modelu lub wersji modelu kliknijTag icon, jeśli jeszcze nie jest otwarty. Zostanie wyświetlona tabela tagów.

    tag table

  2. Kliknij pola Nazwa i Wartość, a następnie wpisz klucz i wartość tagu.

  3. Kliknij przycisk Dodaj.

    add tag

Edytowanie lub usuwanie tagów dla modelu lub wersji modelu

Aby edytować lub usunąć istniejący tag, użyj ikon w kolumnie Akcje .

tag actions

Dodawanie adnotacji do wersji modelu przy użyciu interfejsu API

Aby zaktualizować opis wersji modelu, użyj metody update_model_version() interfejsu API klienta platformy MLflow:

client = MlflowClient()
client.update_model_version(
  name="<model-name>",
  version=<model-version>,
  description="<description>"
)

Aby ustawić lub zaktualizować tag dla zarejestrowanego modelu lub wersji modelu, użyj interfejsu API set_registered_model_tag()klienta MLflow ) lub set_model_version_tag() metody:

client = MlflowClient()
client.set_registered_model_tag()(
  name="<model-name>",
  key="<key-value>",
  tag="<tag-value>"
)
client = MlflowClient()
client.set_model_version_tag()(
  name="<model-name>",
  version=<model-version>,
  key="<key-value>",
  tag="<tag-value>"
)

Zmienianie nazwy modelu (tylko interfejs API)

Aby zmienić nazwę zarejestrowanego modelu, użyj metody rename_registered_model() interfejsu API klienta platformy MLflow:

client=MlflowClient()
client.rename_registered_model("<model-name>", "<new-model-name>")

Uwaga

Nazwę zarejestrowanego modelu można zmienić tylko wówczas, gdy nie ma on żadnych wersji lub gdy wszystkie wersje mają przypisany etap None lub Archived.

Wyszukiwanie modelu

Modele można wyszukiwać w rejestrze modeli obszaru roboczego przy użyciu interfejsu użytkownika lub interfejsu API.

Uwaga

Podczas wyszukiwania modelu zwracane są tylko modele, dla których masz co najmniej uprawnienia CAN READ.

Wyszukiwanie modelu przy użyciu interfejsu użytkownika

Aby wyświetlić zarejestrowane modele, kliknij pozycję Models IconModele na pasku bocznym.

Aby wyszukać określony model, wprowadź tekst w polu wyszukiwania. Możesz wprowadzić nazwę modelu lub dowolną część nazwy:

Registered models search

Możesz również wyszukiwać tagi. Wprowadź tagi w tym formacie: tags.<key>=<value>. Aby wyszukać wiele tagów, użyj AND operatora .

Tag-based search

Możesz wyszukać zarówno nazwę modelu, jak i tagi przy użyciu składni wyszukiwania MLflow. Na przykład:

Name and tag-based search

Wyszukiwanie modelu przy użyciu interfejsu API

Zarejestrowane modele można wyszukać w rejestrze modeli obszaru roboczego przy użyciu metody interfejsu API klienta MLflow search_registered_models()

Jeśli ustawiono tagi dla modeli, możesz również wyszukać je za pomocą polecenia search_registered_models().

print(f"Find registered models with a specific tag value")
for m in client.search_registered_models(f"tags.`<key-value>`='<tag-value>'"):
  pprint(dict(m), indent=4)

Możesz również wyszukać określoną nazwę modelu i otrzymać listę szczegółów dotyczących jego wersji, używając metody search_model_versions() interfejsu API klienta platformy MLflow:

from pprint import pprint

client=MlflowClient()
[pprint(mv) for mv in client.search_model_versions("name='<model-name>'")]

Zostaną zwrócone następujące dane wyjściowe:

{   'creation_timestamp': 1582671933246,
    'current_stage': 'Production',
    'description': 'A random forest model containing 100 decision trees '
                   'trained in scikit-learn',
    'last_updated_timestamp': 1582671960712,
    'name': 'sk-learn-random-forest-reg-model',
    'run_id': 'ae2cc01346de45f79a44a320aab1797b',
    'source': './mlruns/0/ae2cc01346de45f79a44a320aab1797b/artifacts/sklearn-model',
    'status': 'READY',
    'status_message': None,
    'user_id': None,
    'version': 1 }

{   'creation_timestamp': 1582671960628,
    'current_stage': 'None',
    'description': None,
    'last_updated_timestamp': 1582671960628,
    'name': 'sk-learn-random-forest-reg-model',
    'run_id': 'd994f18d09c64c148e62a785052e6723',
    'source': './mlruns/0/d994f18d09c64c148e62a785052e6723/artifacts/sklearn-model',
    'status': 'READY',
    'status_message': None,
    'user_id': None,
    'version': 2 }

Usuwanie modelu lub wersji modelu

Model można usunąć za pomocą interfejsu użytkownika lub interfejsu API.

Usuwanie modelu lub wersji modelu przy użyciu interfejsu użytkownika

Ostrzeżenie

Nie można cofnąć tej akcji. Zamiast usuwać wersję modelu z rejestru, możesz przenieść ją do etapu Archived. Po usunięciu modelu wszystkie artefakty modelu przechowywane przez rejestr modeli obszaru roboczego i wszystkie metadane skojarzone z zarejestrowanym modelem zostaną usunięte.

Uwaga

Można usuwać tylko modele i wersje modeli przypisane do etapu None lub Archived. Jeśli zarejestrowany model ma wersje na etapie Staging lub Production, przed usunięciem modelu trzeba przenieść je do etapu None lub Archived.

Aby usunąć wersję modelu:

  1. Kliknij pozycję Models IconModele na pasku bocznym.
  2. Kliknij nazwę modelu.
  3. Kliknij wersję modelu.
  4. Kliknij Delete model version w prawym górnym rogu ekranu i wybierz pozycję Usuń z menu rozwijanego.

Aby usunąć model:

  1. Kliknij pozycję Models IconModele na pasku bocznym.
  2. Kliknij nazwę modelu.
  3. Kliknij Delete model w prawym górnym rogu ekranu i wybierz pozycję Usuń z menu rozwijanego.

Usuwanie modelu lub wersji modelu przy użyciu interfejsu API

Ostrzeżenie

Nie można cofnąć tej akcji. Zamiast usuwać wersję modelu z rejestru, możesz przenieść ją do etapu Archived. Po usunięciu modelu wszystkie artefakty modelu przechowywane przez rejestr modeli obszaru roboczego i wszystkie metadane skojarzone z zarejestrowanym modelem zostaną usunięte.

Uwaga

Można usuwać tylko modele i wersje modeli przypisane do etapu None lub Archived. Jeśli zarejestrowany model ma wersje na etapie Staging lub Production, przed usunięciem modelu trzeba przenieść je do etapu None lub Archived.

Usuwanie wersji modelu

Aby usunąć wersję modelu, użyj metody delete_model_version() interfejsu API klienta platformy MLflow:

# Delete versions 1,2, and 3 of the model
client = MlflowClient()
versions=[1, 2, 3]
for version in versions:
  client.delete_model_version(name="<model-name>", version=version)

Usuń model

Aby usunąć model, użyj metody delete_registered_model() interfejsu API klienta platformy MLflow:

client = MlflowClient()
client.delete_registered_model(name="<model-name>")

Udostępnianie modeli między obszarami roboczymi

Usługa Databricks zaleca używanie modeli w wykazie aparatu Unity do udostępniania modeli między obszarami roboczymi. Wykaz aparatu Unity zapewnia wbudowaną obsługę dostępu między obszarami roboczymi, ładu i rejestrowania inspekcji.

Jeśli jednak korzystasz z rejestru modeli obszarów roboczych, możesz również udostępniać modele w wielu obszarach roboczych przy użyciu niektórych ustawień. Można na przykład opracowywać i rejestrować model we własnym obszarze roboczym, a następnie uzyskiwać do niego dostęp z innego obszaru roboczego przy użyciu zdalnego rejestru modeli obszaru roboczego. Jest to przydatne, gdy wiele zespołów współdzieli dostęp do modeli. Możesz utworzyć wiele obszarów roboczych i używać modeli w tych środowiskach i zarządzać nimi.

Kopiowanie obiektów MLflow między obszarami roboczymi

Aby zaimportować lub wyeksportować obiekty MLflow do lub z obszaru roboczego usługi Azure Databricks, możesz użyć opartego na społeczności projektu open source MLflow Export-Import w celu migracji eksperymentów, modeli i przebiegów między obszarami roboczymi.

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 model z jednego obszaru roboczego do innego, na przykład z obszaru projektowego do produkcyjnego 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.

Przykład

W tym przykładzie pokazano, jak utworzyć aplikację uczenia maszynowego za pomocą rejestru modeli obszaru roboczego.

Przykład rejestru modeli obszaru roboczego