Sdílet prostřednictvím


Upgrade na verzi 2

Rozhraní REST API služby Azure Machine Learning v2, rozšíření Azure CLI a sada Python SDK představují konzistenci a sadu nových funkcí, které urychlují životní cyklus produkčního strojového učení. Tento článek obsahuje přehled upgradu na verzi 2 s doporučeními, které vám pomůžou rozhodnout se o verzi 1, v2 nebo obojím.

Požadavky

  • Obecná znalost služby Azure Machine Learning a sady Python SDK v1
  • Co je v2?

Mám použít v2?

Pokud spouštíte nový projekt nebo pracovní postup strojového učení, měli byste použít verzi 2. Pokud chcete používat nové funkce nabízené ve verzi 2, měli byste použít verzi 2. Toto jsou některé z dostupných funkcí:

  • Spravované odvozování
  • Opakovaně použitelné komponenty v kanálech
  • Vylepšené plánování kanálů
  • Řídicí panel zodpovědné umělé inteligence
  • Registr prostředků

Nový projekt v2 může opakovaně používat existující prostředky v1, jako jsou pracovní prostory a výpočetní prostředky a existující prostředky, jako jsou modely a prostředí vytvořená pomocí verze 1.

Mezi mezery funkcí ve verzi 2 patří:

  • Podpora Sparku v úlohách – aktuálně je ve verzi Preview ve verzi 2.
  • Publikování úloh (kanálů ve v1) jako koncových bodů Kanály ale můžete naplánovat bez publikování.
  • Podpora úložišť dat SQL nebo databáze
  • Možnost používat klasické předem vytvořené komponenty v návrháři s v2

Pak byste měli zajistit, aby funkce, které potřebujete ve verzi 2, splňovaly požadavky vaší organizace, například obecně dostupné.

Důležité

Nové funkce ve službě Azure Machine Learning se spustí jenom ve verzi 2.

Které rozhraní API v2 mám použít?

V rozhraních v2 prostřednictvím rozhraní REST API, rozhraní příkazového řádku a sady Python SDK jsou k dispozici. Rozhraní, které byste měli použít, závisí na vašem scénáři a předvolbách.

rozhraní API Notes
REST Nejmenší závislosti a režijní náklady. Slouží k vytváření aplikací v Azure Machine Learning jako platformě přímo v programovacích jazycích bez poskytnuté sady SDK nebo podle osobních preferencí.
Rozhraní příkazového řádku Doporučuje se pro automatizaci s CI/CD nebo podle osobních preferencí. Umožňuje rychlou iteraci se soubory YAML a jednoduchým oddělením mezi kódem modelu Azure Machine Learning a ML.
Python SDK Doporučuje se pro složité skriptování (například programové generování velkých úloh kanálu) nebo podle osobních preferencí. Umožňuje rychlou iteraci pomocí souborů YAML nebo vývoje výhradně v Pythonu.

Mapování sady Python SDK v1 na v2

V každém z následujících článků najdete mapování srovnávacího kódu pro sadu SDK v1 vs. 2.

Prostředky a prostředky Článek
Pracovní prostor Správa pracovních prostorů v sadě SDK v1 a SDK v2
Úložiště dat Správa úložiště dat v sadě SDK v1 a SDK v2
Data Datové prostředky v sadě SDK v1 a v2
Compute Správa výpočetních prostředků v sadě SDK v1 a SDK v2
Školení Spuštění skriptu
Školení Místní spuštění
Školení Ladění hyperparametrů
Školení Paralelní spuštění
Školení Pipelines
Školení AutoML
Modely Správa modelů v sadě SDK v1 a SDK v2
Nasazení Upgrade koncových bodů nasazení na sadu SDK v2

Prostředky a prostředky ve verzi 1 a v2

Tato část poskytuje přehled konkrétních prostředků a prostředků ve službě Azure Machine Learning. Podrobnosti o jejich využití ve verzi 2 najdete v článku o konceptech jednotlivých entit.

Pracovní prostor

Pracovní prostory není potřeba upgradovat pomocí verze 2. Stejný pracovní prostor můžete použít bez ohledu na to, jestli používáte v1 nebo v2.

