Vytváření a spouštění kanálů strojového učení pomocí komponent s studio Azure Machine Learning
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
V tomto článku se dozvíte, jak vytvářet a spouštět kanály strojového učení pomocí studio Azure Machine Learning a komponent. Kanály můžete vytvářet bez použití komponent, ale komponenty nabízejí větší flexibilitu a opakované použití. Kanály Azure Machine Learning je možné definovat v JAZYCE YAML a spouštět z rozhraní příkazového řádku, vytvářet v Pythonu nebo se skládat v návrháři studio Azure Machine Learning s uživatelským rozhraním pro přetahování. Tento dokument se zaměřuje na uživatelské rozhraní návrháře studio Azure Machine Learning.
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet. Vyzkoušejte bezplatnou nebo placenou verzi služby Azure Machine Learning.
Pracovní prostor Azure Machine Learning – Vytvoření prostředků pracovního prostoru
Nainstalujte a nastavte rozšíření Azure CLI pro Machine Learning.
Naklonujte úložiště příkladů:
git clone https://github.com/Azure/azureml-examples --depth 1 cd azureml-examples/cli/jobs/pipelines-with-components/
Poznámka:
Návrhář podporuje dva typy komponent, klasické předem připravené komponenty (v1) a vlastní komponenty (v2). Tyto dva typy součástí nejsou kompatibilní.
Klasické předem připravené komponenty poskytují předem připravené komponenty pro zpracování dat a tradiční úlohy strojového učení, jako je regrese a klasifikace. Klasické předem připravené komponenty se budou dál podporovat, ale nebudou mít přidané žádné nové komponenty. Nasazení klasických předem připravených komponent (v1) také nepodporuje spravované online koncové body (v2).
Vlastní komponenty umožňují zabalit vlastní kód jako součást. Podporuje sdílení komponent mezi pracovními prostory a bezproblémové vytváření obsahu napříč rozhraními sady Studio, CLI v2 a SDK v2.
Pro nové projekty důrazně doporučujeme používat vlastní komponentu, která je kompatibilní s AzureML V2 a bude nadále přijímat nové aktualizace.
Tento článek se týká vlastních komponent.
Registrace komponenty v pracovním prostoru
Pokud chcete vytvořit kanál pomocí komponent v uživatelském rozhraní, musíte nejprve zaregistrovat komponenty do pracovního prostoru. K registraci komponent do pracovního prostoru můžete použít uživatelské rozhraní, rozhraní příkazového řádku nebo sady SDK, abyste mohli sdílet a opakovaně používat komponentu v rámci pracovního prostoru. Registrované komponenty podporují automatickou správu verzí, abyste mohli aktualizovat komponentu, ale ujistěte se, že kanály, které vyžadují starší verzi, nadále fungují.
Následující příklad používá uživatelské rozhraní k registraci komponent a zdrojové soubory komponent jsou v cli/jobs/pipelines-with-components/basics/1b_e2e_registered_components
adresáři azureml-examples
úložiště. Nejprve je potřeba naklonovat úložiště do místního prostředí.
- V pracovním prostoru Azure Machine Learning přejděte na stránku Součásti a vyberte Nová komponenta (zobrazí se jedna ze dvou stránek stylů).
Tento příklad se používá train.yml
v adresáři. Soubor YAML definuje název, typ, rozhraní, včetně vstupů a výstupů, kódu, prostředí a příkazu této komponenty. Kód této komponenty train.py
je ve ./train_src
složce, která popisuje logiku spouštění této komponenty. Další informace o schématu komponenty najdete v referenční dokumentaci ke schématu YAML komponenty příkazu.
Poznámka:
Při registraci komponent v uživatelském rozhraní, code
definované v souboru YAML komponenty může odkazovat pouze na aktuální složku, kde soubor YAML vyhledá nebo podsložky, což znamená, že nelze určit ../
code
, protože uživatelské rozhraní nedokáže rozpoznat nadřazený adresář.
additional_includes
může odkazovat pouze na aktuální nebo podsložku.
Uživatelské rozhraní v současné době podporuje pouze registraci komponent s typem command
.
- Vyberte Nahrát ze složky a vyberte složku, která
1b_e2e_registered_components
se má nahrát. Vybertetrain.yml
z rozevíracího seznamu.
V dolní části vyberte Další a podrobnosti o této komponentě můžete potvrdit. Po potvrzení dokončete proces registrace výběrem možnosti Vytvořit .
Opakováním předchozích kroků zaregistrujte komponentu Score a Eval pomocí
score.yml
aeval.yml
také.Po úspěšné registraci těchto tří komponent se komponenty zobrazí v uživatelském rozhraní studia.
Vytvoření kanálu pomocí registrované komponenty
V návrháři vytvořte nový kanál. Nezapomeňte vybrat možnost Vlastní .
Kanál pojmenujte smysluplným výběrem ikony tužky vedle automaticky vygenerovaného názvu.
V knihovně materiálů návrháře můžete zobrazit karty Data, Model a Komponenty . Přepněte na kartu Součásti . Zobrazí se součásti zaregistrované v předchozí části. Pokud existuje příliš mnoho komponent, můžete vyhledat název komponenty.
Najděte součásti trénování, hodnocení a hodnocení zaregistrované v předchozí části a přetáhněte je na plátno. Ve výchozím nastavení používá výchozí verzi komponenty a v pravém podokně komponenty můžete změnit na konkrétní verzi. Pravé podokno komponenty je vyvoláno poklikáním na komponentu.
V tomto příkladu použijeme ukázková data v této cestě. Zaregistrujte data do pracovního prostoru tak, že v knihovně prostředků návrháře vyberete ikonu pro přidání –> datovou kartu, nastavíte Type = Folder(uri_folder) a pak podle průvodce zaregistrujte data. Datový typ musí být uri_folder, aby byl v souladu s definicí komponenty pro trénování.
Potom data přetáhněte na plátno. Váš kanál by teď měl vypadat jako na následujícím snímku obrazovky.
Data a komponenty můžete propojit přetažením připojení na plátně.
Poklikejte na jednu komponentu, zobrazí se pravé podokno, kde můžete komponentu nakonfigurovat.
U komponent se vstupy primitivního typu, jako je číslo, celé číslo, řetězec a logická hodnota, můžete změnit hodnoty těchto vstupů v podrobném podokně komponenty v části Vstupy .
Můžete také změnit nastavení výstupu (kde uložit výstup komponenty) a spustit nastavení (cílový výpočetní objekt pro spuštění této komponenty) v pravém podokně.
Teď upřednostníme max_epocs vstup komponenty trénování na vstup na úrovni kanálu. Při každém odeslání kanálu můžete tomuto vstupu přiřadit jinou hodnotu.
Poznámka:
Vlastní komponenty a klasické předem vytvořené komponenty návrháře nelze použít společně.
Odeslání kanálu
V pravém horním rohu vyberte Konfigurovat a odeslat kanál.
Pak uvidíte podrobného průvodce, podle pokynů v průvodci odešlete úlohu kanálu.
V kroku Základy můžete nakonfigurovat experiment, zobrazovaný název úlohy, popis úlohy atd.
V kroku Vstupy a výstupy můžete nakonfigurovat vstupy a výstupy, které jsou povýšeny na úroveň kanálu. V předchozím kroku jsme propagovali max_epocs komponenty trénování na vstup kanálu, takže byste měli být schopni zobrazit a přiřadit hodnotu max_epocs tady.
V nastavení modulu runtime můžete nakonfigurovat výchozí úložiště dat a výchozí výpočetní prostředky kanálu. Jedná se o výchozí úložiště dat a výpočetní prostředky pro všechny komponenty v kanálu. Všimněte si ale, že pokud pro komponentu nastavíte jiný výpočetní objekt nebo úložiště dat explicitně, systém respektuje nastavení na úrovni komponenty. V opačném případě použije výchozí hodnotu kanálu.
Krok Zkontrolovat a odeslat je posledním krokem ke kontrole všech konfigurací před odesláním. Průvodce si pamatuje konfiguraci posledního času, pokud kanál odešlete.
Po odeslání úlohy kanálu se nahoře zobrazí zpráva s odkazem na podrobnosti úlohy. Výběrem tohoto odkazu můžete zkontrolovat podrobnosti o úloze.
Zadání identity v úloze kanálu
Při odesílání úlohy kanálu můžete zadat identitu pro přístup k datům v části Run settings
. Výchozí identita zatím AMLToken
nepoužíla žádnou identitu, ale podporujeme ji UserIdentity
Managed
. V UserIdentity
případě identity odesílaného úlohy se používá pro přístup ke vstupním datům a zápis výsledku do výstupní složky. Pokud zadáte Managed
, systém použije spravovanou identitu pro přístup ke vstupním datům a zapíše výsledek do výstupní složky.
Další kroky
- Další zkoumání kanálů strojového učení pomocí těchto poznámkových bloků Jupyter na GitHubu
- Zjistěte , jak pomocí rozhraní příkazového řádku v2 vytvořit kanál pomocí komponent.
- Naučte se používat sadu SDK v2 k vytvoření kanálu pomocí komponent.