Distribuera AI och maskininlärningsbaserad databehandling lokalt och till gränsenheter

Container Registry
IoT Edge
Machine Learning
Azure Stack Edge

Den här referensarkitekturen illustrerar hur du använder Azure Stack Edge för att utöka snabb maskininlärning från molnet till lokala scenarier eller gränsscenarier. Azure Stack Hub tillhandahåller Azure-funktioner som beräkning, lagring, nätverk och maskinvaruaccelererad maskininlärning till valfri gränsplats.

Arkitektur

Arkitekturdiagram: Lokala data tränar en modell i Azure Machine Learning, där modellen distribueras tillbaka till gränsen för slutsatsdragning.

Ladda ned en Visio-fil med den här arkitekturen.

Arbetsflöde

Arkitekturen består av följande steg:

  • Azure Machine Learning. Med Machine Learning kan du skapa, träna, distribuera och hantera maskininlärningsmodeller i en molnbaserad miljö. Dessa modeller kan sedan distribueras till Azure-tjänster, inklusive (men inte begränsat till) Azure Container Instances, Azure Kubernetes Service (AKS) och Azure Functions.
  • Azure Container Registry. Container Registry är en tjänst som skapar och hanterar Docker-registret. Container Registry skapar, lagrar och hanterar Docker-containeravbildningar och kan lagra maskininlärningsmodeller i containrar.
  • Azure Stack Edge. Azure Stack Edge är en gränsberäkningsenhet som är utformad för maskininlärningsinferens vid gränsen. Data förbearbetas vid gränsen innan de överförs till Azure. Azure Stack Edge innehåller maskinvara för beräkningsacceleration som är utformad för att förbättra prestanda för AI-slutsatsdragning vid gränsen.
  • Lokal data. Lokala data refererar till alla data som används i träning av maskininlärningsmodellen. Data kan finnas i valfri lokal lagringslösning, inklusive Azure Arc-distributioner.

Komponenter

Scenarioinformation

Potentiella användningsfall

Denna lösning är idealisk för telekommunikationsindustrin. Vanliga användningsområden för att utöka slutsatsdragningen är när du behöver:

  • Kör lokala, snabba maskininlärningsinferenser mot data när de matas in och du har ett betydande lokalt maskinvaruavtryck.
  • Skapa långsiktiga forskningslösningar där befintliga lokala data rensas och används för att generera en modell. Modellen används sedan både lokalt och i molnet. den tränas om regelbundet när nya data tas emot.
  • Skapa program som behöver dra slutsatser om användare, både på en fysisk plats och online.

Rekommendationer

Mata in, transformera och överföra data som lagras lokalt

Azure Stack Edge kan transformera data från lokal lagring innan de överförs till Azure. Den här omvandlingen görs av en Azure IoT Edge-enhet som distribueras på Azure Stack Edge-enheten. Dessa IoT Edge enheter är associerade med en Azure IoT Hub resurs på Azure-molnplattformen.

Varje IoT Edge modul är en Docker-container som utför en specifik uppgift i ett inmatnings-, transformerings- och överföringsarbetsflöde. En IoT Edge modul kan till exempel samla in data från en lokal Azure Stack Edge-resurs och omvandla data till ett format som är redo för maskininlärning. Sedan överför modulen transformerade data till en Azure Stack Edge-molnresurs. Du kan lägga till anpassade eller inbyggda moduler i din IoT Edge-enhet eller utveckla anpassade IoT Edge moduler..

Anteckning

IoT Edge moduler registreras som Docker-containeravbildningar i Container Registry.

I Azure Stack Edge-resursen på Azure-molnplattformen backas molnresursen upp av en Azure Blob Storage-kontoresurs. Alla data i molnresursen laddas upp automatiskt till det associerade lagringskontot. Du kan verifiera dataomvandlingen och överföringen genom att antingen montera den lokala resursen eller molnresursen eller genom att gå igenom Azure Storage-kontot.

Träna och distribuera en modell

När du har förberett och lagrat data i Blob Storage kan du skapa en Machine Learning-datauppsättning som ansluter till Azure Storage. En datauppsättning representerar en enda kopia av dina data i lagringen som refereras direkt av Machine Learning.

Du kan använda Kommandoradsgränssnittet för Machine Learning (CLI),R SDK, Python SDK, designer eller Visual Studio Code för att skapa de skript som krävs för att träna din modell.

När du har tränat och förbereder modellen för distribution kan du distribuera den till olika Azure-tjänster, inklusive men inte begränsat till:

Anteckning

För den här referensarkitekturen distribuerar modellen till Azure Stack Edge för att göra modellen tillgänglig för slutsatsdragning lokalt. Modellen distribueras också till Container Registry för att säkerställa att modellen är tillgänglig för slutsatsdragning i de bredaste azure-tjänsterna.

Slutsatsdragning med en nyligen distribuerad modell

Azure Stack Edge kan snabbt köra maskininlärningsmodeller lokalt mot data lokalt med hjälp av den inbyggda maskinvaran för beräkningsacceleration. Den här beräkningen sker helt vid gränsen. Resultatet är snabba insikter från data med hjälp av maskinvara som ligger närmare datakällan än en offentlig molnregion.

Dessutom fortsätter Azure Stack Edge att överföra data till Machine Learning för kontinuerlig omträning och förbättring med hjälp av en maskininlärningspipeline som är associerad med modellen som redan körs mot data som lagras lokalt.

Överväganden

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

  • Överväg att placera din Azure Stack Edge-resurs i samma Azure-region som andra Azure-tjänster som kommer åt den. För att optimera uppladdningsprestanda bör du överväga att placera ditt Azure Blob Storage-konto i den region där installationen har den bästa nätverksanslutningen.
  • Överväg Azure ExpressRoute för en stabil och redundant anslutning mellan din enhet och Azure.

Hanterbarhet

  • Administratörer kan kontrollera att datakällan från lokal lagring har överförts till Azure Stack Edge-resursen korrekt. De kan verifiera genom att montera servermeddelandeblocket (SMB)/NFS-filresursen (Network File System) eller ansluta till det associerade Blob Storage-kontot med hjälp av Azure Storage Explorer.
  • Använd Machine Learning-datauppsättningar för att referera till dina data i Blob Storage när du tränar din modell. När du refererar till lagring eliminerar du behovet av att bädda in hemligheter, datasökvägar eller anslutningssträngar i dina träningsskript.
  • Registrera och spåra ML-modeller på din Machine Learning-arbetsyta för att spåra skillnader mellan dina modeller vid olika tidpunkter. Du kan på samma sätt spegla versions- och spårningsmetadata i taggarna som du använder för Docker-containeravbildningarna som distribueras till Container Registry.

DevOps

  • Granska livscykelhanteringsmetoden för MLOps för Machine Learning. Använd till exempel GitHub eller Azure Pipelines för att skapa en kontinuerlig integreringsprocess som automatiskt tränar och tränar om en modell. Träning kan utlösas antingen när nya data fyller i datauppsättningen eller en ändring görs i träningsskripten.
  • Azure Machine Learning-arbetsytan registrerar och hanterar automatiskt Docker-containeravbildningar för maskininlärningsmodeller och IoT Edge moduler.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra driftseffektiviteten. Mer information finns i Översikt över grundpelare för kostnadsoptimering.

Nästa steg

Produktdokumentation

Microsoft Learn-moduler: