Den här exempelarkitekturen visar en metod från slutpunkt till slutpunkt för IoT-visuellt innehåll (Internet-of-things) i tillverkningen.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde
- Den anpassade IoT Edge-modulen fångar livevideoströmmen, delar upp den i ramar och utför slutsatsdragning på bilddata för att avgöra om en incident har inträffat.
- Den anpassade modulen använder också Azure Storage SDK-metoder eller blob-API för att ladda upp rådatavideofilerna till Azure Storage, som fungerar som ett raw-medielager.
- Den anpassade modulen skickar resultat och metadata för slutsatsdragning till Azure IoT Hub, som fungerar som en central meddelandehubb för kommunikation i båda riktningarna.
- Azure Logic Apps övervakar IoT Hub för meddelanden om incidenthändelser. Logic Apps dirigerar slutsatsdragningsresultat och metadata till Microsoft Dataverse för lagring.
- När en incident inträffar skickar Logic Apps SMS- och e-postmeddelanden till platsteknikern. Webbplatsteknikern använder en mobilapp baserad på Power Apps för att bekräfta och lösa incidenten.
- Power Apps hämtar slutsatsdragningsresultat och metadata från Dataverse och rådatavideofiler från Blob Storage för att visa relevant information om incidenten. Power Apps uppdaterar Dataverse med den incidentlösning som platsteknikern har angett. Det här steget fungerar som human-in-the-loop-validering för modellträningsändamål.
- Azure Data Factory är dataorkestreraren som hämtar rådatavideofiler från rådatalagret och hämtar motsvarande slutsatsdragningsresultat och metadata från Dataverse.
- Data Factory lagrar rådatavideofilerna, plus metadata, i Azure Data Lake, som fungerar som ett videoarkiv i granskningssyfte.
- Data Factory delar upp rådatavideofiler i ramar, konverterar inferensresultatet till etiketter och laddar upp data till Blob Storage, som fungerar som ML-datalager.
- Ändringar i modellkoden utlöser automatiskt Azure Pipelines-modellorkestreringspipelinen, som operatörerna också kan utlösa manuellt. Kodändringar startar även ML-modelltränings- och valideringsprocessen i Azure Machine Learning.
- Azure Machine Learning börjar träna modellen genom att validera data från ML-datalagret och kopiera de datauppsättningar som krävs till Azure Premium Blob Storage. Den här prestandanivån tillhandahåller en datacache för snabbare modellträning.
- Azure Machine Learning använder datauppsättningen i Premium-datacachen för att träna modellen, verifiera den tränade modellens prestanda, poängsätta den mot den nyligen tränade modellen och registrera modellen i Azure Machine Learning-registret.
- Azure Pipelines-modellorkestratorn granskar prestandan för den nyligen tränade ML-modellen och avgör om den är bättre än tidigare modeller. Om den nya modellen presterar bättre laddar pipelinen ned modellen från Azure Machine Learning och skapar en ny version av ML-slutsatsdragningsmodulen som ska publiceras i Azure Container Registry.
- När en ny ML-slutsatsdragningsmodul är klar distribuerar Azure Pipelines modulcontainern från Container Registry till IoT Edge-modulen i IoT Hub.
- IoT Hub uppdaterar IoT Edge-enheten med den nya ML-inferensmodulen.
Komponenter
- Azure IoT Edge-tjänsten analyserar enhetsdata lokalt för att skicka mindre data till molnet, reagera snabbt på händelser och arbeta under låg anslutning. En IoT Edge ML-modul kan extrahera användbara insikter från strömmande videodata.
- Azure IoT Hub är en hanterad tjänst som möjliggör tillförlitlig och säker dubbelriktad kommunikation mellan miljontals IoT-enheter och en molnbaserad serverdel. IoT Hub tillhandahåller autentisering per enhet, meddelanderoutning, integrering med andra Azure-tjänster och hanteringsfunktioner för att styra och konfigurera IoT-enheter.
- Azure Logic Apps är en serverlös molntjänst för att skapa och köra automatiserade arbetsflöden som integrerar appar, data, tjänster och system. Utvecklare kan använda en visuell designer för att schemalägga och samordna vanliga uppgiftsarbetsflöden. Logic Apps har anslutningsappar för många populära molntjänster, lokala produkter och andra SaaS-program (programvara som en tjänst). I den här lösningen kör Logic Apps arbetsflödet för automatiserade meddelanden som skickar SMS- och e-postaviseringar till platstekniker.
- Power Apps är en dataplattform och en uppsättning appar, tjänster och anslutningsappar. Det fungerar som en snabb programutvecklingsmiljö. Den underliggande dataplattformen är Microsoft Dataverse.
- Dataverse är en molnbaserad lagringsplattform för Power Apps. Dataverse stöder meddelanden från människor i loopen och lagrar metadata som är associerade med MLOps-datapipelinen.
- Azure Blob Storage är skalbar och säker objektlagring för ostrukturerade data. Du kan använda den för arkiv, datasjöar, högpresterande databehandling, maskininlärning och molnbaserade arbetsbelastningar. I den här lösningen tillhandahåller Blob Storage ett lokalt datalager för ML-datalagret och en Premium-datacache för träning av ML-modellen. Premiumnivån för Blob Storage är för arbetsbelastningar som kräver snabba svarstider och höga transaktionshastigheter, till exempel videoetiketterna human-in-the-loop i det här exemplet.
- Data Lake Storage är en mycket skalbar och säker lagringstjänst för analysarbetsbelastningar med höga prestanda. Data kommer vanligtvis från flera heterogena källor och kan vara strukturerade, halvstrukturerade eller ostrukturerade. Azure Data Lake Storage Gen2 kombinerar Azure Data Lake Storage Gen1-funktioner med Blob Storage och tillhandahåller filsystemssemantik, säkerhet på filnivå och skalning. Den erbjuder även funktioner för nivåindelad lagring, hög tillgänglighet och haveriberedskap i Blob Storage. I den här lösningen tillhandahåller Data Lake Storage arkiveringsvideoarkivet för rådata för videofiler och metadata.
- Azure Data Factory är en hybrid, fullständigt hanterad, serverlös lösning för arbetsflöden för dataintegrering och transformering. Det ger ett kodfritt användargränssnitt och en lätthanterad övervakningspanel. Azure Data Factory använder pipelines för dataflytt. Mappning av dataflöden utför olika transformeringsuppgifter, till exempel extrahera, transformera och läsa in (ETL) och extrahera, läsa in och transformera (ELT). I det här exemplet samordnar Data Factory data i en ETL-pipeline till de slutsatsdragningsdata som lagras i omträningssyfte.
- Azure Machine Learning är en maskininlärningstjänst i företagsklass för att snabbt skapa och distribuera modeller. Det ger användare på alla kunskapsnivåer en designer med låg kod, automatiserad maskininlärning och en värdbaserad Jupyter Notebook-miljö som stöder olika IDE:er.
- Azure Pipelines, en del av Azure DevOps teambaserade utvecklartjänster, skapar pipelines för kontinuerlig integrering (CI) och kontinuerlig distribution (CD). I det här exemplet validerar Azure Pipelines-modellorkestreraren ML-kod, utlöser serverlösa aktivitetspipelines, jämför ML-modeller och skapar inferenscontainern.
- Container Registry skapar och hanterar Docker-registret för att skapa, lagra och hantera Docker-containeravbildningar, inklusive containerbaserade ML-modeller.
- Azure Monitor samlar in telemetri från Azure-resurser, så att team proaktivt kan identifiera problem och maximera prestanda och tillförlitlighet.
Alternativ
I stället för att använda datapipelinen för att dela upp videoströmmen i bildramar kan du distribuera en Azure Blob Storage-modul till IoT Edge-enheten. Inferensmodulen laddar sedan upp de slutsatsrade bildramarna till lagringsmodulen på gränsenheten. Lagringsmodulen avgör när ramarna ska laddas upp direkt till ML-datalagret. Fördelen med den här metoden är att den tar bort ett steg från datapipelinen. Kompromissen är att gränsenheten är nära kopplad till Azure Blob Storage.
För modellorkestrering kan du använda antingen Azure Pipelines eller Azure Data Factory.
- Azure Pipelines-fördelen är dess nära band med ML-modellkoden. Du kan enkelt utlösa träningspipelinen med kodändringar via CI/CD.
- Fördelen med Data Factory är att varje pipeline kan etablera nödvändiga beräkningsresurser. Data Factory håller inte fast vid Azure Pipelines-agenterna för att köra ML-träning, vilket kan överbelasta det normala CI/CD-flödet.
Information om scenario
Helt automatiserade smarta fabriker använder artificiell intelligens (AI) och maskininlärning (ML) för att analysera data, köra system och förbättra processer över tid.
I det här exemplet skickar kameror bilder till en Azure IoT Edge-enhet som kör en ML-modell. Modellen beräknar slutsatsdragningar och skickar användbara utdata till molnet för vidare bearbetning. Mänskliga ingripanden är en del av den intelligens som ML-modellen samlar in. ML-processen är en kontinuerlig cykel av träning, testning, justering och validering av ML-algoritmerna.
Potentiella användningsfall
Tillverkningsprocesser använder IoT-visuellt innehåll i säkerhets- och kvalitetssäkringsprogram. IoT-system för visuellt innehåll kan:
- Hjälp till att säkerställa efterlevnaden av tillverkningsriktlinjer som korrekt etikettering.
- Identifiera tillverkningsfel som ojämnheter i ytan.
- Förbättra säkerheten genom att övervaka bygg- eller områdesingångar.
- Upprätthålla arbetstagarnas säkerhet genom att upptäcka personlig skyddsutrustning (PPE) användning och andra säkerhetsrutiner.
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Tillgänglighet
ML-baserade program kräver vanligtvis en uppsättning resurser för träning och en annan för servering. Träningsresurser behöver vanligtvis inte hög tillgänglighet eftersom liveproduktionsbegäranden inte använder dessa resurser direkt. Resurser som krävs för att hantera begäranden måste ha hög tillgänglighet.
Operations
Den här lösningen är indelad i tre verksamhetsområden:
I IoT-åtgärder använder en ML-modell på gränsenheten realtidsbilder från anslutna kameror för att härleda videoramar. Gränsenheten skickar också cachelagrade videoströmmar till molnlagring som ska användas för granskning och omträning av modeller. Efter ML-omträning uppdaterar Azure IoT Hub gränsenheten med den nya ML-slutsatsdragningsmodulen.
MLOps använder DevOps-metoder för att samordna modellträning, testning och distributionsåtgärder. MLOps livscykelhantering automatiserar processen med att använda ML-modeller för komplext beslutsfattande eller produktion av modellerna. Nyckeln till MLOps är nära samordning mellan de team som skapar, tränar, utvärderar och distribuerar ML-modellerna.
Mänskliga åtgärder i loopen meddelar människor att ingripa vid vissa steg i automatiseringen. I transaktioner med människa i loopen kontrollerar och utvärderar arbetare resultatet av maskininlärningsförutsägelserna. Mänskliga ingripanden blir en del av den intelligens som ML-modellen samlar in och hjälper till att validera modellen.
Följande mänskliga roller är en del av den här lösningen:
Webbplatstekniker får incidentmeddelanden som Logic Apps skickar och validerar ml-modellens resultat eller förutsägelser manuellt. Till exempel kan platsteknikern undersöka en ventil som modellen förutspådde hade misslyckats.
Dataetiketter etiketterar datauppsättningar för omträning för att slutföra loopen i lösningen från slutpunkt till slutpunkt. Dataetikettprocessen är särskilt viktig för bilddata, som ett första steg i att träna en tillförlitlig modell via algoritmer. I det här exemplet organiserar Azure Data Factory videorutorna i positiva och falska positiva grupper, vilket gör dataetikettens arbete enklare.
Dataforskare använder de märkta datauppsättningarna för att träna algoritmerna för att göra korrekta förutsägelser i verkligheten. Dataforskare använder MLOps med GitHub Actions eller Azure Pipelines i en CI-process för att automatiskt träna och validera en modell. Träning kan utlösas manuellt eller automatiskt genom att checka in nya träningsskript eller data. Dataforskare arbetar på en Azure Machine Learning-arbetsyta som automatiskt kan registrera, distribuera och hantera modeller.
IoT-tekniker använder Azure Pipelines för att publicera IoT Edge-moduler i containrar till Container Registry. Tekniker kan distribuera och skala infrastrukturen på begäran med hjälp av en CD-pipeline.
Säkerhetsrevisorer granskar arkiverade videoströmmar för att identifiera avvikelser, utvärdera efterlevnad och bekräfta resultat när frågor uppstår om en modells förutsägelser.
I den här lösningen matar IoT Hub in telemetri från kamerorna och skickar måtten till Azure Monitor, så att platstekniker kan undersöka och felsöka. Azure Machine Learning skickar observerbarhetsmått och modelltelemetri till Azure Monitor, vilket hjälper IoT-tekniker och dataforskare att optimera åtgärder.
Prestanda
IoT-enheter har begränsad minnes- och bearbetningskraft, så det är viktigt att begränsa storleken på modellcontainern som skickas till enheten. Se till att använda en IoT-enhet som kan utföra modellinferens och ge resultat inom en acceptabel tidsperiod.
För att optimera prestanda för träningsmodeller använder den här exempelarkitekturen Azure Premium Blob Storage. Den här prestandanivån är utformad för arbetsbelastningar som kräver snabba svarstider och höga transaktionshastigheter, t.ex. scenariot med videoetiketter med mänsklig in-the-loop.
Prestandaöverväganden gäller även för datainmatningspipelinen. Data Factory maximerar dataflytten genom att tillhandahålla en mycket högpresterande och kostnadseffektiv lösning.
Skalbarhet
De flesta komponenter som används i den här lösningen är hanterade tjänster som skalas automatiskt.
Skalbarhet för IoT-programmet beror på IoT Hub-kvoter och begränsning. Faktorer att tänka på är:
- Maximal dagskvot för meddelanden till IoT Hub.
- Kvot för anslutna enheter i en IoT Hub-instans.
- Dataflöde för inmatning och bearbetning.
I ML avser skalbarhet skalbarhet skalbara kluster som används för att träna modeller mot stora datamängder. Skalbarhet gör det också möjligt för ML-modellen att uppfylla kraven från de program som använder den. För att uppfylla dessa behov måste ML-klustret tillhandahålla utskalning på processorer och på GPU-aktiverade noder (grafikprocessorer).
Allmän vägledning om hur du utformar skalbara lösningar finns i checklistan för prestandaeffektivitet i Azure Architecture Center.
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.
Åtkomsthantering i Dataverse och andra Azure-tjänster hjälper till att säkerställa att endast behöriga användare kan komma åt miljön, data och rapporter. Den här lösningen använder Azure Key Vault för att hantera lösenord och hemligheter. Lagringen krypteras med hjälp av kundhanterade nycklar.
Allmän vägledning om hur du utformar säkra IoT-lösningar finns i Azure Security-dokumentationen och Azure IoT-referensarkitekturen.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.
Normalt beräknar du kostnader med hjälp av Azures priskalkylator. Mer information finns i Kostnadsoptimering.
Azure Machine Learning distribuerar även Container Registry-, Azure Storage- och Azure Key Vault-tjänster, vilket medför extra kostnader. Mer information finns i Så här fungerar Azure Machine Learning: Arkitektur och begrepp.
Prissättningen för Azure Machine Learning inkluderar avgifter för de virtuella datorer (VM) som används för att träna modellen i molnet. Information om tillgängligheten för Azure Machine Learning och virtuella datorer per Azure-region finns i Produkter tillgängliga per region.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Wilson Lee | Huvudprogramtekniker
Nästa steg
- IoT-begrepp och Azure IoT Hub
- Vad är Azure Logic Apps?
- Vad är Power Apps?
- Dokumentation om Microsoft Power Apps
- Vad är Microsoft Dataverse?
- Dokumentation om Microsoft Dataverse
- Introduktion till Azure Data Lake Storage Gen2
- Vad är Azure Data Factory?
- Dokumentation om Azure Machine Learning
- Vad är Azure DevOps?
- Vad är Azure Pipelines?
- Dokumentation om Azure Container Registry
- Översikt över Azure Monitor
- Azure IoT för säkrare arbetsplatser
- Dow Chemical använder visions-AI på gränsen för att öka medarbetarnas säkerhet och säkerhet med Azure
- GitHub-exempel för identifiering av edge-objekt