Sdílet prostřednictvím


Úvod k cílovému výpočetnímu objektu Kubernetes ve službě Azure Machine Learning

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)

Se sadou Azure Machine Learning CLI/Python SDK v2 služba Azure Machine Learning zavedla nový cílový výpočetní objekt – cílový výpočetní objekt Kubernetes. Stávající cluster Azure Kubernetes Service (AKS) nebo cluster Kubernetes s podporou Azure Arc (Arc Kubernetes) můžete snadno povolit, aby se stal cílovým výpočetním objektem Kubernetes ve službě Azure Machine Learning a použít ho k trénování nebo nasazování modelů.

Diagram znázorňující, jak se Azure Machine Learning připojuje k Kubernetes

V tomto článku se dozvíte o těchto článcích:

  • Jak to funguje
  • Scénáře použití
  • Doporučené osvědčené postupy
  • KubernetesCompute a starší verze AksCompute

Jak to funguje

Výpočetní prostředí Kubernetes služby Azure Machine Learning podporuje dva druhy clusteru Kubernetes:

  • Cluster AKS v Azure S využitím clusteru AKS spravovaného v Azure můžete získat zabezpečení a kontroly, které splňují požadavky na dodržování předpisů a flexibilitu při správě úloh ML týmů.
  • Cluster Arc Kubernetes mimo Azure Pomocí clusteru Arc Kubernetes můžete trénovat nebo nasazovat modely v jakékoli místní infrastruktuře, napříč více cloudy nebo hraničními sítěmi.

Díky jednoduchému nasazení rozšíření clusteru v clusteru AKS nebo Arc Kubernetes se cluster Kubernetes bezproblémově podporuje ve službě Azure Machine Learning za účelem spuštění úlohy trénování nebo odvozování. Pomocí následujících jednoduchých kroků můžete snadno povolit a používat existující cluster Kubernetes pro úlohu Azure Machine Learning:

  1. Příprava clusteru Azure Kubernetes Service nebo clusteru Kubernetes Arc
  2. Nasaďte rozšíření Azure Machine Learning.
  3. Připojte cluster Kubernetes k pracovnímu prostoru Služby Azure Machine Learning.
  4. Použijte cílový výpočetní objekt Kubernetes z rozhraní příkazového řádku v2, sady SDK v2 a uživatelského rozhraní sady Studio.

It-operation team. Tým pro provoz IT zodpovídá za první tři kroky: přípravu clusteru AKS nebo Arc Kubernetes, nasazení rozšíření clusteru Azure Machine Learning a připojení clusteru Kubernetes k pracovnímu prostoru Azure Machine Learning. Kromě těchto základních kroků nastavení výpočetních prostředků používá it-provozní tým také známé nástroje, jako je Azure CLI nebo kubectl, aby se postaral o následující úlohy pro tým datových věd:

  • Konfigurace sítě a zabezpečení, jako je připojení k odchozímu proxy serveru nebo konfigurace brány Azure Firewall, nastavení odvozování směrovače (azureml-fe), ukončení protokolu SSL/TLS a konfigurace virtuální sítě.
  • Vytvářejte a spravujte typy instancí pro různé scénáře úloh ML a získejte efektivní využití výpočetních prostředků.
  • Problémy s odstraňováním problémů s úlohami souvisejícími s clusterem Kubernetes

Tým pro datové vědy Jakmile tým it-operations dokončí vytváření výpočetních prostředků a cílových výpočetních prostředků, tým pro datové vědy může zjistit seznam dostupných cílových výpočetních prostředků a typů instancí v pracovním prostoru Azure Machine Learning. Tyto výpočetní prostředky je možné použít k trénování nebo odvozování úloh. Datové vědy určují název cílového výpočetního objektu a název typu instance pomocí preferovaných nástrojů nebo rozhraní API. Tyto názvy můžou být například Azure Machine Learning CLI v2, Python SDK v2 nebo Uživatelské rozhraní studia.

Scénáře použití Kubernetes

Pomocí clusteru Arc Kubernetes můžete pomocí Kubernetes vytvářet, trénovat a nasazovat modely v libovolné místní infrastruktuře i napříč více cloudy. Tím se v prostředí cloudového nastavení nedají otevřít některé nové vzory použití. Následující tabulka obsahuje souhrn nových vzorů použití povolených výpočetními prostředky Kubernetes služby Azure Machine Learning:

Vzor použití Umístění dat Motivace Nastavení infrastruktury a implementace služby Azure Machine Learning
Trénování modelu v cloudu, místní nasazení modelu Cloud Využijte cloudové výpočetní prostředky. Z důvodu požadavků na elastické výpočetní prostředky nebo speciálního hardwaru, jako je GPU.
Model musí být nasazen místně kvůli požadavkům na zabezpečení, dodržování předpisů nebo latenci.
1. Spravované výpočetní prostředky Azure v cloudu.
2. Místní prostředí Kubernetes spravované zákazníkem.
3. Plně automatizované MLOps v hybridním režimu, včetně kroků nasazení trénování a modelu, které hladce přecházejí z cloudu do místního prostředí a naopak.
4. Opakovatelné, se všemi prostředky sledovány správně. Model se v případě potřeby znovu natrénoval a nasazení modelu se po opětovném trénování automaticky aktualizovalo.
Trénování modelu v místním prostředí a cloudu, nasazení do cloudu i místního prostředí Cloud Organizace, které chtějí kombinovat místní investice s cloudovou škálovatelností. Přineste cloudové a místní výpočetní prostředky do jediného podokna skla. Jeden zdroj pravdivých informací o datech se nachází v cloudu, je možné je replikovat do místního prostředí (to znamená lazily při používání nebo aktivně). Primární využití cloudových výpočetních prostředků je v případě, že místní prostředky nejsou dostupné (v použití, údržba) nebo nemají specifické požadavky na hardware (GPU). 1. Spravované výpočetní prostředky Azure v cloudu.
2. Místní prostředí Kubernetes spravované zákazníkem.
3. Plně automatizované MLOps v hybridním režimu, včetně kroků nasazení trénování a modelu, které hladce přecházejí z cloudu do místního prostředí a naopak.
4. Opakovatelné, se všemi prostředky sledovány správně. Model se v případě potřeby znovu natrénoval a nasazení modelu se po opětovném trénování automaticky aktualizovalo.
Trénování modelu místně, nasazení modelu v cloudu Místní Data musí zůstat místně kvůli požadavkům na rezidenci dat.
Nasaďte model v cloudu pro globální přístup ke službám nebo pro elasticitu výpočetních prostředků pro škálování a propustnost.
1. Spravované výpočetní prostředky Azure v cloudu.
2. Místní prostředí Kubernetes spravované zákazníkem.
3. Plně automatizované MLOps v hybridním režimu, včetně kroků nasazení trénování a modelu, které hladce přecházejí z cloudu do místního prostředí a naopak.
4. Opakovatelné, se všemi prostředky sledovány správně. Model se v případě potřeby znovu natrénoval a nasazení modelu se po opětovném trénování automaticky aktualizovalo.
Používání vlastní služby AKS v Azure Cloud Větší zabezpečení a kontroly.
Všechny privátní strojové učení IP adres, aby se zabránilo exfiltraci dat.
1. Cluster AKS za virtuální sítí Azure
2. Vytvořte privátní koncové body ve stejné virtuální síti pro pracovní prostor Azure Machine Learning a jeho přidružené prostředky.
3. Plně automatizované MLOps.
Úplný životní cyklus ML v místním prostředí Místní Zabezpečte citlivá data nebo proprietární IP adresu, jako jsou modely ML a kód/skripty. 1. Místní odchozí připojení proxy serveru.
2. Privátní propojení Azure ExpressRoute a Azure Arc s prostředky Azure
3. Místní prostředí Kubernetes spravované zákazníkem
4. Plně automatizované MLOps.

Omezení

KubernetesCompute cíl v úlohách služby Azure Machine Learning (trénování a odvozování modelů) má následující omezení:

  • Dostupnost funkcí ve verzi Preview ve službě Azure Machine Learning není zaručená.
    • Identifikované omezení: Modely (včetně základního modelu) z katalogu modelů a registru se v online koncových bodech Kubernetes nepodporují.

Oddělení odpovědností mezi týmem IT a týmem pro datové vědy. Jak jsme zmínili v předchozí části, správa vlastních výpočetních prostředků a infrastruktury pro úlohy ML je složitá úloha. Tým it-operací je nejlepší provést, aby se tým pro datové vědy mohl zaměřit na modely STROJOVÉho učení pro efektivitu organizace.

Vytváření a správa typů instancí pro různé scénáře úloh ML Každá úloha ML používá různé množství výpočetních prostředků, jako je procesor/GPU a paměť. Azure Machine Learning implementuje typ instance jako vlastní definici prostředku Kubernetes (CRD) s vlastnostmi nodeSelectoru a požadavků nebo limitu prostředků. S pečlivě kurátorovaným seznamem typů instancí můžou IT operace cílit na úlohy ML na konkrétních uzlech a efektivně spravovat využití výpočetních prostředků.

Stejný cluster Kubernetes sdílí několik pracovních prostorů Azure Machine Learning. Cluster Kubernetes můžete připojit vícekrát ke stejnému pracovnímu prostoru Azure Machine Learning nebo různým pracovním prostorům Služby Azure Machine Learning a vytvořit několik cílových výpočetních prostředků v jednom pracovním prostoru nebo několika pracovních prostorech. Vzhledem k tomu, že mnoho zákazníků organizuje projekty datových věd kolem pracovního prostoru Azure Machine Learning, může teď několik projektů datových věd sdílet stejný cluster Kubernetes. To výrazně snižuje režijní náklady na správu infrastruktury ML a úsporu nákladů na IT.

Izolace úloh týmu/projektu pomocí oboru názvů Kubernetes Když připojíte cluster Kubernetes k pracovnímu prostoru Azure Machine Learning, můžete pro cílový výpočetní objekt zadat obor názvů Kubernetes. Všechny úlohy spouštěné cílovým výpočetním objektem se umístí do zadaného oboru názvů.

KubernetesCompute a starší verze AksCompute

Pomocí azure Machine Learning CLI/Python SDK verze 1 můžete nasadit modely v AKS pomocí cíle AksCompute. Cíl KubernetesCompute i cíl AksCompute podporují integraci AKS, ale podporují ji jinak. Následující tabulka uvádí jejich klíčové rozdíly:

Možnosti Integrace AKS s AksCompute (starší verze) Integrace AKS s KubernetesCompute
Rozhraní příkazového řádku / sada SDK v1 Yes No
Rozhraní příkazového řádku / sada SDK v2 No Yes
Školení No Yes
Odvozování v reálném čase Yes Yes
Dávkové odvozování No Yes
Nové funkce odvozování v reálném čase Nevyvíjejí se žádné nové funkce. Aktivní plán

S těmito klíčovými rozdíly a celkovým vývojem služby Azure Machine Learning pro použití sady SDK/CLI v2 azure Machine Learning doporučuje, abyste k nasazení modelů použili cílový výpočetní objekt Kubernetes, pokud se rozhodnete použít AKS pro nasazení modelu.

Další prostředky

Příklady

Všechny příklady služby Azure Machine Learning najdete v https://github.com/Azure/azureml-examples.gittématu .

V každém příkladu služby Azure Machine Learning stačí aktualizovat cílový název výpočetního objektu na cílový výpočetní objekt Kubernetes a pak jste hotovi.

Další kroky