Trénování modelů pomocí služby Azure Machine Learning
PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)
Azure Machine Learning nabízí několik způsobů, jak vytrénovat modely– od řešení založených na kódu pomocí sady SDK až po řešení s nízkými kódy, jako je automatizované strojové učení a vizuální návrhář. Pomocí následujícího seznamu určete, která metoda trénování je pro vás správná:
Sada Azure Machine Learning SDK pro Python: Sada Python SDK nabízí několik způsobů, jak trénovat modely, z nichž každá má různé možnosti.
Trénovací metoda Popis command() Typickým způsobem, jak trénovat modely , je odeslat příkaz(), který obsahuje trénovací skript, prostředí a výpočetní informace. Automatizované strojové učení Automatizované strojové učení umožňuje trénovat modely bez rozsáhlých znalostí datových věd nebo programování. Pro lidi s datovými vědami a programováním na pozadí poskytuje způsob, jak ušetřit čas a prostředky automatizací výběru algoritmů a laděním hyperparametrů. Nemusíte se starat o definování konfigurace úlohy při použití automatizovaného strojového učení. Kanál strojového učení Kanály nejsou jinou metodou trénování, ale způsob definování pracovního postupu pomocí modulárních opakovaně použitelných kroků , které můžou zahrnovat trénování jako součást pracovního postupu. Kanály strojového učení podporují používání automatizovaného strojového učení a spouštění konfigurace pro trénování modelů. Vzhledem k tomu, že se kanály nezaměřují konkrétně na trénování, jsou důvody použití kanálu pestřejší než jiné metody trénování. Obecně platí, že kanál můžete použít v případech:
* Chcete naplánovat bezobslužné procesy , jako jsou dlouhotrvající trénovací úlohy nebo příprava dat.
* Použijte několik kroků , které jsou koordinované napříč heterogenními výpočetními prostředky a umístěními úložiště.
* Kanál použijte jako opakovaně použitelnou šablonu pro konkrétní scénáře, jako je opětovné natrénování nebo dávkové vyhodnocování.
* Sledování a verze zdrojů dat, vstupů a výstupů pro váš pracovní postup
* Pracovní postup implementují různé týmy, které pracují na konkrétních krocích nezávisle. Kroky je pak možné spojit v kanálu a implementovat pracovní postup.Návrhář: Návrhář Azure Machine Learning poskytuje snadný vstupní bod do strojového učení pro vytváření testování konceptů nebo pro uživatele s malými zkušenostmi s kódováním. Umožňuje trénovat modely pomocí webového uživatelského rozhraní založeného na přetahování. Kód Pythonu můžete použít jako součást návrhu nebo trénovat modely bez psaní kódu.
Azure CLI: Rozhraní příkazového řádku strojového učení poskytuje příkazy pro běžné úlohy se službou Azure Machine Learning a často se používá ke skriptování a automatizaci úloh. Například po vytvoření trénovacího skriptu nebo kanálu můžete pomocí Azure CLI spustit úlohu trénování podle plánu nebo při aktualizaci datových souborů použitých pro trénování. Pro trénovací modely poskytuje příkazy, které odesílaly trénovací úlohy. Může odesílat úlohy pomocí konfigurací spuštění nebo kanálů.
Každá z těchto metod trénování může pro trénování používat různé typy výpočetních prostředků. Společně se tyto prostředky označují jako cílové výpočetní objekty. Cílovým výpočetním objektem může být místní počítač nebo cloudový prostředek, jako je výpočetní prostředí Azure Machine Learning, Azure HDInsight nebo vzdálený virtuální počítač.
Python SDK
Sada Azure Machine Learning SDK pro Python umožňuje sestavovat a spouštět pracovní postupy strojového učení pomocí služby Azure Machine Learning. Službu můžete používat z interaktivní relace Pythonu, poznámkových bloků Jupyter, editoru Visual Studio Code nebo jiného integrovaného vývojového prostředí (IDE).
Odeslání příkazu
Pomocí příkazu ()je možné definovat obecnou úlohu trénování pomocí služby Azure Machine Learning. Příkaz se pak použije spolu s trénovacími skripty k trénování modelu na zadaném cílovém výpočetním objektu.
Můžete začít příkazem pro místní počítač a podle potřeby ho přepnout na cloudový cílový výpočetní objekt. Při změně cílového výpočetního objektu změníte pouze výpočetní parametr v příkazu, který používáte. Spuštění také protokoluje informace o trénovací úloze, jako jsou vstupy, výstupy a protokoly.
- Kurz: Trénování prvního modelu ML
- Příklady: Jupyter Notebook a Příklady trénovacích modelů v Pythonu
Automatizované strojové učení
Definujte iterace, nastavení hyperparametrů, featurizaci a další nastavení. Během trénování azure Machine Learning zkouší paralelně různé algoritmy a parametry. Trénování se zastaví, jakmile dosáhne vámi definovaných kritérií ukončení.
Tip
Kromě sady Python SDK můžete automatizované strojové učení používat také prostřednictvím studio Azure Machine Learning.
- Co je automatizované strojové učení?
- Kurz: Vytvoření prvního klasifikačního modelu pomocí automatizovaného strojového učení
- Postupy: Konfigurace experimentů automatizovaného strojového učení v Pythonu
- Postupy: Vytváření, zkoumání a nasazování experimentů automatizovaného strojového učení pomocí studio Azure Machine Learning
Kanál strojového učení
Kanály strojového učení můžou používat dříve uvedené metody trénování. Kanály jsou spíše o vytváření pracovního postupu, takže zahrnují více než jen trénování modelů.
- Co jsou kanály ML ve službě Azure Machine Learning?
- Kurz: Vytvoření produkčních kanálů ML pomocí sady Python SDK v2 v poznámkovém bloku Jupyter
Vysvětlení toho, co se stane, když odešlete trénovací úlohu
Životní cyklus trénování Azure se skládá z:
Zazipování souborů ve složce projektu a nahrání do cloudu
Tip
Chcete-li zabránit zahrnutí nepotřebných souborů do snímku, proveďte v adresáři ignorovaný soubor (
.gitignore
nebo.amlignore
). Do tohoto souboru přidejte soubory a adresáře, které se mají vyloučit. Další informace o syntaxi pro použití v tomto souboru naleznete v syntaxi a vzory pro.gitignore
. Soubor.amlignore
používá stejnou syntaxi. Pokud existují oba soubory,.amlignore
použije se soubor a.gitignore
soubor se nepoužívá.Vertikální navýšení kapacity výpočetního clusteru (nebo bezserverové výpočetní služby
Sestavení nebo stažení souboru dockerfile do výpočetního uzlu
- Systém vypočítá hodnotu hash:
- Základní image
- Vlastní kroky Dockeru (viz Nasazení modelu pomocí vlastní základní image Dockeru)
- Definice conda YAML (viz Správa prostředí Azure Machine Learning pomocí rozhraní příkazového řádku (v2))
- Systém použije tuto hodnotu hash jako klíč ve vyhledávání pracovního prostoru Azure Container Registry (ACR).
- Pokud se nenajde, vyhledá shodu v globální službě ACR.
- Pokud se nenajde, systém sestaví novou image (která se uloží do mezipaměti a zaregistruje se v ACR pracovního prostoru).
- Systém vypočítá hodnotu hash:
Stažení souboru zkomprimovaného projektu do dočasného úložiště na výpočetním uzlu
Rozbalení souboru projektu
Výpočetní uzel, který se spouští
python <entry script> <arguments>
Ukládání protokolů, souborů modelu a dalších souborů zapsaných do
./outputs
účtu úložiště přidruženého k pracovnímu prostoruVertikální snížení kapacity výpočetních prostředků, včetně odebrání dočasného úložiště
Návrhář služby Azure Machine Learning
Návrhář umožňuje trénovat modely pomocí rozhraní pro přetahování ve webovém prohlížeči.
Azure CLI
Rozhraní příkazového řádku strojového učení je rozšířením pro Azure CLI. Poskytuje příkazy rozhraní příkazového řádku pro různé platformy pro práci se službou Azure Machine Learning. Rozhraní příkazového řádku se obvykle používá k automatizaci úloh, jako je trénování modelu strojového učení.
VS Code
Rozšíření VS Code můžete použít ke spouštění a správě trénovacích úloh. Další informace najdete v průvodci postupy správy prostředků VS Code.
Další kroky
Naučte se kurz: Vytváření produkčních kanálů ML pomocí sady Python SDK v2 v poznámkovém bloku Jupyter.