Udostępnij za pośrednictwem


Pakiety zasobów usługi Databricks dla stosów MLOps

Możesz użyć pakietów zasobów usługi Databricks, interfejsu wiersza polecenia usługi Databricks i repozytorium stosu MLOps usługi Databricks w usłudze GitHub, aby utworzyć stosy MLOps. Stos MLOps to projekt MLOps w usłudze Azure Databricks, który jest zgodny z najlepszymi rozwiązaniami produkcyjnymi. Zobacz Co to są pakiety zasobów usługi Databricks?.

Aby utworzyć, wdrożyć i uruchomić projekt stosów MLOps, wykonaj następujące kroki:

Wymagania

  • Upewnij się, że docelowy zdalny obszar roboczy ma włączone pliki obszaru roboczego. Zobacz Co to są pliki obszaru roboczego?.
  • Na komputerze deweloperskim upewnij się, że zainstalowano interfejs wiersza polecenia usługi Databricks w wersji 0.212.2 lub nowszej. Aby sprawdzić zainstalowaną wersję interfejsu wiersza polecenia usługi Databricks, uruchom polecenie databricks -v. Aby zaktualizować wersję interfejsu wiersza polecenia usługi Databricks, zobacz Instalowanie lub aktualizowanie interfejsu wiersza polecenia usługi Databricks. (Pakiety nie działają z interfejsem wiersza polecenia usługi Databricks w wersji 0.18 lub nowszej).

Krok 1. Konfigurowanie uwierzytelniania

Skonfiguruj interfejs wiersza polecenia usługi Databricks na potrzeby uwierzytelniania.

W tym artykule założono, że chcesz użyć uwierzytelniania użytkownika do komputera (U2M) OAuth i odpowiedniego profilu konfiguracji usługi Azure Databricks o nazwie DEFAULT na potrzeby uwierzytelniania.

Uwaga

Uwierzytelnianie U2M jest odpowiednie do wypróbowanie tych kroków w czasie rzeczywistym. W przypadku w pełni zautomatyzowanych przepływów pracy usługa Databricks zaleca zamiast tego użycie uwierzytelniania maszynowego do maszyny OAuth (M2M). Zobacz instrukcje dotyczące konfigurowania uwierzytelniania M2M w temacie Uwierzytelnianie.

  1. Użyj interfejsu wiersza polecenia usługi Databricks, aby lokalnie zainicjować zarządzanie tokenami OAuth, uruchamiając następujące polecenie dla każdego docelowego obszaru roboczego.

    W poniższym poleceniu zastąp ciąg <workspace-url> adresem URL usługi Azure Databricks na obszar roboczy, na przykład https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Interfejs wiersza polecenia usługi Databricks monituje o zapisanie informacji wprowadzonych jako profil konfiguracji usługi Azure Databricks. Naciśnij Enter , aby zaakceptować sugerowaną nazwę profilu lub wprowadź nazwę nowego lub istniejącego profilu. Każdy istniejący profil o tej samej nazwie zostanie zastąpiony wprowadzonymi informacjami. Profile umożliwiają szybkie przełączanie kontekstu uwierzytelniania między wieloma obszarami roboczymi.

    Aby uzyskać listę wszystkich istniejących profilów, w osobnym terminalu lub wierszu polecenia użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić polecenie databricks auth profiles. Aby wyświetlić istniejące ustawienia określonego profilu, uruchom polecenie databricks auth env --profile <profile-name>.

  3. W przeglądarce internetowej wykonaj instrukcje na ekranie, aby zalogować się do obszaru roboczego usługi Azure Databricks.

  4. Aby wyświetlić bieżącą wartość tokenu OAuth profilu i zbliżający się znacznik czasu wygaśnięcia tokenu, uruchom jedno z następujących poleceń:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Jeśli masz wiele profilów o tej samej --host wartości, może być konieczne określenie --host opcji i -p , aby ułatwić interfejsowi wiersza polecenia usługi Databricks znalezienie prawidłowych pasujących informacji o tokenie OAuth.

