Sdílet prostřednictvím


Kurz: Ucelené řešení využívající Azure Machine Learning a IoT Edge

Platí pro: Ikona Ano IoT Edge 1.1

Důležité

Datum ukončení podpory ioT Edge 1.1 bylo 13. prosince 2022. Informace o způsobu podpory tohoto produktu, služby, technologie nebo rozhraní API najdete v tématu věnovaném životnímu cyklu produktů Microsoftu. Další informace o aktualizaci na nejnovější verzi IoT Edge najdete v tématu Aktualizace IoT Edge.

Aplikace IoT často chtějí využívat inteligentní cloud a inteligentní hraniční zařízení. V tomto kurzu vás provedeme trénováním modelu strojového učení s daty shromážděnými ze zařízení IoT v cloudu, nasazením tohoto modelu do IoT Edge a pravidelnou údržbou a upřesněním modelu.

Poznámka:

Koncepty v této sadě kurzů platí pro všechny verze IoT Edge, ale ukázkové zařízení, které vytvoříte k vyzkoušení scénáře, běží IoT Edge verze 1.1.

Hlavním cílem tohoto kurzu je zavést zpracování dat IoT pomocí strojového učení, konkrétně na hraničních zařízeních. Přestože se dotkneme mnoha aspektů obecného pracovního postupu strojového učení, tento kurz není zamýšlený jako podrobný úvod do strojového učení. V tomto případě se v tomto případě nepokoušáme vytvořit vysoce optimalizovaný model pro případ použití – stačí jen ilustrovat proces vytváření a používání realizovatelného modelu pro zpracování dat IoT.

Tato část kurzu popisuje:

  • Předpoklady pro dokončení dalších částí kurzu.
  • Cílová cílová skupina kurzu.
  • Případ použití, který kurz simuluje.
  • Celkový proces, který tento kurz sleduje, aby byl splněn případ použití.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Požadavky

K dokončení kurzu potřebujete přístup k předplatnému Azure, ve kterém máte práva vytvářet prostředky. Za několik služeb používaných v tomto kurzu se účtují poplatky za Azure. Pokud ještě nemáte předplatné Azure, možná budete moct začít s bezplatným účtem Azure.

Potřebujete také počítač s nainstalovaným PowerShellem, kde můžete spouštět skripty pro nastavení virtuálního počítače Azure jako vývojového počítače.

V tomto dokumentu používáme následující sadu nástrojů:

  • Azure IoT Hub pro zachytávání dat

  • Azure Notebooks jako hlavní front-end pro přípravu dat a experimentování strojového učení Spuštění kódu Pythonu v poznámkovém bloku v podmnožině ukázkových dat je skvělý způsob, jak během přípravy dat rychle iterativní a interaktivní otáčení. Poznámkové bloky Jupyter je také možné použít k přípravě skriptů pro spouštění ve velkém měřítku ve výpočetním back-endu.

  • Azure Machine Learning jako back-end pro strojové učení ve velkém měřítku a pro generování imagí strojového učení. Back-end služby Azure Machine Learning řídíme pomocí skriptů připravených a otestovaných v poznámkových blocích Jupyter.

  • Azure IoT Edge pro mimo cloudovou aplikaci image strojového učení

Samozřejmě, jsou k dispozici další možnosti. V některých scénářích se například IoT Central dá použít jako alternativa bez kódu k zachycení počátečních trénovacích dat ze zařízení IoT.

Cílová skupina a role

Tato sada článků je určená pro vývojáře bez předchozích zkušeností s vývojem IoT nebo strojovém učením. Nasazení strojového učení na hraničních zařízeních vyžaduje znalosti o tom, jak připojit širokou škálu technologií. Tento kurz se proto zabývá celým komplexním scénářem, který ukazuje jeden způsob spojení těchto technologií pro řešení IoT. V reálném prostředí můžou být tyto úlohy rozděleny mezi několik lidí s různými specializacemi. Vývojáři by se například zaměřili na zařízení nebo cloudový kód, zatímco datoví vědci navrhli analytické modely. Abychom individuálnímu vývojáři umožnili úspěšné dokončení tohoto kurzu, poskytli jsme doplňkové pokyny s přehledy a odkazy na další informace, které doufáme, že jsou dostatečné k pochopení toho, co se dělá, a také proč.

Případně se můžete seskupit se spolupracovníky různých rolí, abyste mohli postupovat společně s kurzem, abyste se seznámili s vašimi úplnými znalostmi a naučili se jako tým, jak se věci shodují.

V obou případech vám pomůže orientovat čtenáře, každý článek v tomto kurzu označuje roli uživatele. Mezi tyto role patří:

  • Vývoj cloudu (včetně cloudového vývojáře pracujícího v kapacitě DevOps)
  • Analýza dat

Případ použití: Prediktivní údržba

Tento scénář vycházíme z případu použití, který jsme představili na konferenci o prognostice a správě stavu (PHM08) v roce 2008. Cílem je předpovědět zbývající životnost (RUL) sady motorů v letadlech s turbofanem. Tato data byla generována pomocí C-MAPSS, komerční verze softwaru MAPSS (Modular Aero-Pronut System Simulation). Tento software poskytuje flexibilní prostředí pro simulaci motoru turbofanu, které umožňuje pohodlně simulovat parametry stavu, řízení a motoru.

Data použitá v tomto kurzu pocházejí ze sady dat simulace snížení výkonu motoru Turbofan.

Ze souboru readme:

Experimentální scénář

Datové sady se skládají z několika multivariátních časových řad. Každá datová sada je dále rozdělená na trénovací a testovací podmnožiny. Každá časová řada je z jiného motoru – tj. data mohou být považována za flotilu motorů stejného typu. Každý motor začíná různými stupni počátečního opotřebení a výrobní variace, která je pro uživatele neznámá. Toto opotřebení a variace se považují za normální, tj. není považováno za chybný stav. Existují tři provozní nastavení, která mají významný vliv na výkon motoru. Tato nastavení jsou také součástí dat. Data jsou kontaminována šumem senzoru.

Motor funguje normálně na začátku každé časové řady a v určitém okamžiku během série vyvíjí chybu. V trénovací sadě se chyba rozrůstá až do selhání systému. V testovací sadě časová řada končí určitou dobu před selháním systému. Cílem soutěže je předpovědět počet zbývajících provozních cyklů před selháním v testovací sadě, tj. počet provozních cyklů po posledním cyklu, který bude motor nadále fungovat. Poskytuje také vektor hodnot true Remaining Useful Life (RUL) pro testovací data.

Vzhledem k tomu, že data byla publikována pro hospodářskou soutěž, bylo nezávisle publikováno několik přístupů k odvození modelů strojového učení. Zjistili jsme, že studie příkladů je užitečná při pochopení procesu a odůvodnění při vytváření konkrétního modelu strojového učení. Příklad:

Model predikce selhání leteckého motoru uživatelem GitHubu jancervenka

Turbofan snížení výkonu motoru uživatelem GitHubu hankroark.

Zpracovat

Následující obrázek znázorňuje přibližné kroky, které v tomto kurzu sledujeme:

Diagram architektury pro kroky procesu

  1. Shromažďování trénovacích dat: Proces začíná shromažďováním trénovacích dat. V některých případech už byla data shromážděna a jsou k dispozici v databázi nebo ve formě datových souborů. V jiných případech, zejména ve scénářích IoT, je potřeba data shromažďovat ze zařízení a senzorů IoT a ukládat je v cloudu.

    Předpokládáme, že nemáte kolekci turbofanových motorů, takže soubory projektu zahrnují jednoduchý simulátor zařízení, který odesílá data zařízení NASA do cloudu.

  2. Příprava dat. Ve většině případů budou nezpracovaná data shromážděná ze zařízení a senzorů vyžadovat přípravu na strojové učení. Tento krok může zahrnovat vyčištění dat, přeformátování dat nebo předběžné zpracování, aby bylo možné vložit další informace, které strojové učení může vypnout.

    Pro naše data stroje v letadle zahrnuje příprava dat výpočet explicitních časů selhání času na selhání pro každý datový bod ve vzorku na základě skutečných pozorování na datech. Tyto informace umožňují algoritmus strojového učení najít korelace mezi skutečnými vzory dat snímačů a očekávanou zbývající dobou života modulu. Tento krok je vysoce specifický pro doménu.

  3. Vytvoření modelu strojového učení Na základě připravených dat teď můžeme experimentovat s různými algoritmy strojového učení a parametrizací pro trénování modelů a porovnání výsledků s ostatními.

    V tomto případě při testování porovnáme predikovaný výsledek vypočítaný modelem s reálným výstupem pozorovanými na sadě motorů. Ve službě Azure Machine Learning můžeme spravovat různé iterace modelů, které vytvoříme v registru modelů.

  4. Nasazení modelu. Jakmile máme model, který splňuje naše kritéria úspěchu, můžeme přejít na nasazení. To zahrnuje zabalení modelu do aplikace webové služby, která se dá živit daty pomocí volání REST a vrátit výsledky analýzy. Aplikace webové služby se pak zabalí do kontejneru Dockeru, který se pak dá nasadit buď v cloudu, nebo jako modul IoT Edge. V tomto příkladu se zaměříme na nasazení do IoT Edge.

  5. Udržujte a upřesněte model. Naše práce se po nasazení modelu neprovede. V mnoha případech chceme pokračovat ve shromažďování dat a pravidelně nahrávat tato data do cloudu. Tato data pak můžeme použít k opětovnému trénování a upřesnění modelu, který pak můžeme znovu nasadit do IoT Edge.

Vyčištění prostředků

Tento kurz je součástí sady, kde každý článek vychází z práce provedené v předchozích článcích. Počkejte prosím, až vyčistíte všechny prostředky, dokud dokončíte konečný kurz.

Další kroky

Tento kurz je rozdělený do následujících částí:

  1. Nastavte vývojový počítač a služby Azure.
  2. Vygenerujte trénovací data pro modul strojového učení.
  3. Trénujte a nasaďte modul strojového učení.
  4. Nakonfigurujte zařízení IoT Edge tak, aby fungovalo jako transparentní brána.
  5. Vytvoření a nasazení modulů IoT Edge
  6. Odešlete data do zařízení IoT Edge.

Pokračujte dalším článkem a nastavte vývojový počítač a zřiďte prostředky Azure.