Sdílet prostřednictvím


Správa výpočetní relace toku výzvy v studio Azure Machine Learning

Výpočetní relace toku výzvy poskytuje výpočetní prostředky potřebné ke spuštění aplikace, včetně image Dockeru, která obsahuje všechny nezbytné balíčky závislostí. Toto spolehlivé a škálovatelné prostředí umožňuje toku výzvy k efektivnímu provádění úloh a funkcí pro bezproblémové uživatelské prostředí.

Oprávnění a role pro správu výpočetních relací

Pokud chcete přiřadit role, musíte mít owner k prostředku oprávnění.Microsoft.Authorization/roleAssignments/write

Pro uživatele výpočetní relace přiřaďte AzureML Data Scientist roli v pracovním prostoru. Další informace najdete v tématu Správa přístupu k pracovnímu prostoru Azure Machine Učení.

Může trvat několik minut, než se přiřazení role projeví.

Spuštění výpočetní relace v nástroji Studio

Než použijete studio Azure Machine Learning ke spuštění výpočetní relace, ujistěte se, že:

  • V pracovním prostoru máte AzureML Data Scientist roli.
  • Výchozím úložištěm dat (obvykle workspaceblobstore) v pracovním prostoru je typ objektu blob.
  • Pracovní adresář (workspaceworkingdirectory) existuje v pracovním prostoru.
  • Pokud pro tok výzvy používáte virtuální síť, rozumíte aspektům izolace sítě v toku výzvy.

Spuštění výpočetní relace na stránce toku

Jeden tok je svázán s jednou výpočetní relací. Výpočetní relaci můžete spustit na stránce toku.

  • Vyberte Spustit. Spusťte výpočetní relaci pomocí prostředí definovaného ve flow.dag.yaml složce toku a běží na velikosti virtuálního počítače bezserverového výpočetního prostředí, které máte v pracovním prostoru dostatečnou kvótu.

    Snímek obrazovky s tokem výzvy s výchozím nastavením pro spuštění výpočetní relace na stránce toku

  • Vyberte Začít s rozšířenými nastaveními. V upřesňujícím nastavení můžete:

    • Vyberte typ výpočetních prostředků. Můžete si vybrat mezi výpočetními prostředky bez serveru a výpočetní instancí.
      • Pokud zvolíte výpočetní prostředky bez serveru, můžete nastavit následující nastavení:

        • Přizpůsobte velikost virtuálního počítače, kterou používá výpočetní relace. Opt for VM series D and above. Další informace najdete v části o podporovaných řadách a velikostech virtuálních počítačů.
        • Přizpůsobte dobu nečinnosti, která odstraní výpočetní relaci automaticky, pokud se nějakou dobu nepoužívá.
        • Nastavte spravovanou identitu přiřazenou uživatelem. Výpočetní relace používá tuto identitu k vyžádání základní image, ověřování pomocí připojení a instalačních balíčků. Ujistěte se, že spravovaná identita přiřazená uživatelem má dostatečná oprávnění. Pokud tuto identitu nenastavíte, použijeme ve výchozím nastavení identitu uživatele.

        Snímek obrazovky s tokem výzvy s pokročilým nastavením využívajícím bezserverové výpočetní prostředky pro spuštění výpočetní relace na stránce toku

        az ml workspace update -f workspace_update_with_multiple_UAIs.yml --subscription <subscription ID> --resource-group <resource group name> --name <workspace name>
        

        Pokud je obsah workspace_update_with_multiple_UAIs.yml následující:

        identity:
           type: system_assigned, user_assigned
           user_assigned_identities:
            '/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<uai_name>': {}
            '<UAI resource ID 2>': {}
        

        Tip

        Pro přístup k datům přidruženým k prostředkům přidruženým k pracovnímu prostoru Azure Machine Učení se vyžadují následující přiřazení rolí Azure RBAC pro vaši spravovanou identitu přiřazenou uživatelem.

        Prostředek Oprávnění
        Pracovní prostor služby Azure Machine Learning Přispěvatel
        Azure Storage Přispěvatel (rovina řízení) + Přispěvatel dat objektů blob služby Storage + Privilegovaný přispěvatel dat souboru úložiště (rovina dat, využití konceptu toku ve sdílené složce a data v objektu blob)
        Azure Key Vault (při použití modelu oprávnění RBAC) Přispěvatel (řídicí rovina) + key Vault Správa istrator (rovina dat)
        Azure Key Vault (při použití modelu oprávnění zásad přístupu) Přispěvatel + všechna oprávnění zásad přístupu kromě operací vymazání
        Azure Container Registry Přispěvatel
        Azure Application Insights Přispěvatel
      • Pokud jako typ výpočetních prostředků zvolíte výpočetní instanci, můžete nastavit jenom dobu nečinnosti.

        • Když běží na existující výpočetní instanci, je velikost virtuálního počítače pevná a nemůže se změnit na straně relace.

        • Identita používaná pro tuto relaci je také definována ve výpočetní instanci, ve výchozím nastavení používá identitu uživatele. Další informace o přiřazování identity k výpočetní instanci

        • Pro dobu nečinnosti se používá k definování životního cyklu výpočetní relace, pokud je relace nečinná po dobu, kterou nastavíte, se automaticky odstraní. A u výpočetní instance máte povolené vypnutí nečinnosti a pak se projeví na úrovni výpočetních prostředků.

          Snímek obrazovky s tokem výzvy s pokročilým nastavením pomocí výpočetní instance pro spuštění výpočetní relace na stránce toku

        • Další informace o vytváření a správě výpočetní instance

Použití výpočetní relace k odeslání spuštění toku v rozhraní příkazového řádku nebo sadě SDK

Kromě studia můžete také při odesílání spuštění toku zadat výpočetní relaci v rozhraní příkazového řádku nebo sadě SDK.

V části prostředku můžete také zadat typ instance nebo název výpočetní instance. Pokud nezadáte typ instance nebo název výpočetní instance, azure machine Učení zvolí typ instance (velikost virtuálního počítače) na základě faktorů, jako je kvóta, náklady, výkon a velikost disku. Přečtěte si další informace o výpočetních prostředcích bez serveru.

$schema: https://azuremlschemas.azureedge.net/promptflow/latest/Run.schema.json
flow: <path_to_flow>
data: <path_to_flow>/data.jsonl

# specify identity used by serverless compute.
# default value
# identity:
#   type: user_identity 

# use workspace first UAI
# identity:
#   type: managed
  
# use specified client_id's UAI
# identity:
#   type: managed
#   client_id: xxx

column_mapping:
  url: ${data.url}

# define cloud resource

resources:
  instance_type: <instance_type> # serverless compute type
  # compute: <compute_instance_name> # use compute instance as compute type

Odešlete toto spuštění prostřednictvím rozhraní příkazového řádku:

pfazure run create --file run.yml

Poznámka:

Nečinné vypnutí je jedna hodina, pokud k odeslání spuštění toku používáte rozhraní příkazového řádku nebo sady SDK. Pokud chcete uvolnit výpočetní prostředky, můžete přejít na stránku výpočetních prostředků.

Referenční soubory mimo složku toku

Někdy můžete chtít odkazovat na requirements.txt soubor, který je mimo složku toku. Můžete mít například složitý projekt, který zahrnuje více toků a sdílí stejný requirements.txt soubor. Uděláte to tak, že toto pole přidáte do pole additional_includesflow.dag.yaml. Hodnota tohoto pole je seznam relativní cesty k souboru nebo složce toku. Pokud je například requirements.txt v nadřazené složce složky toku, můžete do additional_includes pole přidat../requirements.txt.

inputs:
  question:
    type: string
outputs:
  output:
    type: string
    reference: ${answer_the_question_with_context.output}
environment:
  python_requirements_txt: requirements.txt
additional_includes:
  - ../requirements.txt
...

Soubor requirements.txt se zkopíruje do složky toku a použije ho ke spuštění výpočetní relace.

Aktualizace výpočetní relace na stránce toku studia

Na stránce toku můžete ke správě výpočetní relace použít následující možnosti:

  • Můžete změnit nastavení výpočetní relace, například velikost virtuálního počítače a spravovanou identitu přiřazenou uživatelem pro bezserverové výpočetní prostředky. Pokud používáte výpočetní instanci, můžete ji změnit tak, aby používala jinou instanci. Můžete také změnit
  • může také změnit spravovanou identitu přiřazenou uživatelem pro výpočetní prostředky bez serveru. Pokud změníte velikost virtuálního počítače, výpočetní relace se resetuje s novou velikostí virtuálního počítače. If you
  • Nainstalujte balíčky z requirements.txt Otevřít requirements.txt v uživatelském rozhraní toku výzvy, do něho můžete přidat balíčky.
  • Zobrazení nainstalovaných balíčků zobrazuje balíčky nainstalované v výpočetní relaci. Obsahuje balíčky, které se instalují do základní image a balíčků zadaných v requirements.txt souboru ve složce flow.
  • Resetování výpočetní relace odstraní aktuální výpočetní relaci a vytvoří novou relaci se stejným prostředím. Pokud narazíte na problém s konfliktem balíčku, můžete vyzkoušet tuto možnost.
  • Zastavení výpočetní relace odstraní aktuální výpočetní relaci. Pokud na podkladovém výpočetním prostředí není žádná aktivní výpočetní relace, odstraní se také bezserverový výpočetní prostředek.

Snímek obrazovky s akcemi výpočetní relace na stránce toku

Prostředí, které používáte ke spuštění tohoto toku, můžete také přizpůsobit přidáním balíčků do souboru do requirements.txt složky toku. Po přidání dalších balíčků do tohoto souboru můžete zvolit jednu z těchto možností:

  • Ve složce toku uložte a nainstalujte triggery pip install -r requirements.txt . V závislosti na nainstalovaných balíčcích může proces trvat několik minut.
  • Uložte soubor jenom tak, že requirements.txt soubor uložíte. Balíčky si můžete nainstalovat později sami.

Snímek obrazovky s možností uložit a nainstalovat balíčky pro výpočetní relaci na stránce toku

Poznámka:

Umístění a dokonce i název requirements.txtsouboru můžete změnit , ale nezapomeňte ho také změnit v flow.dag.yaml souboru ve složce toku.

Nepřipínejte verzi promptflow a promptflow-tools in requirements.txt, protože je už zahrneme do základní image relace.

requirements.txt nepodporuje soubory místních kol. Sestavte je v imagi a aktualizujte přizpůsobenou základní image v flow.dag.yamlsouboru . Přečtěte si další informace o tom, jak vytvořit vlastní základní image.

Přidání balíčků do privátního informačního kanálu v Azure DevOps

Pokud chcete použít privátní informační kanál v Azure DevOps, postupujte takto:

  1. Přiřaďte spravovanou identitu k pracovnímu prostoru nebo výpočetní instanci.

    1. Jako výpočetní relaci použijte bezserverové výpočetní prostředí, musíte přiřadit spravovanou identitu přiřazenou uživatelem k pracovnímu prostoru.

      1. Vytvořte spravovanou identitu přiřazenou uživatelem a přidejte ji do organizace Azure DevOps. Další informace najdete v tématu Použití instančních objektů a spravovaných identit.

        Poznámka:

        Pokud tlačítko Přidat uživatele není viditelné, pravděpodobně nemáte potřebná oprávnění k provedení této akce.

      2. Přidejte nebo aktualizujte identity přiřazené uživatelem do pracovního prostoru.

        Poznámka:

        Ujistěte se, že spravovaná identita přiřazená uživatelem je Microsoft.KeyVault/vaults/read v propojeném klíči pracovního prostoru.

    2. Jako výpočetní relaci použijte výpočetní instanci, musíte přiřadit spravovanou identitu přiřazenou uživatelem k výpočetní instanci.

  2. Přidejte {private} adresu URL privátního informačního kanálu. Pokud například chcete nainstalovat test_package z test_feed Azure DevOps, přidejte -i https://{private}@{test_feed_url_in_azure_devops} do requirements.txt:

    -i https://{private}@{test_feed_url_in_azure_devops}
    test_package
    
  3. Zadejte pomocí spravované identity přiřazené uživatelem v konfiguraci výpočetní relace.

    1. Pokud používáte bezserverové výpočetní prostředky, zadejte spravovanou identitu přiřazenou uživatelem v části Start s pokročilým nastavením , pokud není spuštěná výpočetní relace, nebo použijte tlačítko Změnit nastavení výpočetní relace, pokud je spuštěná výpočetní relace.

      Snímek obrazovky znázorňující přepínač pro použití spravované identity přiřazené uživatelem pracovního prostoru

    2. Pokud používáte výpočetní instanci, používá spravovanou identitu přiřazenou uživatelem, kterou jste přiřadili výpočetní instanci.

Poznámka:

Tento přístup se zaměřuje hlavně na rychlé testování ve fázi vývoje toku, pokud chcete tento tok nasadit také jako koncový bod, sestavte tento privátní informační kanál ve vaší imagi a aktualizujte si základní image v flow.dag.yaml. Další informace o sestavení vlastní základní image

Změna základní image pro výpočetní relaci

Ve výchozím nastavení používáme nejnovější základní image toku výzvy. Pokud chcete použít jinou základní image, můžete vytvořit vlastní image.

  • V sadě Studio můžete změnit základní image v nastavení základní image v nastavení výpočetní relace.

Snímek obrazovky se změnou základní image výpočetní relace na stránce toku

  • Můžete také zadat novou základní image environment v flow.dag.yaml souboru ve složce toku.

    Snímek obrazovky s akcemi pro přizpůsobení základní image pro výpočetní relaci na stránce toku

    environment:
        image: <your-custom-image>
        python_requirements_txt: requirements.txt
    

Pokud chcete použít novou základní image, musíte resetovat výpočetní relaci. Tento proces trvá několik minut, když načte novou základní image a přeinstaluje balíčky.

Správa bezserverové instance používané výpočetní relací

Pokud jako výpočetní relaci používáte bezserverové výpočetní prostředí, můžete spravovat bezserverovou instanci. Na stránce výpočetních prostředků zobrazte instanci bez serveru na kartě seznamu výpočetních relací.

Snímek obrazovky se seznamem bezserverové instance

Můžete také přistupovat k tokům a spuštěním spuštěným na výpočetních prostředcích na kartě Aktivní toky a spuštění . Odstranění instance má vliv na tok a běží na něm.

Snímek obrazovky se stránkou podrobností výpočetních prostředků bezserverové instance

Vztah mezi výpočetní relací, výpočetním prostředkem, tokem a uživatelem

  • Jeden uživatel může mít několik výpočetních prostředků (bezserverovou nebo výpočetní instanci). Vzhledem k různým potřebám může mít jeden uživatel více výpočetních prostředků. Jeden uživatel může mít například několik výpočetních prostředků s jinou velikostí virtuálního počítače nebo jinou spravovanou identitou přiřazenou uživatelem.
  • Jeden výpočetní prostředek může používat jenom jeden uživatel. Výpočetní prostředek se používá jako privátní vývojové pole jednoho uživatele. Stejný výpočetní prostředky nemůže sdílet více uživatelů.
  • Jeden výpočetní prostředek může hostovat několik výpočetních relací. Výpočetní relace je kontejner běžící na základním výpočetním prostředku. Například výzva k vytváření toků nepotřebuje příliš mnoho výpočetních prostředků, takže jeden výpočetní prostředek může hostovat několik výpočetních relací od stejného uživatele.
  • Jedna výpočetní relace patří pouze k jednomu výpočetnímu prostředku najednou. Výpočetní relaci ale můžete odstranit nebo zastavit a převést ji do jiného výpočetního prostředku.
  • Jeden tok může mít pouze jednu výpočetní relaci. Každý tok je samostatný a definuje základní image a požadované balíčky Pythonu ve složce toku pro výpočetní relaci.

Přepnutí modulu runtime na výpočetní relaci

Výpočetní relace mají oproti modulům runtime výpočetních instancí následující výhody:

  • Automatická správa životního cyklu relace a základního výpočetního prostředí Už je nemusíte vytvářet a spravovat ručně.
  • Balíčky můžete snadno přizpůsobit přidáním balíčků do souboru ve requirements.txt složce toku místo vytvoření vlastního prostředí.

Pomocí následujícího postupu přepněte modul runtime výpočetní instance na výpočetní relaci:

  • Připravte soubor requirements.txt ve složce flow. Ujistěte se, že jste nepřipnuli verzi promptflow a promptflow-tools in requirements.txt, protože jsme je už zahrnuli do základní image. Výpočetní relace nainstaluje balíčky do requirements.txt souboru při spuštění.
  • Pokud vytvoříte vlastní prostředí pro vytvoření modulu runtime výpočetní instance, můžete získat image ze stránky podrobností prostředí a zadat ji do flow.dag.yaml souboru ve složce toku. Další informace najdete v tématu Změna základní image pro výpočetní relaci. Ujistěte se, že v pracovním prostoru máte acr pull oprávnění k imagi vy nebo související spravovaná identita přiřazená uživatelem.

Snímek obrazovky s vyhledáním obrázku na stránce podrobností prostředí

  • U výpočetního prostředku můžete i nadále používat existující výpočetní instanci, pokud chcete životní cyklus spravovat ručně, nebo můžete vyzkoušet bezserverové výpočetní prostředky, jejichž životní cyklus spravuje systém.

Další kroky