Krok 2. Tworzenie projektu pakietu

  1. Użyj szablonów pakietu zasobów usługi Databricks, aby utworzyć pliki początkowe projektu MLOps Stacks. Aby to zrobić, zacznij od uruchomienia następującego polecenia:

    databricks bundle init mlops-stacks
    
  2. Odpowiedz na monity wyświetlane na ekranie. Aby uzyskać wskazówki dotyczące odpowiadania na te monity, zobacz Start a new project in the Databricks MLOps Stacks repository on GitHub (Rozpoczynanie nowego projektu w repozytorium stosów MLOps usługi Databricks w usłudze GitHub).

    Pierwszy monit zawiera opcję konfigurowania składników kodu uczenia maszynowego, składników ciągłej integracji/ciągłego wdrażania lub obu tych składników. Ta opcja upraszcza początkową konfigurację, ponieważ można utworzyć tylko te składniki, które są natychmiast istotne. (Aby skonfigurować inne składniki, uruchom ponownie polecenie inicjowania). Wybierz jedną z następujących pozycji:

    • CICD_and_Project (ustawienie domyślne) — skonfiguruj zarówno kod uczenia maszynowego, jak i składniki ciągłej integracji/ciągłego wdrażania.
    • Project_Only - Konfigurowanie tylko składników kodu uczenia maszynowego. Ta opcja umożliwia analitykom danych rozpoczęcie pracy.
    • CICD_Only - Skonfiguruj tylko składniki ciągłej integracji/ciągłego wdrażania. Ta opcja jest dostępna dla inżynierów uczenia maszynowego w celu skonfigurowania infrastruktury.

    Po udzieleniu odpowiedzi na wszystkie monity wyświetlane na ekranie szablon tworzy pliki początkowe projektu MLOps Stacks i dodaje je do bieżącego katalogu roboczego.

  3. Dostosuj pliki początkowe projektu MLOps Stacks zgodnie z potrzebami. Aby to zrobić, postępuj zgodnie ze wskazówkami w następujących plikach w nowym projekcie:

    Rola Goal Dokumenty
    Użytkownicy tego repozytorium po raz pierwszy Omówienie struktury potoku i kodu uczenia maszynowego w tym repozytorium README.md
    Analityk danych Wprowadzenie do pisania kodu uczenia maszynowego dla zupełnie nowego projektu <project-name>/README.md
    Analityk danych Aktualizowanie produkcyjnego kodu uczenia maszynowego (na przykład logiki trenowania modelu) dla istniejącego projektu docs/ml-pull-request.md
    Analityk danych Modyfikowanie zasobów uczenia maszynowego modelu produkcyjnego (na przykład trenowanie modelu lub zadania wnioskowania) <project-name>/resources/README.md
    Metodyka MLOps/DevOps Konfigurowanie ciągłej integracji/ciągłego wdrażania dla bieżącego projektu uczenia maszynowego docs/mlops-setup.md
    • W przypadku dostosowywania eksperymentów mapowania w deklaracji eksperymentu odpowiadają ładunkowi żądania operacji tworzenia eksperymentu zgodnie z definicją w pliku POST /api/2.0/mlflow/experiments/create w odwołaniu interfejsu API REST wyrażonym w formacie YAML.

    • W przypadku dostosowywania zadań mapowania w deklaracji zadania odpowiadają ładunkowi żądania operacji tworzenia zadania zgodnie z definicją w pliku POST /api/2.1/jobs/create w odwołaniu interfejsu API REST wyrażonym w formacie YAML.

      Napiwek

      Ustawienia nowych klastrów zadań w pakietach można definiować, łączyć i zastępować przy użyciu technik opisanych w temacie Zastępowanie ustawień klastra w pakietach zasobów usługi Databricks.

    • W przypadku dostosowywania modeli mapowania w deklaracji modelu odpowiadają ładunkowi żądania operacji tworzenia modelu wykazu aparatu Unity zgodnie z definicją w pliku POST /api/2.1/unity-catalog/models w odwołaniu interfejsu API REST wyrażonym w formacie YAML.

    • W przypadku dostosowywania potoków mapowania w deklaracji potoku odpowiadają ładunkowi żądania operacji tworzenia potoku zgodnie z definicją w pliku POST /api/2.0/pipelines w odwołaniu interfejsu API REST wyrażonym w formacie YAML.

Krok 3. Weryfikowanie projektu pakietu

Sprawdź, czy konfiguracja pakietu jest prawidłowa. W tym celu uruchom interfejs wiersza polecenia usługi Databricks z katalogu głównego projektu, w którym databricks.yml znajduje się obiekt , w następujący sposób:

databricks bundle validate

Jeśli zostanie zwrócone podsumowanie konfiguracji pakietu, walidacja zakończyła się pomyślnie. Jeśli zostaną zwrócone jakiekolwiek błędy, napraw błędy, a następnie powtórz ten krok.

Krok 4. Wdrażanie pakietu

Wdróż zasoby i artefakty projektu w żądanym zdalnym obszarze roboczym. W tym celu uruchom interfejs wiersza polecenia usługi Databricks z katalogu głównego projektu, w którym databricks.yml znajduje się obiekt , w następujący sposób:

databricks bundle deploy -t <target-name>

Zastąp <target-name> ciąg nazwą żądanego obiektu docelowego w databricks.yml pliku, na przykład dev, test, staginglub prod.

Krok 5. Uruchamianie wdrożonego pakietu

Wdrożone zadania usługi Azure Databricks projektu są automatycznie uruchamiane zgodnie ze wstępnie zdefiniowanymi harmonogramami. Aby natychmiast uruchomić wdrożone zadanie, uruchom interfejs wiersza polecenia usługi Databricks z katalogu głównego projektu, w którym databricks.yml znajduje się obiekt , w następujący sposób:

databricks bundle run -t <target-name> <job-name>
  • Zastąp <target-name> ciąg nazwą żądanego obiektu docelowego w databricks.yml pliku, w którym zostało wdrożone zadanie, na przykład dev, test, staginglub prod.
  • Zastąp <job-name> ciąg nazwą zadania w jednym z .yml plików w <project-name>/databricks-resourcespliku , na przykład batch_inference_job, write_feature_table_joblub model_training_job.

Zostanie wyświetlony link do zadania usługi Azure Databricks, który można skopiować do przeglądarki internetowej, aby otworzyć zadanie w interfejsie użytkownika usługi Azure Databricks.

Krok 6. Usuwanie wdrożonego pakietu (opcjonalnie)

Aby usunąć zasoby i artefakty wdrożonego projektu, jeśli nie są już potrzebne, uruchom interfejs wiersza polecenia usługi Databricks z katalogu głównego projektu, w którym databricks.yml znajduje się obiekt , w następujący sposób:

databricks bundle destroy -t <target-name>

Zastąp <target-name> ciąg nazwą żądanego obiektu docelowego w databricks.yml pliku, na przykład dev, test, staginglub prod.

Odpowiedz na monity wyświetlane na ekranie, aby potwierdzić usunięcie wcześniej wdrożonych zasobów i artefaktów.