Organizowanie i konfigurowanie środowisk usługi Azure Machine Learning

Podczas planowania wdrożenia usługi Azure Machine Edukacja dla środowiska przedsiębiorstwa istnieją pewne typowe kwestie decyzyjne wpływające na sposób tworzenia obszaru roboczego:

  • Struktura zespołu: sposób organizowania zespołów nauki o danych i współpracy nad projektami, biorąc pod uwagę przypadek użycia i segregację danych lub wymagania dotyczące zarządzania kosztami
  • Środowiska: środowiska używane w ramach przepływu pracy tworzenia i wydawania w celu oddzielenia programowania od środowiska produkcyjnego
  • Region: lokalizacja danych i odbiorców, do których należy obsługiwać rozwiązanie uczenia maszynowego

Struktura zespołu i konfiguracja obszaru roboczego

Obszar roboczy to zasób najwyższego poziomu w usłudze Azure Machine Edukacja. Przechowuje artefakty tworzone podczas pracy z uczeniem maszynowym oraz zarządzanymi obliczeniami i wskaźnikami dołączonymi i skojarzonymi zasobami. Z punktu widzenia możliwości zarządzania obszar roboczy jako zasób usługi Azure Resource Manager obsługuje kontrolę dostępu opartą na rolach (RBAC) platformy Azure, zarządzanie według zasad i można go użyć jako jednostki do raportowania kosztów.

Organizacje zazwyczaj wybierają jedną lub kombinację następujących wzorców rozwiązań, aby przestrzegać wymagań dotyczących możliwości zarządzania.

Obszar roboczy dla każdego zespołu: użyj jednego obszaru roboczego dla każdego zespołu, gdy wszyscy członkowie zespołu wymagają tego samego poziomu dostępu do zasobów danych i eksperymentowania. Na przykład organizacja z trzema zespołami uczenia maszynowego może utworzyć trzy obszary robocze, po jednym dla każdego zespołu.

Zaletą korzystania z jednego obszaru roboczego na zespół jest to, że wszystkie artefakty uczenia maszynowego dla projektów zespołu są przechowywane w jednym miejscu. Wydajność zwiększa się, ponieważ członkowie zespołu mogą łatwo uzyskiwać dostęp do wyników eksperymentów, eksplorować je i ponownie używać. Organizowanie obszarów roboczych przez zespół zmniejsza zużycie zasobów platformy Azure i upraszcza zarządzanie kosztami przez zespół. Ponieważ liczba zasobów eksperymentowania może szybko rosnąć, możesz zachować zorganizowane artefakty, postępując zgodnie z konwencjami nazewnictwa i tagowania. Aby uzyskać zalecenia dotyczące sposobu nazywania zasobów, zobacz Develop your naming and tagging strategy for Azure resources (Opracowywanie strategii nazewnictwa i tagowania zasobów platformy Azure).

W przypadku tego podejścia każdy członek zespołu musi mieć podobne uprawnienia na poziomie dostępu do danych. Szczegółowa kontrola dostępu oparta na rolach (RBAC) i listy kontroli dostępu (ACL) dla źródeł danych i zasobów eksperymentowania są ograniczone w obszarze roboczym. Nie można mieć wymagań dotyczących segregacji danych przypadków użycia.

Obszar roboczy na projekt: użyj jednego obszaru roboczego dla każdego projektu, jeśli potrzebujesz segregacji zasobów danych i eksperymentowania według projektu lub mają wymagania dotyczące raportowania kosztów i budżetowania na poziomie projektu. Na przykład organizacja może mieć cztery zespoły uczenia maszynowego, które uruchamiają trzy projekty dla łącznie 12 wystąpień obszarów roboczych.

Zaletą korzystania z jednego obszaru roboczego na projekt jest zarządzanie kosztami na poziomie projektu. Zespół zazwyczaj tworzy dedykowaną grupę zasobów dla usługi Azure Machine Edukacja i skojarzonych zasobów z podobnych powodów. Na przykład podczas pracy z zewnętrznymi współautorami obszar roboczy w centrum projektu upraszcza współpracę nad projektem, ponieważ użytkownicy zewnętrzni muszą mieć dostęp tylko do zasobów projektu, a nie do zasobów zespołu.

Coś, co należy wziąć pod uwagę przy użyciu tego podejścia, to izolacja wyników i zasobów eksperymentowania. Odnajdywanie i ponowne używanie zasobów może być trudniejsze, ponieważ zasoby są rozłożone na wiele wystąpień obszaru roboczego.

Pojedynczy obszar roboczy: użyj jednego obszaru roboczego dla pracy niezwiązanej z zespołem lub niezwiązanym z projektem lub gdy koszty nie mogą być bezpośrednio skojarzone z określoną jednostką rozliczeń, na przykład w przypadku prac badawczo-badawczo-dowych.

Zaletą tej konfiguracji jest koszt poszczególnych, niezwiązanych z projektem prac, które mogą zostać oddzielone od kosztów związanych z projektem. Podczas konfigurowania pojedynczego obszaru roboczego dla wszystkich użytkowników w celu wykonywania poszczególnych czynności można zmniejszyć ślad platformy Azure.

Dzięki temu obszar roboczy może stać się szybko zaśmiecony, gdy wielu praktyków uczenia maszynowego współużytkuje to samo wystąpienie. Użytkownicy mogą wymagać filtrowania zasobów opartego na interfejsie użytkownika, aby efektywnie znaleźć swoje zasoby. Możesz utworzyć udostępnione obszary robocze uczenia maszynowego dla każdego działu biznesowego, aby ograniczyć problemy ze skalowaniem lub segmentować budżety.

Konfiguracja środowisk i obszaru roboczego

Środowisko to kolekcja zasobów, które są przeznaczone dla wdrożeń docelowych na podstawie ich etapu w cyklu życia aplikacji. Typowe przykłady nazw środowisk to Dev, Test, QA, Staging i Production.

Proces programowania w organizacji ma wpływ na wymagania dotyczące użycia środowiska. Środowisko ma wpływ na konfigurację usługi Azure Machine Edukacja i skojarzonych zasobów, takich jak dołączone zasoby obliczeniowe. Na przykład dostępność danych może ograniczyć możliwość zarządzania wystąpieniem uczenia maszynowego dostępnym dla każdego środowiska. Typowe są następujące wzorce rozwiązań:

Wdrożenie obszaru roboczego pojedynczego środowiska: po wybraniu pojedynczego wdrożenia obszaru roboczego środowiska usługa Azure Machine Edukacja zostanie wdrożona w jednym środowisku. Ta konfiguracja jest powszechna w scenariuszach skoncentrowanych na badaniach, w których nie ma potrzeby wydawania artefaktów uczenia maszynowego na podstawie ich etapu cyklu życia w różnych środowiskach. Innym scenariuszem, w którym ta konfiguracja ma sens, jest wdrożenie tylko usług wnioskowania, a nie potoków uczenia maszynowego w środowiskach.

Zaletą konfiguracji skoncentrowanej na badaniach jest mniejsze zużycie zasobów platformy Azure i minimalne obciążenie związane z zarządzaniem. W ten sposób pracy nie ma potrzeby wdrażania obszaru roboczego usługi Azure Machine Edukacja w każdym środowisku.

W przypadku tego podejścia wdrożenie pojedynczego środowiska podlega dostępności danych. Dlatego należy zachować ostrożność podczas konfigurowania magazynu danych. Jeśli skonfigurujesz szeroki dostęp, na przykład dostęp do zapisywania w źródłach danych produkcyjnych, możesz przypadkowo zaszkodzić jakości danych. Jeśli pracujesz w środowisku produkcyjnym w tym samym środowisku, w którym odbywa się programowanie, te same ograniczenia kontroli dostępu opartej na rolach dotyczą zarówno pracy dewelopera, jak i pracy produkcyjnej. Taka konfiguracja może sprawić, że oba środowiska będą zbyt sztywne lub zbyt elastyczne.

