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

Azure Machine Learning CLI a Python SDK v2 poskytují podporu cílového výpočetního prostředí Kubernetes. Jako cílový výpočetní objekt Kubernetes můžete povolit existující cluster Azure Kubernetes Service (AKS) nebo cluster Kubernetes s podporou Azure Arc (Arc Kubernetes). Pomocí výpočetních prostředků ve službě Machine Learning můžete trénovat nebo nasazovat modely.

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

Tento článek popisuje, jak můžete ve službě Machine Learning použít cílový výpočetní objekt Kubernetes, včetně scénářů použití, doporučených osvědčených postupů a porovnání starších KubernetesCompute AksCompute cílů.

Jak funguje cílový výpočetní objekt Kubernetes

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

Compute Umístění Popis
Cluster AKS V rámci Azure S clusterem AKS spravovaným vlastním systémem 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 strojového učení vašeho týmu.
Cluster Arc Kubernetes Mimo Azure Pomocí clusteru Arc Kubernetes můžete trénovat nebo nasazovat modely v jakékoli místní nebo multicloudové infrastruktuře nebo hraničních zařízeních.

Díky jednoduchému nasazení rozšíření clusteru v clusteru AKS nebo Arc Kubernetes se cluster Kubernetes bezproblémově podporuje ve službě Machine Learning, aby se spustila úloha trénování nebo odvozování. Pomocí následujícího procesu je snadné povolit a používat existující cluster Kubernetes pro úlohy Machine Learning:

Tady jsou hlavní odpovědnosti v tomto procesu:

  • Tým it-provoz zodpovídá za kroky 1, 2 a 3. Tento tým připraví cluster AKS nebo Arc Kubernetes, nasadí rozšíření clusteru Machine Learning a připojí cluster Kubernetes k pracovnímu prostoru Machine Learning. Kromě těchto základních kroků nastavení výpočetních prostředků tým IT používá také známé nástroje, jako je Azure CLI nebo kubectl, k dokončení následujících úkolů pro tým datových věd:

    • Nakonfigurujte možnosti sítě a zabezpečení, jako je připojení k odchozímu proxy serveru nebo brána Azure Firewall, nastavení směrovače odvozování (azureml-fe), ukončení protokolu SSL/TLS a nastavení virtuální sítě.

    • Vytvářejte a spravujte typy instancí pro různé scénáře úloh strojového učení a získejte efektivní využití výpočetních prostředků.

    • Řešení potíží s úlohami souvisejících s clusterem Kubernetes

  • Tým pro datové vědy zahájí své úkoly poté, co it-provozní tým dokončí nastavení výpočetních prostředků a vytvoření cílových výpočetních prostředků. Tento tým zjistí seznam dostupných výpočetních cílů a typů instancí v pracovním prostoru Machine Learning. Výpočetní prostředky je možné použít k trénování nebo odvozování úloh. Tým pro datové vědy určuje název cílového výpočetního objektu a název typu instance pomocí preferovaných nástrojů nebo rozhraní API. Můžou použít azure Machine Learning CLI v2, Sadu Python SDK v2 nebo uživatelské rozhraní nástroje Machine Learning Studio.

Scénáře použití Kubernetes

Pomocí clusteru Arc Kubernetes můžete vytvářet, trénovat a nasazovat modely v jakékoli místní a multicloudové infrastruktuře pomocí Kubernetes. Tato strategie otevře některé nové vzory použití, které dříve nebyly v prostředí cloudového nastavení možné. Následující tabulka obsahuje souhrn nových vzorů použití, které jsou povolené při práci s výpočetními prostředky Kubernetes služby Azure Machine Learning:

Vzor použití Umístění dat Cíle a požadavky Konfigurace scénáře
Trénování modelu v cloudu, místní nasazení modelu Cloud Využijte cloudové výpočetní prostředky k podpoře potřeb elastických výpočetních prostředků nebo speciálního hardwaru, jako je GPU.

Nasazení modelu musí být místní kvůli požadavkům na zabezpečení, dodržování předpisů nebo latenci.
– Výpočetní prostředky spravované v Azure v cloudu
– Místní Kubernetes spravovaný zákazníkem
– Plně automatizované operace strojového učení v hybridním režimu, včetně kroků nasazení trénování a modelu, které hladce přecházejí mezi cloudem a místním prostředím
- Opakovatelné, všechny prostředky správně sledované, model se podle potřeby znovu natrénoval, nasazení 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 Zkombinujte místní investice se škálovatelností cloudu.

Přineste cloudové a místní výpočetní prostředky do jediného podokna skla.

Přístup k jednomu zdroji pravdivých informací pro data v cloudu a replikaci místně (líně při používání nebo proaktivně).

Povolte primární využití cloudových výpočetních prostředků, pokud nejsou k dispozici místní prostředky (při použití nebo údržbě) nebo nesplňují konkrétní požadavky na hardware (GPU).
– Výpočetní prostředky spravované v Azure v cloudu.
Místní Kubernetes spravovaný zákazníkem
– Plně automatizované operace strojového učení v hybridním režimu, včetně kroků nasazení trénování a modelu, které hladce přecházejí mezi cloudem a místním prostředím
- Opakovatelné, všechny prostředky správně sledované, model se podle potřeby znovu natrénoval, nasazení se po opětovném trénování automaticky aktualizovalo.
Trénování modelu místně, nasazení modelu v cloudu Místní Uložte data místně tak, aby splňovala požadavky na rezidenci dat.

Nasaďte model v cloudu pro globální přístup ke službám nebo povolte elasticitu výpočetních prostředků pro škálování a propustnost.
– Výpočetní prostředky spravované v Azure v cloudu
– Místní Kubernetes spravovaný zákazníkem
– Plně automatizované operace strojového učení v hybridním režimu, včetně kroků nasazení trénování a modelu, které hladce přecházejí mezi cloudem a místním prostředím
- Opakovatelné, všechny prostředky správně sledované, model se podle potřeby znovu natrénoval, nasazení se po opětovném trénování automaticky aktualizovalo.
Používání vlastní služby AKS v Azure Cloud Získejte větší zabezpečení a kontroly.

Vytvořte všechny privátní strojové učení IP, abyste zabránili exfiltraci dat.
– Cluster AKS za virtuální sítí Azure
– Privátní koncové body ve stejné virtuální síti pro pracovní prostor Azure Machine Learning a přidružené prostředky
Plně automatizované operace strojového učení
Úplný životní cyklus strojového učení v místním prostředí Místní Zabezpečte citlivá data nebo proprietární IP adresy, jako jsou modely strojového učení, kód a skripty. – Místní připojení k odchozímu proxy serveru
– Privátní propojení Azure ExpressRoute a Azure Arc s prostředky Azure
– Místní Kubernetes spravovaný zákazníkem
– Plně automatizované operace strojového učení

Omezení cílového výpočetního prostředí Kubernetes

Cíl KubernetesCompute v úlohách 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á.
  • Modely (včetně základního modelu) z katalogu modelů a registru se v online koncových bodech Kubernetes nepodporují.
  • Proces vytvoření nasazení odvozování modelu uvnitř clusteru má časový limit 20 minut. To zahrnuje stažení image, stažení modelu a inicializaci uživatelských skriptů.

Tato část shrnuje doporučené osvědčené postupy pro práci s výpočetními prostředky Kubernetes.

Oddělení zodpovědností mezi týmem IT a týmem pro datové vědy. Jak je popsáno výše, správa vlastních výpočetních prostředků a infrastruktury pro úlohy strojového učení je složitá úloha. Nejlepším přístupem je mít tým pro provoz IT, který úkol zpracovává, takže tým pro datové vědy se může zaměřit na modely strojového učení, aby byl efektivní v organizaci.

Vytváření a správa typů instancí pro různé scénáře úloh strojového učení Každá úloha strojového učení používá různé objemy 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 nodeSelector a resource request/limit. S pečlivě kurátorovaným seznamem typů instancí můžou IT operace cílit na úlohy strojového učení 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 Machine Learning nebo různým pracovním prostorům. Tento proces vytvoří více 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 Machine Learning, může teď několik projektů datových věd sdílet stejný cluster Kubernetes. Tento přístup výrazně snižuje režijní náklady na správu infrastruktury strojového učení a zvyšuje ú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 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ů.

Porovnání cílů KubernetesCompute a starších cílů AksCompute

Pomocí azure Machine Learning CLI/Python SDK verze 1 můžete nasadit modely v AKS pomocí starší AksCompute verze cíle. KubernetesCompute Integrace AKS i AksCompute cíle podporují, ale přístup podpory se liší. Následující tabulka shrnuje klíčové rozdíly:

Schopnost AksCompute (starší verze) KubernetesCompute
Použití rozhraní příkazového řádku nebo sady SDK v1 Yes No
Použití rozhraní příkazového řádku nebo sady SDK v2 No Ano
Nastavení trénování No Ano
Použití odvození v reálném čase Ano Yes
Použití dávkového odvození No Ano
Přístup k novým funkcím pro odvozování v reálném čase Nevyvíjejí se žádné nové funkce. Aktivní plán je k dispozici

V úvahu tyto rozdíly a celkový vývoj strojového učení pro použití rozhraní příkazového řádku nebo sady SDK v2 se doporučuje použít cílový výpočetní objekt Kubernetes (KubernetesCompute) pro nasazení modelu AKS.

Další informace najdete v následujících článcích:

Příklady strojového učení

Příklady strojového učení jsou k dispozici v úložišti Azure Machine Learning (příklady azureml) na GitHubu. V každém příkladu nahraďte cílový název výpočetního objektu vaším cílovým výpočetním objektem Kubernetes a spusťte ukázku.

Tady je několik možností: