Wdrażanie sztucznej inteligencji i obliczeń uczenia maszynowego w środowisku lokalnym i na brzegu sieci

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

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 oferuje możliwości platformy Azure, takie jak obliczenia, magazyn, sieć i przyspieszone sprzętowo uczenie maszynowe w dowolnej lokalizacji brzegowej.

Architektura

Diagram architektury: lokalne trenowanie danych modelu w usłudze Azure Machine Learning z modelem wdrożonym z powrotem na brzegu na potrzeby wnioskowania.

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, wdrażanie i zarządzanie modelami uczenia maszynowego w środowisku opartym na chmurze. Modele te mogą następnie być wdrażane w usługach platformy Azure, w tym (ale nie tylko) w usługach 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 obrazy kontenerów platformy Docker i zarządza nimi oraz może przechowywać konteneryzowane modele uczenia maszynowego.
  • Azure Stack Edge. Azure Stack Edge to urządzenie do przetwarzania brzegowego przeznaczone do wnioskowania uczenia maszynowego na brzegu sieci. Dane są wstępnie przetworzone na brzegu przed transferem na platformę Azure. Usługa Azure Stack Edge zawiera sprzęt przyspieszania obliczeniowego zaprojektowany w celu zwiększenia wydajności wnioskowania sztucznej inteligencji na brzegu sieci.
  • Dane lokalne. Lokalne dane 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 do rozszerzania wnioskowania obejmują następujące elementy:

  • Uruchamianie lokalnego, szybkiego wnioskowania uczenia maszynowego względem 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 po nadejściu nowych danych.
  • Twórz aplikacje oprogramowania, 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łcić 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 usługi IoT Edge są skojarzone z zasobem usługi Azure IoT Hub na platformie Azure w chmurze.

Każdy moduł usługi IoT Edge jest kontenerem platformy Docker, który wykonuje określone zadanie w przepływie pracy pozyskiwania, przekształcania i transferu. Na przykład moduł usługi 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. Możesz dodawać niestandardowe lub wbudowane moduły do urządzenia usługi IoT Edge lub opracowywać niestandardowe moduły usługi IoT Edge.

Uwaga

Moduły usługi 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. Możesz zweryfikować transformację i transfer danych, instalowania udziału lokalnego lub w chmurze albo przechodząc przez konto usługi Azure Storage.

Trenowanie i wdrażanie modelu

Po przygotowaniu i przechowywaniu danych w usłudze Blob Storage możesz utworzyć zestaw danych usługi Machine Learning łączący się z usługą Azure Storage. Zestaw danych reprezentuje pojedynczą kopię danych w magazynie, do którego bezpośrednio odwołuje się usługa Machine Learning.

Możesz użyć interfejsu wiersza polecenia usługi Machine Learning, zestawu R SDK, zestawu SDK języka Python, projektanta lub programu Visual Studio Code, aby skompilować skrypty wymagane do wytrenowania modelu.

Po zakończeniu trenowania i gotowości modelu do wdrożenia można wdrożyć go w różnych usługach platformy Azure, w tym między innymi:

Uwaga

W przypadku tej architektury referencyjnej model jest wdrażany w usłudze Azure Stack Edge w celu udostępnienia modelu do wnioskowania lokalnego. 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 może szybko uruchamiać modele uczenia maszynowego lokalnie na danych przy użyciu wbudowanego sprzętu przyspieszania obliczeniowego. To obliczenie odbywa się całkowicie na brzegu. Wynikiem jest szybki wgląd w szczegółowe dane przy użyciu sprzętu, który jest bliżej źródła danych niż region chmury publicznej.

Ponadto usługa Azure Stack Edge nadal przesyła dane 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.

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury 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łowanie 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 parametry 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, które są wdrażane 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 trenuje 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 automatycznie rejestruje obrazy kontenerów platformy Docker i zarządza nimi na potrzeby modeli uczenia maszynowego i modułów usługi 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.

Następne kroki

Dokumentacja produktu

Moduły microsoft Learn: