Co je automatizované strojové učení (AutoML)?

Automatizované strojové učení, označované také jako automatizované ML nebo AutoML, je proces automatizace časově náročných iterativních úloh vývoje modelů strojového učení. Umožňuje datovým vědcům, analytikům a vývojářům vytvářet ML s vysokou škálovatelná, efektivní a produktivitou a současně udržovat kvalitu modelu. Automatizované ML v Azure Machine Learning je založené na převratu z naší divize Microsoft Research.

Tradiční vývoj modelů strojového učení je náročný na prostředky a jeho vytvoření a porovnání vyžaduje významné znalosti a čas v různých oborech. Díky automatizovanému strojového učení zrychlíte dobu, kterou je potřeba k tomu, abyste ML modely byly připravené pro produkční prostředí, a to velmi snadno a zrychleně.

Způsoby použití AutoML v Azure Machine Learning

Azure Machine Learning nabízí následující dvě prostředí pro práci s automatizovanými ML. Informace o dostupnosti funkcí v jednotlivých prostředích najdete v následujících částech.

Nastavení experimentu

Následující nastavení umožňují konfigurovat automatizované experimenty ML experimentu.

Sada Python SDK Webové prostředí studia
Rozdělení dat na trénování/ověřovací sady
Podporuje ML úlohy: klasifikace, regrese, & prognózování.
Podporuje úlohy počítačového zpracování obrazu (Preview): klasifikace obrázků, rozpoznávání objektů & segmentace instancí.
Optimalizace na základě primární metriky
Podporuje Azure ML jako cílový výpočetní objekt.
Konfigurace forecast horizon, target lags & rolling window
Nastavení kritérií ukončení
Nastavení souběžných iterací
Vyřazení sloupců
Blokové algoritmy
Křížové ověření
Podporuje trénování na Azure Databricks clusterech.
Zobrazení názvů inženýrovaných funkcí
Souhrn featurizace
Featurizace pro svátky
Úrovně podrobností v souboru protokolu

Nastavení modelu

Tato nastavení je možné použít na nejlepší model v důsledku automatizovaného ML experimentu.

Sada Python SDK Webové prostředí studia
Nejlepší registrace modelu, nasazení, vysvětlitelnost
Povolení souborové hlasovací skupiny & stackových souborových modelů
Zobrazení nejlepšího modelu na základě ne primární metriky
Povolení nebo zakázání kompatibility modelů ONNX
Testování modelu : (Preview)

Nastavení řízení spouštění

Tato nastavení umožňují kontrolovat a řídit spuštění experimentu a jeho podřízených spuštění.

Sada Python SDK Webové prostředí studia
Spuštění souhrnné tabulky
Zrušení spuštění & podřízených spuštění
Získání ochranného zásytku
Pozastavení & spuštění obnovení

Kdy použít AutoML: klasifikace, regrese, prognózování & počítačové zpracování obrazu

Pokud chcete ML a vyladit Azure Machine Learning pomocí cílové metriky, kterou zadáte, použijte automatizované funkce. Automatizovaná ML demokratizuje proces vývoje modelu strojového učení a umožňuje uživatelům bez ohledu na znalosti datových věd identifikovat koncový kanál strojového učení pro jakýkoli problém.

Datoví vědci, analytici a vývojáři v různých odvětvích mohou pomocí automatizovaných ML k:

  • implementace řešení ML bez rozsáhlých programovacích znalostí
  • Úspora času a prostředků
  • Využijte osvědčené postupy pro datové vědy
  • Zajištění agilních problémů – řešení potíží

Classification

Klasifikace je běžný úkol strojového učení. Klasifikace je typ vzdělávání pod dohledem, ve kterém se modely učí pomocí školicích dat, a aplikujte tyto učení na nová data. Azure Machine Learning nabízí featurizations specificky pro tyto úlohy, jako je například hluboký neuronové network text featurizers for classification. Další informace o možnostech featurization

Hlavním cílem modelů klasifikace je předpovědět, ke kterým kategoriím budou nová data zacházet v závislosti na studiu ze svých školicích dat. Mezi běžné klasifikace patří zjišťování podvodů, rozpoznávání rukopisu a detekce objektů. Přečtěte si další informace a podívejte se na příklad Vytvoření klasifikačního modelu pomocí automatizovaného ml.

Podívejte se na příklady klasifikace a automatizované strojové učení v těchto poznámkových blocích Pythonu: zjišťování podvodů, předpověď marketingua klasifikace dat diskusních skupin .

Regrese

Podobně jako u klasifikace jsou regresní úlohy také běžnou úlohou v dohledovém učení. Azure Machine Learning nabízí featurizations specificky pro tyto úlohy.

Liší se od klasifikace, kde jsou hodnoty předpokládaných výstupů kategorií, regresní modely odhadne číselné výstupní hodnoty na základě nezávislých prediktivních. V regresi je cílem přispět k navázání vztahu mezi těmito nezávislými proměnnými proměnných odhadem toho, jak jedna proměnná má vliv na ostatní. Například cena automobilu na základě funkcí, jako je plynová km, bezpečnostní hodnocení atd. Přečtěte si další informace a podívejte se na příklad regrese pomocí automatizovaného strojového učení.

Podívejte se na příklady regrese a automatizovaného strojového učení pro předpovědi v těchto poznámkových blocích Pythonu: předpověď výkonu procesoru,

Prognózování časových řad

Vytváření prognóz je nedílnou součástí jakékoli firmy, ať už jde o výnosy, inventář, prodej nebo poptávku zákazníků. automatizované ML můžete použít ke kombinování technik a přístupů a k získání doporučené a vysoce kvalitní prognózy časových řad. Další informace s tímto postupem: automatizované Machine Learning pro prognózování časových řad.

Automatický experiment s časovou řadou se považuje za problém lineární regrese. Hodnoty za časovou řadou jsou "pivoted" a stanou se dalšími dimenzemi pro regresor společně s jinými koproměnnými. Tento přístup, na rozdíl od metod klasických časových řad, má výhodu přirozeně zahrnující více kontextových proměnných a jejich vzájemný vztah během školení. automatizované ML se učí jeden, ale často interně rozvětvený model pro všechny položky v datové sadě a horizontech předpovědi. K dispozici jsou proto další data k odhadování parametrů modelu a generalizace na nedostupné řady.

Pokročilá konfigurace prognózy zahrnuje:

  • detekce svátků a featurization
  • DNN (auto-ARIMA, Prophet, ForecastTCN)
  • mnoho modelů podporuje seskupení
  • křížové ověření pro návratové zdroje
  • konfigurovatelné prodlevy
  • souhrnné funkce kumulovaných oken

Podívejte se na příklady regrese a automatizovaného strojového učení pro předpovědi v těchto poznámkových blocích Pythonu: Prognózování prodeje, Prognózování poptávkya výrobní prognózy pro nápoje.

Počítačové zpracování obrazu (Preview)

Důležité

Tato funkce je aktuálně ve verzi Public Preview. Tato verze Preview se poskytuje bez smlouvy o úrovni služeb. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

automatizované ML pro image (preview) přidávají podporu pro úlohy počítačové vidění, což vám umožní snadno generovat modely vyškolené pro data imagí pro scénáře, jako je klasifikace obrázků a detekce objektů.

Díky tomu můžete:

  • bezproblémová integrace s Azure Machine Learning možností označování dat
  • Použití popisků dat pro generování modelů obrázků
  • Optimalizujte výkon modelu zadáním algoritmu modelu a vyladěním parametrů.
  • Stáhněte nebo nasaďte výsledný model jako webovou službu v Azure Machine Learning.
  • zprovoznění se škálováním a využitím Azure Machine Learning MLOps a ML Pipelines možnosti.

vytváření AutoML modelů pro úlohy vision je podporované prostřednictvím sady Azure ML Python SDK. výsledné spouštění, modely a výstupy experimentů jsou dostupné z uživatelského rozhraní Azure Machine Learning studia.

Naučte se, jak nastavit školení AutoML pro modely počítačové vize.

Příklady úkolů počítačové vidění. Obrázek z: http://cs231n.stanford.edu/slides/2021/lecture_15.pdf obrázek z: http://cs231n.stanford.edu/slides/2021/lecture_15.pdf

automatizované ML pro obrázky podporují následující úlohy počítačové vidění:

Úkol Popis
Klasifikace obrázků s více třídami Úlohy, ve kterých je obrázek klasifikován pouze s jedním popiskem ze sady tříd – např. každý obrázek je klasifikován jako obrázek Cat nebo pes nebo "kachní".
Klasifikace obrázků s více štítky Úlohy, které mohou mít obrázek jeden nebo více štítků ze sady štítků, např. obrázek může být označen jako "Cat" i "pes"
Detekce objektů Úkoly pro identifikaci objektů v obrázku a umístění každého objektu s ohraničujícím polem, například vyhledá všechny psi a kočky v obrázku a nakreslí ohraničující rámeček kolem každého.
Segmentace instancí Úkoly pro identifikaci objektů v obrázku na úrovni obrazového bodu, kreslení mnohoúhelníků kolem jednotlivých objektů v obrázku.

jak funguje automatizované ML

během školení Azure Machine Learning vytvoří řadu kanálů paralelně, které pro vás vyzkouší různé algoritmy a parametry. služba projde ML algoritmy spárované s výběry funkcí, kde každá iterace vytvoří model se studijním skóre. Čím vyšší je skóre, tím lépe se model považuje za "přizpůsobit" vašim datům. Dojde k zastavení, jakmile bude narazí na kritéria ukončení definovaná v experimentu.

pomocí Azure Machine Learning můžete navrhovat a spouštět automatizované ML školení pomocí těchto kroků:

  1. identifikujte problém ML , který se má vyřešit: klasifikace, předpovědi, regrese nebo počítačové vidění (preview).

  2. Vyberte, jestli chcete použít sadu Python SDK nebo webové prostředí studia: Přečtěte si informace o paritě mezi webovým prostředím Python SDK a Studio.

  3. Zadejte zdroj a formát podaných školicích dat: numpy Arrays nebo PANDAS dataframe

  4. nakonfigurujte výpočetní cíl pro školení modelů, jako je například váš místní počítač, Azure Machine Learning výpočetní prostředí, vzdálené virtuální počítače nebo Azure Databricks.

  5. Nakonfigurujte parametry automatizovaného strojového učení , které určují, kolik iterací pro různé modely, nastavení parametrů, pokročilý předzpracování/featurization a jaké metriky se mají při určování nejlepšího modelu prohlédnout.

  6. Odešlete školicí běh.

  7. Kontrola výsledků

Tento proces je znázorněn na následujícím obrázku. Automatizované Machine Learning

Můžete také zkontrolovat protokolované informace o spuštění, které obsahují metriky shromážděné během spuštění. Školicí běh vytvoří serializovaný objekt ( .pkl soubor) Pythonu, který obsahuje model a předzpracování dat.

I když je vytváření modelů automatizované, můžete také zjistit, jak jsou pro vygenerované modely důležité nebo relevantní funkce .

doprovodné materiály k místním a vzdáleným spravovaným ML výpočetním cílům

webové rozhraní pro automatizované ML vždy používá vzdálený cíl výpočtů. při použití sady Python SDK ale zvolíte buď místní výpočetní, nebo vzdálený výpočetní cíl pro automatizované ML školení.

  • Místní výpočty: školení probíhá na vašem místním přenosném počítači nebo na VÝPOČETNÍm virtuálním počítači.
  • vzdálené výpočty: školení probíhá na Machine Learning výpočetních clusterů.

Zvolit cíl pro výpočetní prostředky

Při volbě cíle výpočetní služby Vezměte v úvahu tyto faktory:

  • Zvolte místní výpočetní prostředky: Pokud se váš scénář týká počátečních průzkumů nebo ukázek pomocí malých objemů dat a krátkých vlaků (tj. sekund nebo pár minut na jeden podřízený běh), může být lepší volbou školení na místním počítači. Nejedná se o čas nastavení, prostředky infrastruktury (Váš počítač nebo virtuální počítač) jsou přímo dostupné.
  • vyberte výpočetní cluster vzdálené ML: pokud provádíte školení s většími datovými sadami, jako je v produkčním školení, vytváření modelů, které potřebují delší vlaky, vzdálené výpočty budou poskytovat mnohem lepší výkon, protože AutoML se paralelizovat vlaky v uzlech clusteru. Ve vzdáleném výpočetním prostředí se čas spuštění interní infrastruktury přidá přibližně 1,5 minut na jedno podřízený běh a další minuty pro infrastrukturu clusteru, pokud virtuální počítače ještě nejsou spuštěné.

Specialisté a nevýhody

Při volbě místní a vzdálené považovat tyto specialisty i nevýhody.

Specialisté (výhody) Nevýhody (nevýhody)
Místní cíl výpočtů
  • Čas spuštění prostředí není k dispozici.
  • Podmnožina funkcí
  • Nejde paralelizovat spustit.
  • Horší pro velké objemy dat.
  • Žádné datové streamy během školení
  • Žádná featurization založená na DNN
  • Jenom Python SDK
  • vzdálené ML výpočetní clustery
  • Úplná sada funkcí
  • Paralelizovat podřízená spuštění
  • Podpora velkých objemů dat
  • Featurization založené na DNN
  • Dynamická škálovatelnost výpočetního clusteru na vyžádání
  • K dispozici je také prostředí bez kódu (webové uživatelské rozhraní).
  • Čas spuštění pro uzly clusteru
  • Čas zahájení u každého podřízeného spuštění
  • Dostupnost funkcí

    K dispozici jsou další funkce, pokud používáte vzdálené výpočty, jak je znázorněno v následující tabulce.

    Funkce Vzdálené Místní
    Streamování dat (podpora velkých objemů dat, až 100 GB)
    Featurization a školení textu založeného na DNN-BERT
    Dopředná podpora GPU (školení a odvození)
    Klasifikace obrázků a podpora popisků
    Modely auto-ARIMA, Prophet a ForecastTCN pro prognózování
    Paralelní vícenásobné běhy a iterace
    Vytváření modelů s možností interpretace v uživatelském rozhraní AutoML Studio Web Experience
    Přizpůsobení technologie funkcí v uživatelském rozhraní sady Studio Web Experience
    ladění parametrů pro Azure ML
    podpora pracovního postupu kanálu Azure ML
    Pokračovat v běhu
    Prognózování
    Vytváření a spouštění experimentů v poznámkových blocích
    Zaregistrujte a vizualizujte informace a metriky experimentů v uživatelském rozhraní.
    Guardrails dat

    Školení, ověřování a testování dat

    díky automatizovaným ML poskytujete školicí data pro výuku MLch modelů a můžete určit, jaký typ ověřování modelu chcete provést. automatizované ML provádí ověřování modelu v rámci školení. to znamená, že automatizované ML používá data pro ověřování k ladění parametrů vedení založeného na použitém algoritmu, aby našli nejlepší kombinaci, která nejlépe odpovídá školicím datům. Pro každou iteraci vyladění se však používají stejná ověřovací data, která zavádí posun vyhodnocování modelu, protože model pokračuje v vylepšování a je vhodný pro data ověřování.

    aby bylo možné potvrdit, že toto posunování není aplikováno na konečný doporučený model, automatizované ML podporuje použití testovacích dat k vyhodnocení finálního modelu, který automatizované ML doporučuje na konci experimentu. Když zadáte testovací data jako součást konfigurace experimentu AutoML, tento doporučený model se ve výchozím nastavení testuje na konci experimentu (Preview).

    Důležité

    Testování modelů s testovací datovou sadou pro vyhodnocení vygenerovaných modelů je funkce ve verzi Preview. Tato funkce je experimentální funkcí ve verzi Preview a může se kdykoli změnit.

    naučte se konfigurovat experimenty AutoML pro použití testovacích dat (preview) se sadou SDK nebo s nástrojem Azure Machine Learning studio.

    můžete také otestovat jakýkoli existující model automatizovaného ML (preview), včetně modelů z podřízených spuštění, poskytnutím vlastních testovacích dat nebo nastavením části vašich školicích dat.

    Příprava atributů

    inženýr funkcí je proces využití dat v doméně k vytváření funkcí, které vám pomůžou lépe ML algoritmy. v Azure Machine Learning se pro usnadnění metodologie funkcí používají způsoby škálování a normalizace. Souhrnně jsou tyto techniky a inženýry funkcí označovány jako featurization.

    Pro automatizované experimenty strojového učení se featurization aplikuje automaticky, ale dá se přizpůsobit i na základě vašich dat. Přečtěte si další informace o tom, co je zahrnuté featurization.

    Poznámka

    Automatické kroky featurization strojového učení (normalizace funkcí, zpracování chybějících dat, převod textu na číselnou atd.) se stanou součástí základního modelu. Při použití modelu pro předpovědi se na vstupní data automaticky aplikují stejné kroky featurization, jaké jste použili během školení.

    Automatický featurization (Standard)

    V každém automatizovaném experimentu Machine Learning se vaše data automaticky škálují nebo normalizují, aby se algoritmy lépe prováděly. Během školení modelů se u každého modelu použije jedna z následujících technik škálování nebo normalizace. Přečtěte si, jak AutoML pomáhá zabránit přebudování a nevyváženým datům ve vašich modelech.

      &   Zpracování škálování Popis
    StandardScaleWrapper Standardizace funkcí odebráním střední odchylky a měřítka jednotky
    MinMaxScalar Transformuje funkce změnou velikosti jednotlivých funkcí na minimum a maximum tohoto sloupce.
    MaxAbsScaler Škálovat jednotlivé funkce podle maximální absolutní hodnoty
    RobustScalar Škáluje funkce podle jejich Quantile rozsahu.
    PCA Redukce v lineárním měřítku za použití hodnoty data k tomu, aby se vygenerovala do menšího prostorového prostoru
    TruncatedSVDWrapper Tento transformátor provádí snížení hodnoty lineárně pomocí zkrácené dekompozice hodnot v jednotném čísle (SVD). V rozporu s DPS, tato Estimator data necentruje před výpočetem dekompozice hodnot v jednotném prostředí, což znamená, že může pracovat s efektivně scipy. zhuštěnými matricemi.
    SparseNormalizer Každý vzorek (to znamená, že každý řádek datové matice) s nejméně jednou nenulovou komponentou je znovu škálovat nezávisle na jiných vzorcích, takže jeho norma (L1 nebo L2) se rovná jedné

    Přizpůsobení featurization

    K dispozici jsou také další techniky techniků, jako je například kódování a transformace.

    Povolit toto nastavení pomocí:

    • Azure Machine Learning studio: v části zobrazit další konfiguraci povolte automatické featurization pomocí těchto kroků.

    • Python SDK: zadejte "feauturization": 'auto' / 'off' / 'FeaturizationConfig' v objektu AutoMLConfig . Přečtěte si další informace o Povolení featurization.

    Modely kompletování

    Automatizované Machine Learning podporuje modely kompletování, které jsou ve výchozím nastavení povolené. Seznámení se službou kompletování vylepšuje výsledky strojového učení a prediktivní výkon tím, že kombinuje více modelů na rozdíl od použití jednoduchých modelů. Iterace kompletu se zobrazí jako poslední iterace vašeho spuštění. Automatizované strojové učení používá pro kombinování modelů jak hlasovací, tak i stohování metod kompletování:

    • Hlasovací vše: Předpověď na základě váženého průměru předpokládaných pravděpodobností třídy (pro úlohy klasifikace) nebo předpokládaných regresních cílů (pro regresní úkoly).
    • Skládání: skládání kombinuje modely heterogenní a nakládá Meta model založený na výstupu z jednotlivých modelů. Aktuální výchozí meta modely jsou LogisticRegression pro úlohy klasifikace a ElasticNet pro úlohy regrese/předpovědi.

    K rozhodnutí, které modely použít v kompletu, se používá algoritmus výběru kompletu Caruana se seřazenou inicializací kompletu. Na vysoké úrovni tento algoritmus inicializuje komplet až o pět modelů s nejlepšími jednotlivými výsledky a ověří, že tyto modely jsou v rámci 5% prahové hodnoty nejlepšího skóre, aby nedocházelo k nedostatečnému počátečnímu kompletování. Pak pro každou iteraci komplet se do existující kompletu přidá nový model a vypočte se výsledné skóre. Pokud nový model vylepšuje existující skóre kompletu, je komplet aktualizován tak, aby obsahoval nový model.

    Přečtěte si téma postup pro změnu výchozího nastavení kompletu v automatizovaném strojovém učení.

    AutoML & ONNX

    pomocí Azure Machine Learning můžete pomocí automatizovaných ML vytvořit model pythonu a převést ho na formát ONNX. Jakmile jsou modely ve formátu ONNX, dají se spouštět na různých platformách a zařízeních. přečtěte si další informace o urychlení ML modelů pomocí ONNX.

    Podívejte se, jak převést na formát ONNX v tomto příkladu poznámkového bloku Jupyter. Zjistěte, které algoritmy jsou v ONNX podporované.

    Modul runtime ONNX podporuje také jazyk C#, takže můžete použít model sestavený automaticky v aplikacích C# bez nutnosti opětovného kódování nebo jakékoli latence sítě, které zavádí koncové body REST. přečtěte si další informace o použití modelu AutoML ONNX v aplikaci .net s ML modely .net a inferencing ONNX s rozhraním ONNX runtime C#.

    Další kroky

    K dispozici je několik prostředků, které vám pomohou při práci s AutoML.

    Kurzy a postupy

    Kurzy představují ucelené Úvodní příklady scénářů AutoML.

    články s návody poskytují další podrobnosti o tom, jaké funkce automatizované ML nabídky nabízí. Třeba

    Ukázky poznámkových bloků Jupyter

    přečtěte si podrobné příklady kódu a případy použití v úložišti poznámkového bloku GitHub pro automatizované ukázky strojového učení.

    Referenční dokumentace sady Python SDK

    Prohloubte své znalosti vzorů návrhu sady SDK a specifikace tříd pomocí Referenční dokumentace třídy AutoML.

    Poznámka

    automatické funkce strojového učení jsou k dispozici i v dalších řešeních microsoftu, například ML .net, HDInsight, Power BI a SQL Server