Sdílet prostřednictvím


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

  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.

    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 profilespomocí rozhraní příkazového řádku Databricks . 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 --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

  1. Š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
    
  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 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, stagingnebo 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 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ů.