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í Pipeliney nejsou jinou metodou učení, ale způsobem, jak definovat pracovní postup pomocí modulárních, znovu použitelných kroků, které mohou zahrnovat učení 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ů. Protože pipeline nejsou zaměřeny konkrétně na školení, jsou důvody pro jejich použití rozmanitější než u ostatních metod školení. Obecně můžete pipeline použít v těchto 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í.
    * Sledujte a verzujte zdroje dat, vstupy a výstupy ve svém pracovním postupu
    * Pracovní postup implementují různé týmy, které pracují na konkrétních krocích nezávisle. Kroky pak lze spojit do kanálu, aby tvořily pracovní postup.
  • Návrhář: Azure Machine Learning Designer 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 vám trénovat modely pomocí webového uživatelského rozhraní s funkcí přetažení a puště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énování modelů poskytuje příkazy pro odesílání trénovacích úloh. Může odesílat úlohy pomocí spouštěcích konfigurací nebo pipeline.

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. Se službou můžete komunikovat v interaktivní relaci Pythonu, v Jupyter Notebookech, ve Visual Studio Code nebo v jiném integrovaném vývojovém prostředí (IDE).

Odeslání příkazu

Pomocí funkce command() je možné definovat obecnou úlohu trénování pomocí služby Azure Machine Learning. Pak se použije objekt Command 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 s objektem Command pro místní počítač a podle potřeby přepnout na objekt pro 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 objektu Command, který používáte. Běh také zaznamenává informace o úloze trénování, jako jsou vstupy, výstupy a protokoly událostí.

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

Návod

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í. Pipeliney slouží spíše k vytváření pracovního postupu, takže zahrnují více než jen trénink 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

    Návod

    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, kterou lze v tomto souboru použít, viz syntaxe a vzory pro .gitignore. Soubor .amlignore používá stejnou syntaxi. Pokud existují oba soubory, použije se soubor .amlignore a soubor .gitignore se nepoužije.

  2. Navýšení kapacity vašeho výpočetního clusteru (nebo bezserverových výpočtů

  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í projektového souboru

  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. Snížení výpočetního výkonu, 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 (příkazový řádek nástroje Azure)

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

Pomocí rozšíření VS Code můžete spouštět a spravovat trénovací úlohy. Další informace najdete v průvodci správou 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.