Pokud vytváříte pracovní prostory pomocí automatizace, zvažte upgrade kódu pro vytvoření pracovního prostoru na verzi 2. Prostředky Azure se obvykle spravují prostřednictvím Azure Resource Manageru (a Bicep) nebo podobných nástrojů pro zřizování prostředků. Alternativně můžete použít soubory CLI (v2) a YAML.

Porovnání kódu SADY SDK v1 a v2 najdete v tématu Správa pracovních prostorů v sadě SDK v1 a sadě SDK v2.

Důležité

Pokud váš pracovní prostor používá privátní koncový bod, bude mít automaticky v1_legacy_mode povolený příznak, který brání použití rozhraní API v2. Podrobnosti najdete v tématu konfigurace izolace sítě s v2 .

Připojení (připojení pracovního prostoru v1)

Připojení pracovního prostoru z verze 1 jsou v pracovním prostoru trvalá a plně dostupná s v2.

Porovnání kódu SADY SDK v1 a v2 najdete v tématu Správa pracovních prostorů v sadě SDK v1 a sadě SDK v2.

Úložiště dat

Typy úložiště dat úložiště objektů vytvořené s v1 jsou plně dostupné pro použití ve verzi 2. Úložiště dat databáze nejsou podporovány; Doporučený způsob migrace je export do úložiště objektů (obvykle Azure Blob).

Porovnání kódu SADY SDK v1 a v2 najdete v tématu Správa úložiště dat v sadě SDK v1 a sadě SDK v2.

Data (datové sady v1)

Datové sady se přejmenují na datové assety. Poskytuje se zpětná kompatibilita , což znamená, že můžete použít datové sady V1 ve verzi 2. Když v úloze V2 použijete datovou sadu V1, všimnete si, že se automaticky mapují na typy V2 následujícím způsobem:

  • V1 FileDataset = složka V2 (uri_folder)
  • Tabulka V1 TabularDataset = V2 Table (mltable)

Je třeba poznamenat, že není k dispozici kompatibilita předávání, což znamená, že v 1 nemůžete používat datové prostředky V2.

Tento článek popisuje další informace o zpracování dat v2 – čtení a zápis dat v úloze.

Porovnání kódu SADY SDK v1 a v2 najdete v tématu Datové prostředky v sadě SDK v1 a v2.

Compute

Výpočetní prostředky typu AmlCompute a ComputeInstance jsou plně dostupné pro použití ve verzi 2.

Porovnání kódu SADY SDK v1 a v2 najdete v tématu Správa výpočetních prostředků v sadě SDK v1 a SDK v2.

Úlohy (experimenty, spuštění, kanály ve verzi 1)

Ve verzi 2 se experimenty, spuštění a kanály souhrnně označují jako úlohy. Úloha má typ. Většina úloh je command úloh, které spouští příkaz, například python main.py. Co se spouští v úloze, je nezávislé na libovolném programovacím jazyce, takže můžete spouštět bash skripty, vyvolávat python interprety, spouštět spoustu curl příkazů nebo cokoli jiného. Dalším běžným typem úlohy je pipeline, který definuje podřízené úlohy, které mohou mít vstupní a výstupní relace, které tvoří směrovaný acyklický graf (DAG).

Porovnání kódu SADY SDK v1 a v2 najdete v tématu

Návrhář

Pomocí návrháře můžete vytvářet kanály pomocí vlastních komponent v2 a nových předem připravených komponent z registru. V takovém případě můžete ve svém kanálu použít datové prostředky v1 nebo v2.

Pomocí návrháře můžete vytvářet kanály pomocí klasických předem připravených komponent a typů datových sad v1 (tabulkové, soubor). Existující předpřipravené komponenty návrháře s datovým assetem v2 nelze použít.

Kanál nelze sestavit pomocí existujících klasických předpřipravených komponent návrháře i vlastních komponent v2.

Model

Modely vytvořené z verze 1 je možné použít ve verzi 2.

Porovnání kódu SADY SDK v1 a v2 najdete v tématu Správa modelů v sadě SDK v1 a SDK v2.

Koncový bod a nasazení (koncový bod a webová služba ve verzi 1)

