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 Learning.
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.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.
- Následující příkaz rozhraní příkazového řádku můžete použít k přiřazení spravované identity přiřazené uživatelem k pracovnímu prostoru. Přečtěte si další informace o vytváření a aktualizaci identit přiřazených uživatelem pro pracovní prostor.
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 Learning 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í zásad přístupu) Přispěvatel + všechna oprávnění zásad přístupu kromě operací vymazání , toto je výchozí režim pro propojenou službu Azure Key Vault. Azure Key Vault (při použití modelu oprávnění RBAC) Přispěvatel (řídicí rovina) + Správce služby Key Vault (rovina dat) Azure Container Registry Přispěvatel Azure Application Insights Přispěvatel Poznámka:
Odesílatel úlohy musí mít
assign
oprávnění ke spravované identitě přiřazené uživatelem, protožeManaged Identity Operator
při každém vytvoření výpočetní relace bez serveru přiřadí spravovanou identitu přiřazenou uživatelem k výpočetním prostředkům.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ů.
Další informace o vytváření a správě výpočetní instance
- 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í.
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 Learning 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. Můžete přejít na stránku výpočetních prostředků a uvolnit výpočetní prostředky.
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_includes
flow.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.
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.
Poznámka:
Umístění a dokonce i název requirements.txt
souboru 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.yaml
souboru . 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:
Přiřaďte spravovanou identitu k pracovnímu prostoru nebo výpočetní instanci.
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.
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.
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.
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.
Přidejte
{private}
adresu URL privátního informačního kanálu. Pokud například chcete nainstalovattest_package
ztest_feed
Azure DevOps, přidejte-i https://{private}@{test_feed_url_in_azure_devops}
dorequirements.txt
:-i https://{private}@{test_feed_url_in_azure_devops} test_package
Zadejte pomocí spravované identity přiřazené uživatelem v konfiguraci výpočetní relace.
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.
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.
Můžete také zadat novou základní image
environment
vflow.dag.yaml
souboru ve složce 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í.
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.
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 verzipromptflow
apromptflow-tools
inrequirements.txt
, protože jsme je už zahrnuli do základní image. Výpočetní relace nainstaluje balíčky dorequirements.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áteacr pull
oprávnění k imagi vy nebo související spravovaná identita přiřazená uživatelem.
- 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.