Diagram of a single environment workspace deployment in Azure Machine Learning.

Wdrożenie wielu obszarów roboczych środowiska: w przypadku wybrania wielu wdrożeń obszaru roboczego środowiska wystąpienie obszaru roboczego jest wdrażane dla każdego środowiska. Typowym scenariuszem dla tej konfiguracji jest regulowane miejsce pracy z wyraźnym rozdzieleniem obowiązków między środowiskami i dla użytkowników, którzy mają dostęp do zasobów do tych środowisk.

Zalety tej konfiguracji to:

  • Etapowe wdrażanie przepływów pracy i artefaktów uczenia maszynowego. Na przykład modele w różnych środowiskach z możliwością zwiększenia elastyczności i skrócenia czasu wdrażania.
  • Zwiększone zabezpieczenia i kontrola zasobów, ponieważ można przypisać więcej ograniczeń dostępu w środowiskach podrzędnych.
  • Scenariusze szkoleniowe dotyczące danych produkcyjnych w środowiskach nieprodukcyjnych, ponieważ można nadać wybranej grupie użytkowników dostęp.

Dzięki temu podejściu ryzykujesz większe obciążenie związane z zarządzaniem i procesem. Ta konfiguracja wymaga szczegółowego procesu programowania i wdrażania artefaktów uczenia maszynowego w wystąpieniach obszaru roboczego. Ponadto może być wymagane nakłady pracy związane z zarządzaniem danymi i inżynierią w celu udostępnienia danych produkcyjnych na potrzeby szkolenia w środowisku deweloperskim. Zarządzanie dostępem wymaga udzielenia zespołowi dostępu w celu rozwiązania i zbadania zdarzeń w środowisku produkcyjnym. Na koniec twój zespół potrzebuje doświadczenia w zakresie usługi Azure DevOps i inżynierii uczenia maszynowego, aby zaimplementować przepływy pracy automatyzacji.

Diagram of a multiple environment workspace deployment in Azure Machine Learning.

Jedno środowisko z ograniczonym dostępem do danych, jedno z dostępem do danych produkcyjnych: po wybraniu tej konfiguracji usługa Azure Machine Edukacja jest wdrażana w dwóch środowiskach: jeden z ograniczonym dostępem do danych, a drugi z dostępem do danych produkcyjnych. Ta konfiguracja jest powszechna, jeśli trzeba segregować środowiska programistyczne i produkcyjne. Na przykład możesz pracować w ramach ograniczeń organizacyjnych, aby udostępnić dane produkcyjne w dowolnym środowisku lub chcieć rozdzielić prace programistyczne z pracy produkcyjnej bez duplikowania danych więcej niż jest to wymagane ze względu na wysoki koszt konserwacji.

Zaletą tej konfiguracji jest wyraźne rozdzielenie obowiązków i dostępu między środowiskami deweloperskimi i produkcyjnymi. Kolejną korzyścią jest mniejsze obciążenie związane z zarządzaniem zasobami w porównaniu z scenariuszem wdrażania w wielu środowiskach.

W tym podejściu potrzebny jest zdefiniowany proces programowania i wdrażania artefaktów uczenia maszynowego w obszarach roboczych. Ponadto może wymagać zarządzania danymi i wysiłku inżynieryjnego w celu udostępnienia danych produkcyjnych na potrzeby szkolenia w środowisku deweloperskim. Jednak takie podejście może wymagać stosunkowo mniejszego nakładu pracy niż wdrożenie obszaru roboczego w wielu środowiskach.

Diagram of an environment with limited data access, and an environment with production data access.

Regiony i konfiguracja zasobów

Lokalizacja zasobów, danych lub użytkowników może wymagać utworzenia wystąpień obszaru roboczego usługi Azure Machine Edukacja i skojarzonych zasobów w wielu regionach świadczenia usługi Azure. Na przykład jeden projekt może obejmować zasoby w regionach świadczenia usługi Azure Europa Zachodnia i Wschodnie stany USA, aby uzyskać informacje o wydajności, kosztach i zgodności. Typowe są następujące scenariusze:

Szkolenie regionalne: zadania szkoleniowe uczenia maszynowego są uruchamiane w tym samym regionie świadczenia usługi Azure, w którym znajdują się dane. W tej konfiguracji obszar roboczy uczenia maszynowego jest wdrażany w każdym regionie świadczenia usługi Azure, w którym znajdują się dane. Ten scenariusz jest typowy, gdy zachodzi potrzeba spełnienia wymagań dotyczących zgodności lub ograniczenia przenoszenia danych między regionami.

Zaletą tej konfiguracji jest eksperymentowanie w centrum danych, w którym znajdują się dane z najmniejszym opóźnieniem sieci. Dzięki temu podejściu, gdy potok uczenia maszynowego jest uruchamiany w wielu wystąpieniach obszaru roboczego, zwiększa złożoność zarządzania. Porównanie wyników eksperymentów między wystąpieniami staje się trudne i zwiększa obciążenie związane z przydziałem i zarządzaniem obliczeniami.

Jeśli chcesz dołączyć magazyn między regionami, ale używać zasobów obliczeniowych z jednego regionu, usługa Azure Machine Edukacja obsługuje scenariusz dołączania kont magazynu w regionie, a nie w obszarze roboczym. Metadane, na przykład metryki, są przechowywane w regionie obszaru roboczego.

Diagram of training jobs operating in the same Azure region as the data.

Obsługa regionalna: usługi uczenia maszynowego są wdrażane w pobliżu miejsca, w którym mieszka docelowa grupa odbiorców. Jeśli na przykład docelowi użytkownicy znajdują się w Australii, a głównym regionem przechowywania i eksperymentowania jest Europa Zachodnia, wdróż obszar roboczy uczenia maszynowego na potrzeby eksperymentowania w regionie Europa Zachodnia. Następnie wdrożysz klaster usługi AKS na potrzeby wdrażania punktu końcowego wnioskowania w Australii.

Korzyści wynikające z tej konfiguracji to możliwość wnioskowania w centrum danych, w którym pozyskiwane są nowe dane, minimalizując opóźnienia i przenoszenie danych oraz zgodność z lokalnymi przepisami.

Dzięki temu podejściu konfiguracja wielu regionów zapewnia kilka zalet, ale także zwiększa obciążenie związane z zarządzaniem limitami przydziału i obliczeniami. Jeśli wymagane jest wnioskowanie wsadowe, obsługa regionalna może wymagać wdrożenia z wieloma obszarami roboczymi. Dane zebrane za pośrednictwem punktów końcowych wnioskowania mogą wymagać transferu między regionami na potrzeby scenariuszy ponownego trenowania.

Diagram of Azure Machine Learning services deployed near where the target audience lives.

Regionalne dostrajanie: model podstawowy trenuje na początkowym zestawie danych, na przykład dane publiczne lub dane ze wszystkich regionów, i jest później dostosowany do regionalnego zestawu danych. Regionalny zestaw danych może istnieć tylko w określonym regionie ze względu na ograniczenia zgodności lub przenoszenia danych. Na przykład może być konieczne trenowanie modelu podstawowego w obszarze roboczym w regionie A, podczas gdy dostrajanie odbywa się w obszarze roboczym w regionie B.

Zaletą tej konfiguracji jest eksperymentowanie zgodne z centrum danych, w którym znajdują się dane. Możesz również nadal korzystać z trenowania modelu podstawowego na większym zestawie danych we wcześniejszym etapie potoku.

