Sady prostředků Databricks pro zásobníky MLOps
K vytvoření zásobníků MLOps v Databricks můžete použít sady prostředků Databricks, rozhraní příkazového řádku Databricks a úložiště Databricks MLOps Stack na GitHubu. 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, co 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, 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í U2M (user-to-machine) OAuth a odpovídající konfigurační profil Azure Databricks s názvem DEFAULT
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 doporučuje Databricks místo toho použít ověřování M2M (machine-to-machine). Viz pokyny k nastavení ověřování M2M v části Ověřování.
Pomocí rozhraní příkazového řádku Databricks zahajte správu tokenů OAuth místně spuštěním následujícího příkazu pro každý cílový pracovní prostor.
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.Pokud chcete získat seznam všech existujících profilů, v samostatném terminálu nebo příkazovém řádku spusťte příkaz
databricks auth profiles
pomocí rozhraní příkazového řádku Databricks . 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--host
společně možnosti a-p
pomoct rozhraní příkazového řádku Databricks najít správné odpovídající informace o 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 Goal Dokumenty Uživatelé tohoto úložiště poprvé Principy kanálu ML a struktury 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ů mapování v deklaraci experimentu odpovídají datové části požadavku operace vytvoření experimentu definované v POST /api/2.0/mlflow/experiments/create v odkazu na rozhraní REST API vyjádřené ve formátu YAML.
Pro přizpůsobení úloh mapování v deklaraci úlohy odpovídají datové části požadavku operace vytvoření, jak je definováno v POST /api/2.1/jobs/create v odkazu na rozhraní REST API vyjádřené ve formátu YAML.
Tip
Nastavení nových clusterů úloh v balíčcích můžete definovat, kombinovat a přepsat pomocí technik popsaných v nastavení clusteru v sadě prostředků Databricks.
Pro přizpůsobení modelů mapování v deklaraci modelu odpovídají datové části požadavku vytvoření operace modelu Unity Catalog definované 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 deklaraci kanálu odpovídají datové části požadavku operace vytvoření kanálu, jak je definováno v POST /api/2.0/pipelines v odkazu na 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ů.