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
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:
- Azure Container Registry. Du kan distribuera modellerna till ett privat Docker-register, till exempel Azure Container Registry eftersom de är Docker-containeravbildningar.
- Azure Container Instances. Du kan distribuera modellens Docker-containeravbildning direkt till en containergrupp.
- Azure Kubernetes Service. Du kan använda Azure Kubernetes Service för att automatiskt skala modellens Docker-containeravbildning för storskaliga produktionsdistributioner.
- Azure Functions. Du kan paketera en modell som ska köras direkt på en funktionsinstans .
- Azure Machine Learning. Du kan använda Beräkningsinstanser, hanterade molnbaserade utvecklingsarbetsstationer för både träning och slutsatsdragning av modeller. Du kan också distribuera modellen på samma sätt till lokala IoT Edge- och Azure Stack Edge-enheter.
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.
- Normalt beräknar du kostnader med hjälp av priskalkylatorn för Azure.
- Prissättningen för Azure Stack Edge beräknas som en fast månadsprenumeration med en engångsleveransavgift.
- 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 som används för att träna modellen i det offentliga molnet.
Nästa steg
Produktdokumentation
Microsoft Learn-moduler: