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.
Pro zákazníky se zkušenostmi s kódem Azure Machine Learning Python SDK. Začínáme s kurzem: Využití automatizovaného strojového učení k predikci ceny jízdy taxíkem
Pro zákazníky s omezeným prostředím nebo bez kódu Azure Machine Learning studio na https://ml.azure.com . Začínáme s těmito kurzy:
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.
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ů:
identifikujte problém ML , který se má vyřešit: klasifikace, předpovědi, regrese nebo počítačové vidění (preview).
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.
- v případě omezeného nebo žádného prostředí pro práci s kódem zkuste vyzkoušet web Azure Machine Learning studio na adrese.https://ml.azure.com
- pro vývojáře v pythonu se podívejte na sadu SDK Azure Machine Learning pythonu .
Zadejte zdroj a formát podaných školicích dat: numpy Arrays nebo PANDAS dataframe
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.
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.
Odešlete školicí běh.
Kontrola výsledků
Tento proces je znázorněn na následujícím obrázku.

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
AutoMLse 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ů | ||
| vzdálené ML výpočetní clustery |
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.
Při prvním použití kódu postupujte podle kurzu: výuka regresní model pomocí AutoML a Pythonu.
pro prostředí s nízkým nebo nedodržením kódu si přečtěte kurz: výuka modelu klasifikace bez kódu AutoML v Azure Machine Learning studiu.
Informace o tom, Jak používat AutoML ke školení modelů počítačového zpracování obrazu, najdete v kurzu: výuka modelu detekce objektu (Preview) pomocí AutoML a Pythonu.
články s návody poskytují další podrobnosti o tom, jaké funkce automatizované ML nabídky nabízí. Třeba
Konfigurovat nastavení pro automatické experimenty školení
Naučte se vytvářet prognózy modelů s daty časových řad.
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