Pomocí sady SDK/CLI v1 můžete modely nasadit v ACI nebo AKS jako webové služby. Vaše stávající nasazení modelů v1 a webové služby budou dál fungovat, ale použití sady SDK/CLI v1 k nasazení modelů v ACI nebo AKS jako webových služeb se teď považuje za starší verzi. Pro nová nasazení modelu doporučujeme upgradovat na verzi 2. Ve verzi 2 nabízíme spravované koncové body nebo koncové body Kubernetes. V následující tabulce najdete naše doporučení:

Typ koncového bodu v2 Upgrade z Notes
Místní ACI Rychlý test nasazení modelu místně; nikoli pro produkční prostředí.
Spravovaný online koncový bod ACI, AKS Infrastruktura nasazení spravovaného modelu na podnikové úrovni s téměř odpověďmi v reálném čase a obrovským škálováním pro produkční prostředí.
Spravovaný koncový bod dávky ParallelRunStep v kanálu pro dávkové vyhodnocování Infrastruktura nasazení spravovaného modelu na podnikové úrovni s masivně paralelním dávkovým zpracováním pro produkční prostředí
Azure Kubernetes Service (AKS) ACI, AKS Spravujte vlastní clustery AKS pro nasazení modelu, které poskytují flexibilitu a podrobné řízení s náklady na IT náklady.
Kubernetes s podporou Azure Arc Spravujte vlastní clustery Kubernetes v jiných cloudech nebo v místním prostředí, které poskytují flexibilitu a podrobné řízení s náklady na IT režii.

Porovnání kódu SADY SDK v1 a v2 najdete v tématu Upgrade koncových bodů nasazení na sadu SDK v2. Postup migrace ze stávajících webových služeb ACI do spravovaných online koncových bodů najdete v našem článku a blogu o upgradu.

Prostředí

Prostředí vytvořená z verze 1 je možné použít ve verzi 2. Prostředí v2 mají nové funkce, jako je vytvoření z místního kontextu Dockeru.

Správa tajných kódů

Správa tajných kódů služby Key Vault se v porovnání s V1 výrazně liší ve verzi 2. Metody sady SDK set_secret v1 a get_secret nejsou dostupné ve verzi 2. Místo toho by se měl použít přímý přístup pomocí klientských knihoven služby Key Vault. Při přístupu k tajným kódům z trénovacího skriptu můžete použít spravovanou identitu výpočetních prostředků nebo vaší identity.

Podrobnosti o službě Key Vault najdete v tématu Použití tajných kódů přihlašovacích údajů ověřování v trénovacích úlohách služby Azure Machine Learning.

Scénáře životního cyklu strojového učení

Existuje několik scénářů, které jsou běžné v rámci životního cyklu strojového učení pomocí služby Azure Machine Learning. Podíváme se na několik příkladů a poskytneme obecná doporučení pro upgrade na verzi 2.

Nastavení Azure

Azure doporučuje šablony Azure Resource Manageru (často prostřednictvím Bicep pro snadné použití) k vytváření prostředků. Stejný přístup je vhodný i pro vytváření prostředků Azure Machine Learning.

Pokud váš tým používá jenom Azure Machine Learning, můžete zvážit zřízení pracovního prostoru a dalších prostředků prostřednictvím souborů YAML a rozhraní příkazového řádku.

Modely prototypů

Pro modely vytváření prototypů doporučujeme v2. Můžete zvážit použití rozhraní příkazového řádku pro interaktivní použití služby Azure Machine Learning, zatímco trénovací kód modelu je Python nebo jakýkoli jiný programovací jazyk. Alternativně můžete s Pythonem využít plně stackový přístup výhradně pomocí sady Azure Machine Learning SDK nebo smíšeného přístupu se sadou Azure Machine Learning Python SDK a soubory YAML.

Trénování produkčního modelu

Pro trénování produkčního modelu doporučujeme v2. Úlohy konsoliduje terminologii a poskytuje sadu konzistence, která umožňuje snadnější přechod mezi typy (například command do) a procesem přívětivého pro sweepGitOps pro serializaci úloh do souborů YAML.

