Udostępnij za pośrednictwem


Trenowanie modeli uczenia maszynowego za pomocą interfejsu użytkownika rozwiązania AutoML usługi Azure Databricks

W tym artykule pokazano, jak wytrenować model uczenia maszynowego przy użyciu rozwiązania AutoML i interfejsu użytkownika usługi Machine Learning usługi Databricks. Interfejs użytkownika rozwiązania AutoML przeprowadzi Cię przez trenowanie modelu klasyfikacji, regresji lub prognozowania w zestawie danych.

Zobacz Wymagania dotyczące eksperymentów rozwiązania AutoML.

Otwieranie interfejsu użytkownika rozwiązania AutoML

Aby uzyskać dostęp do interfejsu użytkownika rozwiązania AutoML:

  1. Na pasku bocznym wybierz pozycję Nowy > eksperyment zautomatyzowanego uczenia maszynowego.

    Możesz również utworzyć nowy eksperyment rozwiązania AutoML na stronie Eksperymenty.

    Zostanie wyświetlona strona Konfigurowanie eksperymentu automatycznego uczenia maszynowego. Na tej stronie skonfigurujesz proces automatycznego uczenia maszynowego, określając zestaw danych, typ problemu, docelową lub etykietę kolumny do przewidywania, metryki używanej do oceny i oceniania przebiegów eksperymentu oraz zatrzymywania warunków.

Konfigurowanie problemu klasyfikacji lub regresji

Problem z klasyfikacją lub regresją można skonfigurować przy użyciu interfejsu użytkownika rozwiązania AutoML, wykonując następujące czynności:

  1. W polu Obliczenia wybierz klaster z uruchomioną usługą Databricks Runtime ML.

  2. Z menu rozwijanego Typ problemu uczenia maszynowego wybierz pozycję Regresja lub Klasyfikacja. Jeśli próbujesz przewidzieć wartość liczbową ciągłą dla każdej obserwacji, takiej jak roczny dochód, wybierz regresję. Jeśli próbujesz przypisać każdą obserwację do jednego z odrębnych zestawów klas, takich jak dobre ryzyko kredytowe lub złe ryzyko kredytowe, wybierz klasyfikację.

  3. W obszarze Zestaw danych wybierz pozycję Przeglądaj.

  4. Przejdź do tabeli, której chcesz użyć, a następnie kliknij pozycję Wybierz. Zostanie wyświetlony schemat tabeli.

    Uwaga

    Jeśli określisz metodę imputacji innej niż domyślna, rozwiązanie AutoML nie wykonuje wykrywania typów semantycznych.

  5. Kliknij pole Cel przewidywania. Zostanie wyświetlona lista rozwijana przedstawiająca kolumny wyświetlane w schemacie. Wybierz kolumnę, którą model ma przewidywać.

  6. W polu Nazwa eksperymentu jest wyświetlana nazwa domyślna. Aby ją zmienić, wpisz nową nazwę w polu.

Możesz również wykonać następujące czynności:

Konfigurowanie problemów z prognozowaniem

Problem z prognozowaniem można skonfigurować przy użyciu interfejsu użytkownika rozwiązania AutoML, wykonując następujące kroki:

  1. W polu Obliczenia wybierz klaster z uruchomionym środowiskiem Databricks Runtime 10.0 ML lub nowszym.

  2. Z menu rozwijanego Typ problemu uczenia maszynowego wybierz pozycję Prognozowanie.

  3. W obszarze Zestaw danych kliknij przycisk Przeglądaj. Przejdź do tabeli, której chcesz użyć, a następnie kliknij pozycję Wybierz. Zostanie wyświetlony schemat tabeli.

  4. Kliknij pole Cel przewidywania. Zostanie wyświetlone menu rozwijane z listą kolumn wyświetlanych w schemacie. Wybierz kolumnę, którą model ma przewidywać.

  5. Kliknij pole Kolumna czasowa. Zostanie wyświetlona lista rozwijana z kolumnami zestawu danych, które są typu timestamp lub date. Wybierz kolumnę zawierającą okresy dla szeregu czasowego.

  6. W przypadku prognozowania z wieloma seriami wybierz kolumny identyfikujące poszczególne szeregi czasowe z listy rozwijanej Identyfikatory szeregów czasowych. Rozwiązanie AutoML grupuje dane według tych kolumn jako różne szeregi czasowe i trenuje model dla każdej serii niezależnie. Jeśli to pole pozostanie puste, rozwiązanie AutoML zakłada, że zestaw danych zawiera pojedynczą serię czasową.

  7. W polach Horyzont prognozy i częstotliwość określ liczbę okresów w przyszłości, dla których rozwiązanie AutoML powinno obliczyć prognozowane wartości. W polu po lewej stronie wprowadź liczbę całkowitą okresów do prognozowania. W prawym polu wybierz jednostki.

    Uwaga

    Aby użyć funkcji Auto-ARIMA, szereg czasowy musi mieć regularną częstotliwość, w której interwał między dwoma punktami musi być taki sam w ciągu szeregu czasowego. Częstotliwość musi być zgodna z jednostką częstotliwości określoną w wywołaniu interfejsu API lub w interfejsie użytkownika rozwiązania AutoML. Rozwiązanie AutoML obsługuje brakujące kroki czasu, wypełniając te wartości poprzednimi wartościami.

  8. W środowisku Databricks Runtime 11.3 LTS ML i nowszym można zapisać wyniki przewidywania. W tym celu określ bazę danych w polu Wyjściowa baza danych . Kliknij przycisk Przeglądaj i wybierz bazę danych w oknie dialogowym. Rozwiązanie AutoML zapisuje wyniki przewidywania w tabeli w tej bazie danych.

  9. W polu Nazwa eksperymentu jest wyświetlana nazwa domyślna. Aby ją zmienić, wpisz nową nazwę w polu.

Możesz również wykonać następujące czynności:

Używanie istniejących tabel funkcji z magazynu funkcji usługi Databricks

W środowisku Databricks Runtime 11.3 LTS ML i nowszym można użyć tabel funkcji w magazynie funkcji usługi Databricks, aby rozwinąć wejściowy zestaw danych trenowania na potrzeby problemów klasyfikacji i regresji.

W środowisku Databricks Runtime 12.2 LTS ML i nowszym można użyć tabel funkcji w magazynie funkcji usługi Databricks, aby rozwinąć zestaw danych trenowania danych wejściowych dla wszystkich problemów z rozwiązaniem AutoML: klasyfikacja, regresja i prognozowanie.

Aby utworzyć tabelę funkcji, zobacz Create a feature table in Unity Catalog (Tworzenie tabeli funkcji w wykazie aparatu Unity) lub Create a feature table in Databricks Feature Store (Tworzenie tabeli funkcji w katalogu aparatu Unity) lub Create a feature table in Databricks Feature Store (Tworzenie tabeli funkcji w magazynie funkcji usługi Databricks).

Po skonfigurowaniu eksperymentu automatycznego uczenia maszynowego możesz wybrać tabelę funkcji, wykonując następujące kroki:

  1. Kliknij pozycję Dołącz funkcje (opcjonalnie).

    Przycisk Dołącz do funkcji

  2. Na stronie Dołącz dodatkowe funkcje wybierz tabelę funkcji w polu Tabela funkcji.

  3. Dla każdego klucza podstawowego tabeli funkcji wybierz odpowiedni klucz odnośnika. Klucz odnośnika powinien być kolumną w zestawie danych trenowania podanym dla eksperymentu rozwiązania AutoML.

  4. W przypadku tabel funkcji szeregów czasowych wybierz odpowiedni klucz odnośnika znacznika czasu. Podobnie klucz odnośnika znacznika czasu powinien być kolumną w zestawie danych trenowania podanym dla eksperymentu rozwiązania AutoML.

    Wybieranie klucza podstawowego i tabel odnośników

  5. Aby dodać więcej tabel funkcji, kliknij pozycję Dodaj kolejną tabelę i powtórz powyższe kroki.

Konfiguracje zaawansowane

Otwórz sekcję Konfiguracja zaawansowana (opcjonalnie), aby uzyskać dostęp do tych parametrów.

  • Metryka oceny to podstawowa metryka używana do oceniania przebiegów.
  • W środowisku Databricks Runtime 10.4 LTS ML i nowszym można wykluczyć struktury szkoleniowe z uwagi. Domyślnie rozwiązanie AutoML trenuje modele przy użyciu struktur wymienionych w obszarze Algorytmy automatycznego uczenia maszynowego.
  • Możesz edytować warunki zatrzymywania. Domyślne warunki zatrzymywania to:
    • W przypadku eksperymentów prognozowania zatrzymaj się po 120 minutach.
    • W środowisku Databricks Runtime 10.4 LTS ML i poniżej w przypadku eksperymentów klasyfikacji i regresji zatrzymaj się po 60 minutach lub po ukończeniu 200 prób, w zależności od tego, co nastąpi wcześniej. W przypadku środowiska Databricks Runtime 11.0 ML i nowszych liczba prób nie jest używana jako stan zatrzymania.
    • W środowisku Databricks Runtime 10.4 LTS ML i nowszym w przypadku eksperymentów klasyfikacji i regresji rozwiązanie AutoML obejmuje wczesne zatrzymywanie; zatrzymuje trenowanie i dostrajanie modeli, jeśli metryka walidacji nie jest już ulepszana.
  • W środowisku Databricks Runtime 10.4 LTS ML i nowszym możesz wybrać kolumnę czasu, aby podzielić dane na potrzeby trenowania, walidacji i testowania w kolejności chronologicznej (dotyczy tylko klasyfikacji i regresji).
  • Usługa Databricks nie zaleca wypełniania pola Katalog danych. Spowoduje to wyzwolenie domyślnego zachowania bezpiecznego przechowywania zestawu danych jako artefaktu MLflow. Można określić ścieżkę systemu plików DBFS, ale w tym przypadku zestaw danych nie dziedziczy uprawnień dostępu eksperymentu automatycznego uczenia maszynowego.

Uruchamianie eksperymentu i monitorowanie wyników

Aby rozpocząć eksperyment automl, kliknij przycisk Uruchom rozwiązanie AutoML. Eksperyment rozpoczyna się od uruchomienia, a zostanie wyświetlona strona trenowania zautomatyzowanego uczenia maszynowego. Aby odświeżyć tabelę przebiegów, kliknij pozycję Przycisk Odśwież.

Z poziomu tej strony można:

  • Zatrzymaj eksperyment w dowolnym momencie.
  • Otwórz notes eksploracji danych.
  • Monitorowanie przebiegów.
  • Przejdź do strony uruchamiania dla dowolnego przebiegu.

W przypadku środowiska Databricks Runtime 10.1 ML lub nowszego rozwiązanie AutoML wyświetla ostrzeżenia dotyczące potencjalnych problemów z zestawem danych, takich jak nieobsługiwane typy kolumn lub kolumny o wysokiej kardynalności.

Uwaga

Usługa Databricks najlepiej wskazuje potencjalne błędy lub problemy. Jednak może to nie być kompleksowe i może nie przechwytywać problemów lub błędów, które mogą być wyszukiwane.

Aby wyświetlić wszelkie ostrzeżenia dotyczące zestawu danych, kliknij kartę Ostrzeżenia na stronie trenowania lub na stronie eksperymentu po zakończeniu eksperymentu.

Ostrzeżenia dotyczące automatycznego uczenia maszynowego

Po zakończeniu eksperymentu można wykonać następujące czynności:

  • Zarejestruj i wdróż jeden z modeli za pomocą biblioteki MLflow.
  • Wybierz pozycję Wyświetl notes, aby uzyskać najlepszy model , aby przejrzeć i edytować notes, który utworzył najlepszy model.
  • Wybierz pozycję Wyświetl notes eksploracji danych, aby otworzyć notes eksploracji danych.
  • Wyszukiwanie, filtrowanie i sortowanie przebiegów w tabeli przebiegów.
  • Zobacz szczegóły dotyczące dowolnego przebiegu:
    • Wygenerowany notes zawierający kod źródłowy dla przebiegu w wersji próbnej można znaleźć, klikając w przebiegu platformy MLflow. Notes jest zapisywany w sekcji Artefakty na stronie uruchamiania. Możesz pobrać ten notes i zaimportować go do obszaru roboczego, jeśli pobieranie artefaktów jest włączone przez administratorów obszaru roboczego.
    • Aby wyświetlić wyniki przebiegu, kliknij kolumnę Modele lub kolumnę Godzina rozpoczęcia. Zostanie wyświetlona strona uruchamiania zawierająca informacje o przebiegu próbnym (takim jak parametry, metryki i tagi) oraz artefakty utworzone przez przebieg, w tym model. Ta strona zawiera również fragmenty kodu, których można użyć do przewidywania modelu.

Aby powrócić do tego eksperymentu automatycznego uczenia maszynowego później, znajdź go w tabeli na stronie Eksperymenty. Wyniki każdego eksperymentu zautomatyzowanego uczenia maszynowego, w tym notesów eksploracji i trenowania danych, są przechowywane w databricks_automl folderze głównym użytkownika, który przeprowadził eksperyment.

Rejestrowanie i wdrażanie modelu

Model można zarejestrować i wdrożyć za pomocą interfejsu użytkownika rozwiązania AutoML:

  1. Wybierz link w kolumnie Modele dla modelu do zarejestrowania. Po zakończeniu przebiegu górny wiersz jest najlepszym modelem (na podstawie metryki podstawowej).
  2. Wybierz Przycisk zarejestruj model , aby zarejestrować model w rejestrze modeli.
  3. Wybierz pozycję Ikona Modele Modele na pasku bocznym, aby przejść do rejestru modeli.
  4. Wybierz nazwę modelu w tabeli modelu.
  5. Na stronie zarejestrowanego modelu można udostępnić model z obsługą modelu.

Brak modułu o nazwie "pandas.core.indexes.numeric"

Podczas obsługi modelu utworzonego przy użyciu rozwiązania AutoML z obsługą modelu może wystąpić błąd: No module named 'pandas.core.indexes.numeric.

Jest to spowodowane niezgodną pandas wersją między rozwiązaniem AutoML a modelem obsługującym środowisko punktu końcowego. Ten błąd można rozwiązać, uruchamiając skrypt add-pandas-dependency.py. Skrypt edytuje element requirements.txt i conda.yaml dla zarejestrowanego modelu, aby zawierał odpowiednią pandas wersję zależności: pandas==1.5.3

  1. Zmodyfikuj skrypt, aby uwzględnić run_id przebieg MLflow, w którym zarejestrowano model.
  2. Ponowne zarejestrowanie modelu w rejestrze modeli MLflow.
  3. Spróbuj użyć nowej wersji modelu MLflow.