Wdrażanie sztucznej inteligencji i przetwarzania uczenia maszynowego lokalnie i na brzegu

Container Registry
IoT Edge
Usługa 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 zapewnia 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 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 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:

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.

Następne kroki

Dokumentacja produktu

Moduły usługi Microsoft Learn: