Databricks-tillgångspaket för MLOps Stacks

Du kan använda Databricks Asset Bundles, Databricks CLI och Databricks MLOps Stack-lagringsplatsen på GitHub för att skapa MLOps Stacks. En MLOps Stack är ett MLOps-projekt på Azure Databricks som följer bästa praxis för produktion direkt. Se Vad är Databricks-tillgångspaket?.

Utför följande steg för att skapa, distribuera och köra ett MLOps Stacks-projekt:

Krav

  • Kontrollera att målarbetsytan för fjärrarbetsytan har aktiverat arbetsytefiler. Se Vad är arbetsytefiler?.
  • På utvecklingsdatorn kontrollerar du att Databricks CLI version 0.212.2 eller senare är installerad. Om du vill kontrollera din installerade Databricks CLI-version kör du kommandot databricks -v. Information om hur du uppdaterar din Databricks CLI-version finns i Installera eller uppdatera Databricks CLI. (Paket fungerar inte med Databricks CLI-versionerna 0.18 och senare.)

Steg 1: Konfigurera autentisering

Konfigurera Databricks CLI för autentisering.

Den här artikeln förutsätter att du vill använda U2M-autentisering (OAuth user-to-machine) och en motsvarande Azure Databricks-konfigurationsprofil med namnet DEFAULT för autentisering.

Kommentar

U2M-autentisering är lämpligt för att prova de här stegen i realtid. För helt automatiserade arbetsflöden rekommenderar Databricks att du använder M2M-autentisering (machine-to-machine) för OAuth i stället. Se installationsinstruktionerna för M2M-autentisering i Autentisering.

  1. Använd Databricks CLI för att initiera OAuth-tokenhantering lokalt genom att köra följande kommando för varje målarbetsyta.

    I följande kommando ersätter du <workspace-url> med url:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI uppmanar dig att spara den information som du angav som en Azure Databricks-konfigurationsprofil. Tryck Enter för att acceptera det föreslagna profilnamnet eller ange namnet på en ny eller befintlig profil. Alla befintliga profiler med samma namn skrivs över med den information som du angav. Du kan använda profiler för att snabbt växla autentiseringskontext över flera arbetsytor.

    Om du vill hämta en lista över befintliga profiler i en separat terminal eller kommandotolk använder du Databricks CLI för att köra kommandot databricks auth profiles. Om du vill visa en specifik profils befintliga inställningar kör du kommandot databricks auth env --profile <profile-name>.

  3. I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.

  4. Om du vill visa en profils aktuella OAuth-tokenvärde och tokens kommande förfallotidsstämpel kör du något av följande kommandon:

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

    Om du har flera profiler med samma --host värde kan du behöva ange --host alternativen och -p tillsammans för att hjälpa Databricks CLI att hitta rätt matchande OAuth-tokeninformation.

