Trénování modelů pomocí služby Azure Machine Learning

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

Azure Machine Učení 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á:

  • Azure Machine Učení SDK pro Python: Sada Python SDK nabízí několik způsobů trénování modelů, 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 a 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ář služby Azure Machine Učení 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 Učení 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, například Azure Machine Učení Compute, Azure HDInsight nebo vzdálený virtuální počítač.

Python SDK

Sada Azure Machine Učení SDK pro Python umožňuje sestavovat a spouštět pracovní postupy strojového učení pomocí služby Azure Machine Učení. 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 Učení. 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.

Automatizované strojové učení

Definujte iterace, nastavení hyperparametrů, featurizaci a další nastavení. Během trénování azure machine Učení 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.

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ů.

Vysvětlení toho, co se stane, když odešlete trénovací úlohu

Životní cyklus trénování Azure se skládá z:

  1. 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á.

  2. Vertikální navýšení kapacity výpočetního clusteru (nebo bezserverové výpočetní služby

  3. Sestavení nebo stažení souboru dockerfile do výpočetního uzlu

    1. Systém vypočítá hodnotu hash:
    2. Systém použije tuto hodnotu hash jako klíč ve vyhledávání pracovního prostoru Azure Container Registry (ACR).
    3. Pokud se nenajde, vyhledá shodu v globální službě ACR.
    4. Pokud se nenajde, systém sestaví novou image (která se uloží do mezipaměti a zaregistruje se v ACR pracovního prostoru).
  4. Stažení souboru zkomprimovaného projektu do dočasného úložiště na výpočetním uzlu

  5. Rozbalení souboru projektu

  6. Výpočetní uzel, který se spouští python <entry script> <arguments>

  7. 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 prostoru

  8. Vertiká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 Učení. 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.