V2 byste měli oddělit kód strojového učení od kódu řídicí roviny. Toto oddělení umožňuje snadnější iteraci a umožňuje snadnější přechod mezi místním prostředím a cloudem. Pro sledování a protokolování modelů také doporučujeme použít MLflow. Podrobnosti najdete v článku konceptů MLflow.

Nasazení produkčního modelu

Pro nasazení produkčního modelu doporučujeme v2. Spravované koncové body abstrahují režijní náklady na IT a poskytují výkonné řešení pro nasazování a bodovací modely, a to jak pro online scénáře (téměř v reálném čase), tak pro dávkové scénáře (masivně paralelní).

Nasazení Kubernetes se podporují ve verzi 2 prostřednictvím AKS nebo Azure Arc a umožňují cloudové a místní nasazení Azure spravované vaší organizací.

Operace strojového učení (MLOps)

Pracovní postup MLOps obvykle zahrnuje CI/CD prostřednictvím externího nástroje. Rozhraní příkazového řádku se obvykle používá v CI/CD, ale alternativně můžete vyvolat Python nebo přímo použít REST.

Akcelerátor řešení pro MLOps s v2 se vyvíjí https://github.com/Azure/mlops-v2 a lze ho použít jako referenci nebo použít k nastavení a automatizaci životního cyklu strojového učení.

Poznámka k GitOps s v2

Klíčovým paradigmatem v2 je serializace entit strojového učení jako souborů YAML pro správu zdrojového kódu s gitpovolením lepších přístupů GitOps, než bylo možné s v1. Můžete například vynutit zásady, podle kterých může vytvořit, aktualizovat nebo odstranit jenom instanční objekt používaný v kanálech CI/CD, a zajistit tak, aby změny prošly řízeným procesem, jako jsou žádosti o přijetí změn s požadovanými kontrolory. Vzhledem k tomu, že soubory ve správě zdrojového kódu jsou YAML, snadno se rozdílují a sledují změny v průběhu času. Vy a váš tým můžete zvážit přechod na toto paradigma při upgradu na verzi 2.

Pomocí rozhraní příkazového řádku můžete získat reprezentaci YAML libovolné entity prostřednictvím az ml <entity> show --output yamlrozhraní příkazového řádku . Všimněte si, že tento výstup bude mít systémem generované vlastnosti, které je možné ignorovat nebo odstranit.

Mám upgradovat existující kód v1 na verzi 2

Existující prostředky v1 můžete znovu použít v pracovních postupech v2. Například model vytvořený ve verzi 1 lze použít k provedení spravovaného odvozování ve verzi 2.

Pokud chcete upgradovat konkrétní části existujícího kódu v1 na verzi 2, projděte si odkazy na porovnání uvedené v tomto dokumentu.

Můžu společně používat v1 a v2?

V1 a v2 mohou existovat společně v pracovním prostoru. Existující prostředky můžete znovu použít v pracovních postupech v2. Například model vytvořený ve verzi 1 lze použít k provedení spravovaného odvozování ve verzi 2. Prostředky, jako jsou pracovní prostory, výpočetní prostředky a úložiště dat, fungují napříč verzemi 1 a v2 s výjimkami. Uživatel může volat sadu Python SDK verze 1, aby změnil popis pracovního prostoru a pak ho znovu změnil pomocí rozšíření rozhraní příkazového řádku verze 2. Úlohy (experimenty, spuštění nebo kanály ve verzi 1) je možné odeslat do stejného pracovního prostoru ze sady Python SDK verze 1 nebo v2. Pracovní prostor může mít koncové body nasazení modelu v1 i v2.

Použití kódu v1 a v2 společně

Nedoporučujeme používat sady SDK v1 a v2 společně ve stejném kódu. Technicky možné použít ve stejném kódu v1 a v2, protože používají různé obory názvů Azure. Existuje však mnoho tříd se stejným názvem v těchto oborech názvů (jako je pracovní prostor, model), které můžou způsobit nejasnost a ztěžovat čitelnost kódu a možnosti ladění.

Důležité

Pokud váš pracovní prostor používá privátní koncový bod, bude mít automaticky v1_legacy_mode povolený příznak, který brání použití rozhraní API v2. Podrobnosti najdete v tématu konfigurace izolace sítě s v2 .

Další kroky