Steg 2: Skapa paketprojektet

  1. Använd Databricks Asset Bundle-mallar för att skapa mlOps Stacks-projektets startfiler. Det gör du genom att börja med att köra följande kommando:

    databricks bundle init mlops-stacks
    
  2. Svara på anvisningarna på skärmen. Vägledning om hur du besvarar dessa frågor finns i Starta ett nytt projektDatabricks MLOps Stacks-lagringsplatsen på GitHub.

    Den första prompten erbjuder alternativet att konfigurera ML-kodkomponenterna, CI/CD-komponenterna eller båda. Det här alternativet förenklar den inledande installationen eftersom du kan välja att endast skapa de komponenter som är direkt relevanta. (Om du vill konfigurera de andra komponenterna kör du initieringskommandot igen.) Välj något av följande:

    • CICD_and_Project (standard) – Konfigurera både ML-kod och CI/CD-komponenter.
    • Project_Only – Konfigurera endast ML-kodkomponenter. Det här alternativet är att dataexperter kommer igång.
    • CICD_Only – Konfigurera CI/CD-komponenter endast. Det här alternativet är att ML-tekniker konfigurerar infrastruktur.

    När du har besvarat alla frågor på skärmen skapar mallen startfilerna för mlOps Stacks-projektet och lägger till dem i den aktuella arbetskatalogen.

  3. Anpassa mlOps Stacks-projektets startfiler efter behov. Det gör du genom att följa anvisningarna i följande filer i det nya projektet:

    Roll Goal Dokument
    Förstagångsanvändare av den här lagringsplatsen Förstå ML-pipelinen och kodstrukturen på den här lagringsplatsen README.md
    Datavetare Kom igång skriva ML-kod för ett helt nytt projekt <project-name>/README.md
    Datavetare Uppdatera ML-kod för produktion (till exempel modellträningslogik) för ett befintligt projekt docs/ml-pull-request.md
    Datavetare Ändra ML-resurser för produktionsmodell (till exempel modelltränings- eller slutsatsdragningsjobb) <project-name>/resources/README.md
    MLOps/DevOps Konfigurera CI/CD för det aktuella ML-projektet docs/mlops-setup.md
    • För att anpassa experiment motsvarar mappningarna i en experimentdeklaration den nyttolast för att skapa experimentet som definierats i POST /api/2.0/mlflow/experiment/create i REST API-referensen, uttryckt i YAML-format.

    • När det gäller att anpassa jobb motsvarar mappningarna i en jobbdeklaration jobbåtgärdens nyttolast för begäran enligt definitionen i POST /api/2.1/jobs/create i REST API-referensen, uttryckt i YAML-format.

      Dricks

      Du kan definiera, kombinera och åsidosätta inställningarna för nya jobbkluster i paket med hjälp av de tekniker som beskrivs i Åsidosätt klusterinställningar i Databricks-tillgångspaket.

    • För att anpassa modeller motsvarar mappningarna i en modelldeklaration enhetskatalogmodellåtgärdens nyttolast för begäran enligt definitionen i POST /api/2.1/unity-catalog/models i REST API-referensen, uttryckt i YAML-format.

    • För att anpassa pipelines motsvarar mappningarna i en pipelinedeklaration den skapa pipeline-åtgärdens nyttolast för begäran enligt definitionen i POST /api/2.0/pipelines i REST API-referensen, uttryckt i YAML-format.

Steg 3: Verifiera paketprojektet

Kontrollera om paketkonfigurationen är giltig. Det gör du genom att köra Databricks CLI från projektets rot, där databricks.yml finns, enligt följande:

databricks bundle validate

Om en sammanfattning av paketkonfigurationen returneras lyckades verifieringen. Om några fel returneras åtgärdar du felen och upprepar sedan det här steget.

Steg 4: Distribuera paketet

Distribuera projektets resurser och artefakter till önskad fjärrarbetsyta. Det gör du genom att köra Databricks CLI från projektets rot, där databricks.yml finns, enligt följande:

databricks bundle deploy -t <target-name>

Ersätt <target-name> med namnet på det önskade målet i databricks.yml filen, till exempel dev, test, stagingeller prod.

Steg 5: Kör det distribuerade paketet

Projektets distribuerade Azure Databricks-jobb körs automatiskt enligt deras fördefinierade scheman. Om du vill köra ett distribuerat jobb omedelbart kör du Databricks CLI från projektets rot, där databricks.yml finns, enligt följande:

databricks bundle run -t <target-name> <job-name>
  • Ersätt <target-name> med namnet på det önskade målet i databricks.yml filen där jobbet distribuerades, till exempel dev, test, stagingeller prod.
  • Ersätt <job-name> med namnet på jobbet i en av .yml filerna i <project-name>/databricks-resources, till exempel batch_inference_job, write_feature_table_jobeller model_training_job.

En länk till Azure Databricks-jobbet visas, som du kan kopiera till webbläsaren för att öppna jobbet i Azure Databricks-användargränssnittet.

Steg 6: Ta bort det distribuerade paketet (valfritt)

Om du vill ta bort ett distribuerat projekts resurser och artefakter om du inte längre behöver dem kör du Databricks CLI från projektets rot, där databricks.yml finns, enligt följande:

databricks bundle destroy -t <target-name>

Ersätt <target-name> med namnet på det önskade målet i databricks.yml filen, till exempel dev, test, stagingeller prod.

Svara på anvisningarna på skärmen för att bekräfta borttagningen av tidigare distribuerade resurser och artefakter.