Deklarativní balíčky automatizace pro MLOps stacky

K vytvoření Databricks MLOps Stack můžete použít deklarativní balíčky automatizace, 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í. Viz Co jsou balíčky deklarativní automatizace?

Tady se dozvíte, jak vytvořit, nasadit a spustit projekt sady stacků MLOps.

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). Přečtěte si pokyny k nastavení ověřování M2M v tématu Autorizace přístupu instančního objektu k Azure Databricks pomocí OAuth.

  1. 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říklad https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. 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říkaz databricks auth env --profile <profile-name>.

  3. Ve webovém prohlížeči dokončete pokyny na obrazovce, abyste se přihlásili k pracovnímu prostoru Azure Databricks.

  4. 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

  1. K vytvoření počátečních souborů projektu MLOps Stacks použijte šablony balíčků . Začněte spuštěním následujícího příkazu:

    databricks bundle init mlops-stacks
    
  2. 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.

  3. 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ědci Začínáme psát kód ML pro úplně nový projekt <project-name>/README.md
    Datoví vědci 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ědci Ú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 souhlasí s datovou částí žádosti operace pro vytvoření experimentu, jak je definována v POST /api/2.0/mlflow/experiments/create v referenci na REST API, vyjádřenou ve formátu YAML.

    • Pro přizpůsobení úloh odpovídá mapování v deklaraci úlohy datové části požadavku operace vytvoření úlohy, vedené v POST /api/2.1/jobs/create v dokumentaci REST API, vyjádřené ve formátu YAML.

      Návod

      Nastavení nových clusterů úloh v balíčcích můžete definovat; kombinovat a přepsat pomocí technik popsaných v části Přepsání pomocí cílových nastavení.

    • 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í payloadu požadavku operace pro vytvoření kanálu, jak je definováno v POST /api/2.0/pipelines v referenci REST API a je vyjádřeno 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, stagingnebo prod.

Krok 5: Spuštění nasazené sady

Nasazené úlohy 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 souboru databricks.yml , do kterého byla úloha nasazena, například dev, test, stagingnebo prod.
  • Nahraďte <job-name> názvem úlohy v některém ze .yml souborů v souboru <project-name>/databricks-resources, například batch_inference_job, write_feature_table_jobnebo model_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, stagingnebo prod.

Odpovězte na výzvy na obrazovce, abyste potvrdili odstranění dříve nasazených prostředků a artefaktů.