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.
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 exempelhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
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 kommandotdatabricks auth env --profile <profile-name>
.I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.
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
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
Svara på anvisningarna på skärmen. Vägledning om hur du besvarar dessa frågor finns i Starta ett nytt projekt på Databricks 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.
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
, staging
eller 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 idatabricks.yml
filen där jobbet distribuerades, till exempeldev
,test
,staging
ellerprod
. - Ersätt
<job-name>
med namnet på jobbet i en av.yml
filerna i<project-name>/databricks-resources
, till exempelbatch_inference_job
,write_feature_table_job
ellermodel_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
, staging
eller prod
.
Svara på anvisningarna på skärmen för att bekräfta borttagningen av tidigare distribuerade resurser och artefakter.