Takie podejście obsługuje złożone potoki eksperymentowania, ale może stwarzać więcej wyzwań. Na przykład podczas porównywania wyników eksperymentów w różnych regionach może to spowodować zwiększenie obciążenia związanego z zarządzaniem limitami przydziału i obliczeniami.

Diagram of an initial dataset deployed using public data or data from all regions, and fine-tuned later with a regional dataset.

Implementacja referencyjna

Aby zilustrować wdrożenie usługi Azure Machine Edukacja w większym ustawieniu, w tej sekcji pokazano, jak organizacja "Contoso" konfiguruje usługę Azure Machine Edukacja, biorąc pod uwagę ograniczenia organizacji, raportowanie i wymagania dotyczące budżetowania:

  • Firma Contoso tworzy grupy zasobów na podstawie rozwiązania z powodów związanych z zarządzaniem kosztami i raportowaniem.
  • Administratorzy IT tworzą tylko grupy zasobów i zasoby dla finansowanych rozwiązań spełniających wymagania budżetowe.
  • Ze względu na eksploracyjny i niepewny charakter Nauka o danych użytkownicy potrzebują miejsca do eksperymentowania i pracy w celu eksplorowania przypadków użycia i eksploracji danych. Często praca eksploracyjna nie może być bezpośrednio skojarzona z konkretnym przypadkiem użycia i może być skojarzona tylko z budżetem prac badawczo-badawczych. Firma Contoso chce sfinansować niektóre zasoby uczenia maszynowego centralnie, których każdy może używać do celów eksploracji.
  • Gdy przypadek użycia uczenia maszynowego okaże się udany w środowisku eksploracyjnym, zespoły mogą żądać grup zasobów. Na przykład firma może skonfigurować prace nad projektem Dev, QA i Production na potrzeby iteracyjnego projektu eksperymentowania oraz uzyskać dostęp do produkcyjnych źródeł danych.
  • Segregacja danych i wymagania dotyczące zgodności nie zezwalają na istnienie na żywo danych produkcyjnych w środowiskach deweloperskich.
  • Istnieją różne wymagania RBAC dla różnych grup użytkowników według zasad IT na środowisko, na przykład dostęp jest bardziej restrykcyjny w środowisku produkcyjnym.
  • Wszystkie dane, eksperymentowanie i wnioskowanie odbywa się w jednym regionie świadczenia usługi Azure.

Aby spełnić powyższe wymagania, firma Contoso konfiguruje swoje zasoby w następujący sposób:

  • Usługa Azure Machine Edukacja obszarów roboczych i grup zasobów o określonym zakresie dla każdego projektu w celu spełnienia wymagań dotyczących podziału przypadków użycia i budżetowania.
  • Konfiguracja wielu środowisk dla usługi Azure Machine Edukacja i skojarzonych zasobów w celu spełnienia wymagań dotyczących zarządzania kosztami, kontroli dostępu opartej na rolach i dostępu do danych.
  • Pojedyncza grupa zasobów i obszar roboczy uczenia maszynowego przeznaczony do eksploracji.
  • Grupy firmy Microsoft Entra, które różnią się w poszczególnych rolach i środowisku użytkownika. Na przykład operacje, które analityk danych może wykonać w środowisku produkcyjnym, są inne niż w środowisku deweloperskim, a poziomy dostępu mogą się różnić w zależności od rozwiązania.
  • Wszystkie zasoby utworzone w jednym regionie świadczenia usługi Azure.

Diagram of a sample Azure Machine Learning multiple-environment setup for the Contoso organization.

Następne kroki

Dowiedz się więcej o najlepszych rozwiązaniach dotyczących usługi DevOps uczenia maszynowego za pomocą usługi Azure Machine Edukacja.

Dowiedz się więcej o zagadnieniach związanych z zarządzaniem budżetami, limitami przydziału i kosztami za pomocą usługi Azure Machine Edukacja.