Ú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.
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:
Krok 1: Příprava clusteru Azure Kubernetes Service nebo clusteru Kubernetes Arc
Krok 2: Nasazení rozšíření clusteru Azure Machine Learning
Krok 3: Připojení clusteru Kubernetes k pracovnímu prostoru Služby Azure Machine Learning
Krok 4: Použijte cílový výpočetní objekt Kubernetes z rozhraní příkazového řádku v2, sady SDK v2 nebo uživatelského rozhraní studio Azure 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ů.
Doporučené osvědčené postupy
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:
- Kontrola podporovaných verzí a oblastí Kubernetes
- Připojení úloh Machine Learning k vlastnímu úložišti dat
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í:
- Ukázky trénovacích úloh pomocí rozhraní příkazového řádku v2
- Ukázky trénovacích úloh pomocí sady SDK v2
- Nasazení modelu s ukázkami online koncových bodů a rozhraním příkazového řádku v2
- Nasazení modelu s ukázkami online koncových bodů a sadou SDK v2
- Ukázky dávkových koncových bodů pomocí rozhraní příkazového řádku v2