Ta architektura referencyjna ilustruje sposób użycia usługi Azure Stack Edge w celu rozszerzenia szybkiego wnioskowania uczenia maszynowego z chmury do scenariuszy lokalnych lub brzegowych. Usługa Azure Stack Hub zapewnia możliwości platformy Azure, takie jak obliczenia, magazyn, sieć i przyspieszone sprzętowo uczenie maszynowe w dowolnej lokalizacji brzegowej.
Architektura
Pobierz plik programu Visio z tą architekturą.
Przepływ pracy
Architektura składa się z następujących kroków:
- Azure Machine Learning. Usługa Machine Learning umożliwia tworzenie, trenowanie i wdrażanie modeli uczenia maszynowego oraz zarządzanie nimi w środowisku opartym na chmurze. Te modele można następnie wdrażać w usługach platformy Azure, w tym (ale nie tylko) Azure Container Instances, Azure Kubernetes Service (AKS) i Azure Functions.
- Azure Container Registry. Container Registry to usługa, która tworzy rejestr platformy Docker i zarządza nim. Usługa Container Registry tworzy, przechowuje i zarządza obrazami kontenerów platformy Docker oraz może przechowywać konteneryzowane modele uczenia maszynowego.
- Azure Stack Edge. Azure Stack Edge to urządzenie obliczeniowe brzegowe, które jest przeznaczone do wnioskowania uczenia maszynowego na brzegu sieci. Dane są wstępnie przetwarzane na brzegu przed przesłaniem na platformę Azure. Usługa Azure Stack Edge obejmuje sprzęt przyspieszania obliczeniowego, który został zaprojektowany w celu zwiększenia wydajności wnioskowania sztucznej inteligencji na urządzeniach brzegowych.
- Dane lokalne. Dane lokalne odwołują się do wszystkich danych używanych w trenowaniu modelu uczenia maszynowego. Dane mogą znajdować się w dowolnym rozwiązaniu magazynu lokalnego, w tym wdrożeniach usługi Azure Arc.
Składniki
Szczegóły scenariusza
Potencjalne przypadki użycia
To rozwiązanie jest idealne dla branży telekomunikacyjnej. Typowe zastosowania rozszerzania wnioskowania obejmują następujące elementy:
- Uruchamianie lokalnego, szybkiego wnioskowania uczenia maszynowego na podstawie danych podczas pozyskiwania i znacznego zużycia sprzętu lokalnego.
- Tworzenie długoterminowych rozwiązań badawczych, w których istniejące dane lokalne są czyszczone i używane do generowania modelu. Model jest następnie używany zarówno lokalnie, jak i w chmurze; jest regularnie trenowany w miarę nadejścia nowych danych.
- Twórz aplikacje programowe, które muszą wnioskować o użytkownikach, zarówno w lokalizacji fizycznej, jak i w trybie online.
Zalecenia
Pozyskiwanie, przekształcanie i przesyłanie danych przechowywanych lokalnie
Usługa Azure Stack Edge może przekształcać dane pochodzące z magazynu lokalnego przed przesłaniem tych danych na platformę Azure. Ta transformacja jest wykonywana przez urządzenie usługi Azure IoT Edge wdrożone na urządzeniu Azure Stack Edge. Te urządzenia IoT Edge są skojarzone z zasobem Azure IoT Hub na platformie Azure w chmurze.
Każdy moduł IoT Edge to kontener platformy Docker, który wykonuje określone zadanie w przepływie pracy pozyskiwania, przekształcania i transferu. Na przykład moduł IoT Edge może zbierać dane z udziału lokalnego usługi Azure Stack Edge i przekształcać dane w format gotowy do uczenia maszynowego. Następnie moduł przesyła przekształcone dane do udziału w chmurze usługi Azure Stack Edge. Moduły niestandardowe lub wbudowane można dodawać do urządzenia IoT Edge lub opracowywać niestandardowe moduły IoT Edge.
Uwaga
moduły IoT Edge są rejestrowane jako obrazy kontenerów platformy Docker w usłudze Container Registry.
W zasobie usługi Azure Stack Edge na platformie Azure w chmurze udział w chmurze jest wspierany przez zasób konta usługi Azure Blob Storage. Wszystkie dane w udziale w chmurze zostaną automatycznie przekazane do skojarzonego konta magazynu. Przekształcanie i transfer danych można sprawdzić , instalowania udziału lokalnego lub w chmurze albo przechodząc przez konto usługi Azure Storage.
Trenowanie i wdrażanie modelu
Po przygotowaniu i zapisaniu danych w usłudze Blob Storage możesz utworzyć zestaw danych usługi Machine Learning , który łączy się z usługą Azure Storage. Zestaw danych reprezentuje pojedynczą kopię danych w magazynie, do których bezpośrednio odwołuje się usługa Machine Learning.
Do skompilowania skryptów wymaganych do wytrenowania modelu można użyć interfejsu wiersza polecenia usługi Machine Learning, zestawu SDK języka R, zestawu SDK języka Python, projektanta lub Visual Studio Code.
Po wytrenowaniu i dokonaniu gotowości modelu do wdrożenia można wdrożyć go w różnych usługach platformy Azure, w tym między innymi:
- Azure Container Registry. Modele można wdrożyć w prywatnym rejestrze platformy Docker, takim jak Azure Container Registry, ponieważ są to obrazy kontenerów platformy Docker.
- Azure Container Instances. Obraz kontenera platformy Docker modelu można wdrożyć bezpośrednio w grupie kontenerów.
- Azure Kubernetes Service. Za pomocą Azure Kubernetes Service można automatycznie skalować obraz kontenera platformy Docker modelu na potrzeby wdrożeń produkcyjnych na dużą skalę.
- Azure Functions. Możesz spakować model do uruchamiania bezpośrednio w wystąpieniu usługi Functions .
- Azure Machine Learning. Do trenowania i wnioskowania modeli można użyć wystąpień obliczeniowych, zarządzanych stacji roboczych programistycznych opartych na chmurze. Możesz również podobnie wdrożyć model na lokalnych urządzeniach IoT Edge i Azure Stack Edge.
Uwaga
W przypadku tej architektury referencyjnej model jest wdrażany w usłudze Azure Stack Edge, aby udostępnić model do wnioskowania w środowisku lokalnym. Model jest również wdrażany w usłudze Container Registry, aby upewnić się, że model jest dostępny do wnioskowania w najszerszej gamie usług platformy Azure.
Wnioskowanie z nowo wdrożonym modelem
Usługa Azure Stack Edge umożliwia szybkie uruchamianie modeli uczenia maszynowego lokalnie względem danych przy użyciu wbudowanego sprzętu przyspieszania obliczeniowego. To obliczenie odbywa się całkowicie na krawędzi. Rezultatem jest szybki wgląd w szczegółowe dane przy użyciu sprzętu, który znajduje się bliżej źródła danych niż region chmury publicznej.
Ponadto usługa Azure Stack Edge kontynuuje transfer danych do usługi Machine Learning w celu ciągłego ponownego trenowania i ulepszania przy użyciu potoku uczenia maszynowego skojarzonego z modelem, który jest już uruchomiony na danych przechowywanych lokalnie.
Zagadnienia do rozważenia
Te zagadnienia implementują filary platformy Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.
Dostępność
- Rozważ umieszczenie zasobu usługi Azure Stack Edge w tym samym regionie świadczenia usługi Azure co inne usługi platformy Azure, które będą do niego uzyskiwać dostęp. Aby zoptymalizować wydajność przekazywania, rozważ umieszczenie konta usługi Azure Blob Storage w regionie, w którym urządzenie ma najlepsze połączenie sieciowe.
- Rozważ usługę Azure ExpressRoute , aby uzyskać stabilne, nadmiarowe połączenie między urządzeniem a platformą Azure.
Możliwości zarządzania
- Administratorzy mogą sprawdzić, czy źródło danych z magazynu lokalnego zostało prawidłowo przeniesione do zasobu usługi Azure Stack Edge. Mogą sprawdzić, instalowania udziału plików bloku komunikatów serwera (SMB)/sieciowego systemu plików (NFS) lub łączenia się ze skojarzonym kontem usługi Blob Storage przy użyciu Eksplorator usługi Azure Storage.
- Zestawy danych usługi Machine Learning umożliwiają odwoływanie się do danych w usłudze Blob Storage podczas trenowania modelu. Odwoływanie się do magazynu eliminuje konieczność osadzania wpisów tajnych, ścieżek danych lub parametrów połączenia w skryptach szkoleniowych.
- W obszarze roboczym usługi Machine Learning zarejestruj i śledź modele uczenia maszynowego , aby śledzić różnice między modelami w różnych punktach w czasie. Podobnie można dublować metadane przechowywania wersji i śledzenia w tagach używanych dla obrazów kontenerów platformy Docker wdrażanych w usłudze Container Registry.
DevOps
- Zapoznaj się z podejściem do zarządzania cyklem życia metodyki MLOps na potrzeby uczenia maszynowego. Na przykład użyj usługi GitHub lub Azure Pipelines, aby utworzyć proces ciągłej integracji, który automatycznie trenuje i ponownie szkoli model. Trenowanie może zostać wyzwolone po wypełnieniu zestawu danych nowymi danymi lub wprowadzeniu zmian w skryptach szkoleniowych.
- Obszar roboczy usługi Azure Machine Learning będzie automatycznie rejestrować obrazy kontenerów platformy Docker i zarządzać nimi na potrzeby modeli uczenia maszynowego i modułów IoT Edge.
Optymalizacja kosztów
Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.
- Koszty możesz szacować za pomocą kalkulatora cen platformy Azure.
- Cennik usługi Azure Stack Edge jest obliczany jako subskrypcja miesięczna z opłatą jednorazową za wysyłkę.
- Usługa Azure Machine Learning wdraża również usługi Container Registry, Azure Storage i Azure Key Vault, co wiąże się z dodatkowymi kosztami. Aby uzyskać więcej informacji, zobacz How Azure Machine Learning works: Architecture and concepts (Jak działa usługa Azure Machine Learning: architektura i pojęcia).
- Cennik usługi Azure Machine Learning obejmuje opłaty za maszyny wirtualne używane do trenowania modelu w chmurze publicznej.
Następne kroki
Dokumentacja produktu
Moduły usługi Microsoft Learn:
- Wprowadzenie do sztucznej inteligencji na platformie Azure
- Praca z danymi w usłudze Azure Machine Learning