Sady prostředků Databricks pro zásobníky MLOps
Sadu prostředků Databricks, rozhraní příkazového řádku Databricks a úložiště Databricks MLOps stacku na GitHubu můžete použít k vytvoření zásobníků MLOps. MlOps Stack je projekt MLOps v Azure Databricks, který se řídí osvědčenými postupy v produkčním prostředí. Podívejte se na jaké jsou sady prostředků Databricks?
Pokud chcete vytvořit, nasadit a spustit projekt MLOps Stacks, proveďte následující kroky:
Požadavky
- Ujistěte se, že cílový vzdálený pracovní prostor má povolené soubory pracovního prostoru. Podívejte se na co jsou soubory pracovního prostoru?
- Na vývojovém počítači se ujistěte, že je nainstalované rozhraní příkazového řádku Databricks verze 0.212.2 nebo vyšší. Pokud chcete zkontrolovat nainstalovanou verzi Rozhraní příkazového řádku Databricks, spusťte příkaz
databricks -v
. Pokud chcete aktualizovat verzi rozhraní příkazového řádku Databricks, přečtěte si téma Instalace nebo aktualizace rozhraní příkazového řádku Databricks. (Sady prostředků nefungují s rozhraním příkazového řádku Databricks verze 0.18 a novější.)
Krok 1: Nastavení ověřování
Nakonfigurujte rozhraní příkazového řádku Databricks pro ověřování.
Tento článek předpokládá, že chcete použít ověřování OAuth uživatele na stroj (U2M) a odpovídající konfigurační profil Azure Databricks s názvem DEFAULT
pro ověřování.
Poznámka:
Ověřování U2M je vhodné pro vyzkoušení těchto kroků v reálném čase. Pro plně automatizované pracovní postupy Databricks doporučuje místo toho použít ověřování OAuth typu stroj-stroj (M2M). Viz pokyny k nastavení ověřování M2M v části Ověřování.
Pomocí Databricks CLI spusťte místní správu tokenů OAuth tak, že pro každý cílový pracovní prostor použijete následující příkaz.
V následujícím příkazu nahraďte
<workspace-url>
adresou URL služby Azure Databricks pro jednotlivé pracovní prostory, napříkladhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
Rozhraní příkazového řádku Databricks vás vyzve k uložení informací, které jste zadali jako konfigurační profil Azure Databricks. Stisknutím klávesy
Enter
potvrďte navrhovaný název profilu nebo zadejte název nového nebo existujícího profilu. Všechny existující profily se stejným názvem se přepíšou informacemi, které jste zadali. Profily můžete použít k rychlému přepnutí kontextu ověřování napříč několika pracovními prostory.Seznam existujících profilů získáte tak, že v samostatném terminálu nebo příkazovém řádku použijete rozhraní příkazového řádku Databricks ke spuštění příkazu
databricks auth profiles
. Pokud chcete zobrazit existující nastavení konkrétního profilu, spusťte příkazdatabricks auth env --profile <profile-name>
.Ve webovém prohlížeči dokončete pokyny na obrazovce, abyste se přihlásili k pracovnímu prostoru Azure Databricks.
Pokud chcete zobrazit aktuální hodnotu tokenu OAuth profilu a nadcházející časové razítko vypršení platnosti tokenu, spusťte jeden z následujících příkazů:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Pokud máte více profilů se stejnou
--host
hodnotou, možná budete muset zadat možnosti--host
a-p
společně, abyste pomohli rozhraní příkazového řádku služby Databricks najít správné informace o odpovídajícím tokenu OAuth.
Krok 2: Vytvoření projektu sady
Šablony sady prostředků Databricks slouží k vytvoření počátečních souborů projektu MLOps Stacks. Začněte spuštěním následujícího příkazu:
databricks bundle init mlops-stacks
Odpovězte na výzvy na obrazovce. Pokyny k zodpovězení těchto výzev najdete v tématu Zahájení nového projektu v úložišti Databricks MLOps Stacks na GitHubu.
První výzva nabízí možnost nastavení komponent kódu ML, komponent CI/CD nebo obojího. Tato možnost zjednodušuje počáteční nastavení, protože se můžete rozhodnout vytvořit pouze ty komponenty, které jsou okamžitě relevantní. (Pokud chcete nastavit ostatní komponenty, spusťte znovu inicializační příkaz.) Vyberte jednu z následujících možností:
-
CICD_and_Project
(výchozí) – Nastavte kód ML i komponenty CI/CD. -
Project_Only
– Nastavte pouze komponenty kódu ML. Tato možnost je určená pro datové vědce, aby mohli začít. -
CICD_Only
– Nastavte pouze komponenty CI/CD. Tato možnost je určená pro techniky STROJOVÉho učení k nastavení infrastruktury.
Jakmile odpovíte na všechny výzvy na obrazovce, šablona vytvoří počáteční soubory projektu MLOps Stacks a přidá je do aktuálního pracovního adresáře.
-
Podle potřeby přizpůsobte počáteční soubory projektu MLOps Stacks. Postupujte podle pokynů v následujících souborech v rámci nového projektu:
Role Cíl Dokumenty Uživatelé tohoto úložiště poprvé Pochopte pipeline ML a strukturu kódu v tomto úložišti. README.md
Datový vědec Začínáme psát kód ML pro úplně nový projekt <project-name>/README.md
Datový vědec Aktualizace produkčního kódu ML (například logiky trénování modelu) pro existující projekt docs/ml-pull-request.md
Datový vědec Úprava prostředků ML produkčního modelu (například trénování modelu nebo úlohy odvozování) <project-name>/resources/README.md
MLOps / DevOps Nastavení CI/CD pro aktuální projekt ML docs/mlops-setup.md
Pro přizpůsobení experimentů odpovídá mapování v deklaraci experimentu datové části požadavku pro operaci vytvoření experimentu, jak je definováno v POST /api/2.0/mlflow/experiments/create v referenční příručce REST API, a to ve formátu YAML.
Pro přizpůsobení úloh odpovídají mapování v deklaraci úlohy datové části požadavku operace vytvoření úlohy, jak je definováno v POST /api/2.1/jobs/create v referenci REST API, a jsou vyjádřena ve formátu YAML.
Tip
Nastavení nových pracovních clusterů v balíčcích můžete definovat, přepsat a kombinovat pomocí technik popsaných v Přepsání nastavení clusteru v balíčcích prostředků Databricks.
Pro přizpůsobení modelů odpovídají mapování v deklaraci modelu datové části požadavku operace vytvoření modelu Unity Catalog, jak je definováno v POST /api/2.1/unity-catalog/models v odkazu na rozhraní REST API, vyjádřené ve formátu YAML.
Pro přizpůsobení kanálů mapování v rámci deklarace kanálu odpovídají požadavkovému datovému obsahu operace vytvoření kanálu, jak je definována jako POST /api/2.0/pipelines v referenci rozhraní REST API, vyjádřené ve formátu YAML.
Krok 3: Ověření projektu sady
Zkontrolujte, jestli je konfigurace sady platná. Provedete to spuštěním rozhraní příkazového řádku Databricks z kořenového adresáře projektu, kde se databricks.yml
nachází, následujícím způsobem:
databricks bundle validate
Pokud se vrátí souhrn konfigurace sady, ověření proběhlo úspěšně. Pokud se vrátí nějaké chyby, opravte chyby a opakujte tento krok.
Krok 4: Nasazení sady
Nasaďte prostředky a artefakty projektu do požadovaného vzdáleného pracovního prostoru. Provedete to spuštěním rozhraní příkazového řádku Databricks z kořenového adresáře projektu, kde se databricks.yml
nachází, následujícím způsobem:
databricks bundle deploy -t <target-name>
Nahraďte <target-name>
názvem požadovaného cíle v databricks.yml
souboru, například dev
, test
, staging
nebo prod
.
Krok 5: Spuštění nasazené sady
Nasazené úlohy Azure Databricks projektu se automaticky spouštějí podle předdefinovaných plánů. Pokud chcete nasazenou úlohu spustit okamžitě, spusťte rozhraní příkazového řádku Databricks z kořenového adresáře projektu, kde se databricks.yml
nachází, následujícím způsobem:
databricks bundle run -t <target-name> <job-name>
- Nahraďte
<target-name>
názvem požadovaného cíle v souborudatabricks.yml
, do kterého byla úloha nasazena, napříkladdev
,test
,staging
neboprod
. - Nahraďte
<job-name>
názvem úlohy v některém ze.yml
souborů v souboru<project-name>/databricks-resources
, napříkladbatch_inference_job
,write_feature_table_job
nebomodel_training_job
.
Zobrazí se odkaz na úlohu Azure Databricks, kterou můžete zkopírovat do webového prohlížeče a otevřít ji v uživatelském rozhraní Azure Databricks.
Krok 6: Odstranění nasazené sady (volitelné)
Pokud je už nepotřebujete, odstraňte prostředky a artefakty nasazeného projektu, spusťte rozhraní příkazového řádku Databricks z kořenového adresáře projektu, kde databricks.yml
se nachází, následujícím způsobem:
databricks bundle destroy -t <target-name>
Nahraďte <target-name>
názvem požadovaného cíle v databricks.yml
souboru, například dev
, test
, staging
nebo prod
.
Odpovězte na výzvy na obrazovce, abyste potvrdili odstranění dříve nasazených prostředků a artefaktů.