Distribuera AI och maskininlärningsberäkning lokalt och till gränsen

Azure Container Registry
Azure IoT Edge
Azure Machine Learning
Azure Stack Edge

Den här referensarkitekturen visar hur du använder Azure Stack Edge för att utöka den snabba maskininlärningsinferensen från molnet till lokala scenarier eller gränsscenarier. Azure Stack Hub levererar 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 Maskininlärning 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 bygger, 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

Information om scenario

Potentiella användningsfall

Den här lösningen ä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 som kommer från lokal lagring innan data överförs till Azure. Den här omvandlingen utfö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 till din IoT Edge-enhet eller utveckla anpassade IoT Edge-moduler.

Kommentar

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 automatiskt upp till det associerade lagringskontot. Du kan verifiera datatransformeringen 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 redo att distribuera modellen kan du distribuera den till olika Azure-tjänster, inklusive men inte begränsat till:

Kommentar

För den här referensarkitekturen distribueras 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 olika 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.

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

  • Ö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 den lokala lagringen har överförts till Azure Stack Edge-resursen på rätt sätt. De kan verifiera genom att montera filresursen Server Message Block (SMB)/NFS (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. Om du refererar till lagring eliminerar du behovet av att bädda in hemligheter, datasökvägar eller anslutningssträng i dina träningsskript.
  • På din Machine Learning-arbetsyta registrerar och spårar du maskininlärningsmodeller 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 datamängden 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 drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.

Nästa steg

Produktdokumentation

Microsoft Learn-moduler: