Co je komponenta Azure Machine Učení?

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

Komponenta Azure Machine Učení je samostatná část kódu, která provádí jeden krok v kanálu strojového učení. Komponenta je podobná funkci – má název, vstupy, výstupy a tělo. Komponenty jsou stavební bloky kanálů Azure Machine Učení.

Součást se skládá ze tří částí:

  • Metadata: název, display_name, verze, typ atd.
  • Rozhraní: specifikace vstupu a výstupu (název, typ, popis, výchozí hodnota atd.).
  • Command, Code &Environment: command, code and environment required to run the component.

Diagram of what a component looks like and how it looks in a pipeline. In addition to screenshots of a component in the CLI, SDK, and portal UI.

Proč mám použít komponentu?

Dobrým technickým postupem je vytvořit kanál strojového učení, který rozdělí kompletní úlohu strojového učení na vícekrokový pracovní postup. To znamená, že každý může pracovat na konkrétním kroku nezávisle. V azure Machine Učení představuje komponenta jeden opakovaně použitelný krok v kanálu. Komponenty jsou navržené tak, aby pomohly zlepšit produktivitu sestavování kanálů. Konkrétně komponenty nabízejí:

  • Dobře definované rozhraní: Komponenty vyžadují dobře definované rozhraní (vstup a výstup). Rozhraní umožňuje uživateli snadno sestavit kroky a připojit kroky. Rozhraní také skryje složitou logiku kroku a eliminuje zátěž pochopení způsobu implementace kroku.

  • Sdílení a opakované použití: Jako stavební bloky kanálu je možné snadno sdílet a opakovaně používat komponenty mezi kanály, pracovními prostory a předplatnými. Komponenty vytvořené jedním týmem můžou zjistit a používat jiný tým.

  • Správaverzích Producenti komponent můžou dál zlepšovat komponenty a publikovat nové verze. Uživatelé můžou ve svých kanálech používat konkrétní verze komponent. To jim dává kompatibilitu a reprodukovatelnost.

Testovatelné jednotky: Komponenta je samostatná část kódu. Pro komponentu je snadné psát test jednotek.

Komponenta a kanál

Kanál strojového učení je pracovní postup pro úplnou úlohu strojového učení. Komponenty jsou stavební bloky kanálu strojového učení. Když uvažujete o komponentě, musí být v kontextu kanálu.

Prvním krokem při sestavování komponent je definování kanálu strojového učení. To vyžaduje rozdělení úplné úlohy strojového učení do vícekrokového pracovního postupu. Každý krok je komponenta. Při zvažování jednoduché úlohy strojového učení například použití historických dat k trénování modelu prognózování prodeje můžete chtít vytvořit sekvenční pracovní postup se zpracováním dat, trénováním modelu a postupem vyhodnocení modelu. U složitých úkolů můžete chtít pokračovat v rozdělení. Rozdělte například jeden krok zpracování dat na ingestování dat, čištění dat, předběžné zpracování dat a kroky přípravy funkcí.

Po definování kroků v pracovním postupu je dalším krokem určení způsobu připojení jednotlivých kroků v kanálu. Pokud chcete například připojit krok zpracování dat a krok trénování modelu, můžete definovat komponentu zpracování dat pro výstup složky, která obsahuje zpracovávaná data. Trénovací komponenta přebírá složku jako vstup a vypíše složku, která obsahuje natrénovaný model. Tyto vstupy a definice výstupů se stanou součástí definice rozhraní vaší komponenty.

Teď je čas vyvíjet kód spuštění kroku. Můžete použít upřednostňované jazyky (python, R atd.). Kód musí být schopen spustit příkazem prostředí. Během vývoje můžete přidat několik vstupů, které určují, jak se tento krok bude provádět. Například pro krok trénování můžete chtít přidat rychlost učení, počet epoch jako vstupy pro řízení trénování. Tyto další vstupy a výstupy potřebné pro připojení k dalším krokům jsou rozhraním komponenty. Argument příkazu prostředí slouží k předávání vstupů a výstupů kódu. Prostředí pro spuštění příkazu a kód je potřeba zadat. Prostředí může být kurátorované prostředí Azure Machine Učení, image Dockeru nebo prostředí conda.

Nakonec můžete zabalit všechno včetně kódu, cmd, prostředí, vstupu, výstupů, metadat do komponenty. Tyto komponenty pak propojíte s kanály sestavení pracovního postupu strojového učení. Jednu komponentu je možné použít v několika kanálech.

Další informace o tom, jak sestavit komponentu, najdete tady:

Další kroky