Udostępnij za pośrednictwem


Zarządzanie budżetami, kosztami i limitami przydziału dla usługi Azure Machine Learning w skali organizacji

W przypadku zarządzania kosztami obliczeniowymi związanymi z usługą Azure Machine Edukacja w skali organizacji z wieloma obciążeniami, wieloma zespołami i użytkownikami istnieje wiele wyzwań związanych z zarządzaniem i optymalizacją.

W tym artykule przedstawimy najlepsze rozwiązania dotyczące optymalizowania kosztów, zarządzania budżetami i udostępniania limitu przydziału za pomocą usługi Azure Machine Edukacja. Odzwierciedlają one doświadczenia i wnioski z wewnętrznych zespołów uczenia maszynowego w firmie Microsoft oraz współpracy partnerskiej z jej klientami. Dowiesz się, jak:

Optymalizowanie obliczeń w celu spełnienia wymagań dotyczących obciążeń

Po rozpoczęciu nowego projektu uczenia maszynowego może być konieczne uzyskanie dobrego obrazu wymagań obliczeniowych. Ta sekcja zawiera zalecenia dotyczące sposobu określania właściwej jednostki SKU maszyny wirtualnej do trenowania, wnioskowania lub pracy stacji roboczej.

Określanie rozmiaru obliczeniowego na potrzeby trenowania

Wymagania sprzętowe dotyczące obciążenia szkoleniowego mogą się różnić w zależności od projektu. Aby spełnić te wymagania, usługa Azure Machine Edukacja compute oferuje różne typy maszyn wirtualnych:

  • Ogólnego przeznaczenia: zrównoważony stosunek procesora CPU do pamięci.
  • Zoptymalizowane pod kątem pamięci: stosunek pamięci do procesora CPU.
  • Zoptymalizowane pod kątem obliczeń: wysoki stosunek procesora CPU do pamięci.
  • Obliczenia o wysokiej wydajności: zapewniają wydajność klasy przywództwa, skalowalność i wydajność kosztów dla różnych rzeczywistych obciążeń HPC.
  • Wystąpienia z procesorami GPU: wyspecjalizowane maszyny wirtualne przeznaczone do intensywnego renderowania grafiki i edytowania wideo, a także trenowanie modeli i wnioskowanie (ND) za pomocą uczenia głębokiego.

Być może nie wiesz jeszcze, jakie są wymagania obliczeniowe. W tym scenariuszu zalecamy rozpoczęcie od jednej z następujących ekonomicznych opcji domyślnych. Te opcje są przeznaczone do uproszczonego testowania i obciążeń szkoleniowych.

Type Rozmiar maszyny wirtualnej Specyfikacje
Procesor CPU Standardowa_DS3_v2 4 rdzenie, 14 gigabajtów (GB) pamięci RAM, 28 GB miejsca do magazynowania
Procesor GPU Standardowa_NC6 6 rdzeni, 56 gigabajtów (GB) pamięci RAM, 380 GB magazynu, NVIDIA Tesla K80 GPU

Aby uzyskać najlepszy rozmiar maszyny wirtualnej dla danego scenariusza, może on składać się z wersji próbnej i błędu. Poniżej przedstawiono kilka aspektów, które należy wziąć pod uwagę.

  • Jeśli potrzebujesz procesora CPU:
    • Jeśli trenujesz na dużych zestawach danych, użyj maszyny wirtualnej zoptymalizowanej pod kątem pamięci.
    • Użyj maszyny wirtualnej zoptymalizowanej pod kątem obliczeń, jeśli wykonujesz wnioskowanie w czasie rzeczywistym lub inne zadania wrażliwe na opóźnienia.
    • Aby przyspieszyć czas trenowania, użyj maszyny wirtualnej z większą ilością rdzeni i pamięci RAM.
  • Jeśli potrzebujesz procesora GPU, zobacz zoptymalizowane pod kątem procesora GPU rozmiary maszyn wirtualnych , aby uzyskać informacje na temat wybierania maszyny wirtualnej.
    • Jeśli przeprowadzasz trenowanie rozproszone, użyj rozmiarów maszyn wirtualnych, które mają wiele procesorów GPU.
    • Jeśli przeprowadzasz trenowanie rozproszone na wielu węzłach, użyj procesorów GPU, które mają połączenia NVLink.

Podczas wybierania typu maszyny wirtualnej i jednostki SKU, która najlepiej pasuje do obciążenia, oceń porównywalne jednostki SKU maszyn wirtualnych jako kompromis między wydajnością procesora CPU i procesorem GPU i cenami. Z perspektywy zarządzania kosztami zadanie może działać rozsądnie dobrze na kilku jednostkach SKU.

Niektóre procesory GPU, takie jak rodzina NC, szczególnie NC_Promo jednostki SKU, mają podobne możliwości do innych procesorów GPU, takich jak małe opóźnienia i możliwość zarządzania wieloma obciążeniami obliczeniowymi równolegle. Są one dostępne po obniżonych cenach w porównaniu z niektórymi innymi procesorami GPU. Rozważnie wybrania jednostek SKU maszyny wirtualnej do obciążenia może znacznie obniżyć koszty.

Przypomnieniem o znaczeniu wykorzystania jest zarejestrowanie się w celu uzyskania większej liczby procesorów GPU, nie musi być wykonywane z szybszymi wynikami. Zamiast tego upewnij się, że procesory GPU są w pełni wykorzystywane. Na przykład dokładnie sprawdź potrzebę zastosowania interfejsu NVIDIA CUDA. Chociaż może to być wymagane w przypadku wykonywania procesora GPU o wysokiej wydajności, zadanie może nie być zależne od niego.

Określanie rozmiaru obliczeń dla wnioskowania

Wymagania obliczeniowe dotyczące scenariuszy wnioskowania różnią się od scenariuszy szkoleniowych. Dostępne opcje różnią się w zależności od tego, czy scenariusz wymaga wnioskowania w trybie offline w partii, czy wymaga wnioskowania online w czasie rzeczywistym.

W przypadku scenariuszy wnioskowania w czasie rzeczywistym należy wziąć pod uwagę następujące sugestie:

  • Użyj możliwości profilowania w modelu za pomocą usługi Azure Machine Edukacja, aby określić, ile procesora CPU i pamięci należy przydzielić dla modelu podczas wdrażania go jako usługi internetowej.
  • Jeśli wykonujesz wnioskowanie w czasie rzeczywistym, ale nie potrzebujesz wysokiej dostępności, wdróż w usłudze Azure Container Instances (bez wyboru jednostki SKU).
  • Jeśli wykonujesz wnioskowanie w czasie rzeczywistym, ale potrzebujesz wysokiej dostępności, wdróż w usłudze Azure Kubernetes Service.
    • Jeśli używasz tradycyjnych modeli uczenia maszynowego i otrzymujesz < 10 zapytań na sekundę, zacznij od jednostki SKU procesora CPU. Jednostki SKU serii F często działają dobrze.
    • Jeśli używasz modeli uczenia głębokiego i otrzymujesz > 10 zapytań na sekundę, spróbuj użyć jednostki SKU procesora GPU FIRMY NVIDIA (NCasT4_v3 często działa dobrze) w rozwiązaniu Triton.

W przypadku scenariuszy wnioskowania wsadowego należy wziąć pod uwagę następujące sugestie:

  • W przypadku korzystania z potoków usługi Azure Machine Edukacja na potrzeby wnioskowania wsadowego postępuj zgodnie ze wskazówkami w artykule Określanie rozmiaru obliczeniowego na potrzeby trenowania, aby wybrać początkowy rozmiar maszyny wirtualnej.
  • Optymalizowanie kosztów i wydajności przez skalowanie w poziomie. Jedną z kluczowych metod optymalizacji kosztów i wydajności jest równoległość obciążenia przy użyciu kroku równoległego uruchamiania w usłudze Azure Machine Edukacja. Ten krok potoku umożliwia równoległe wykonywanie zadania za pomocą wielu mniejszych węzłów, co umożliwia skalowanie w poziomie. Istnieje jednak obciążenie związane z równoległym przetwarzaniem. W zależności od obciążenia i stopnia równoległości, które można osiągnąć, krok przebiegu równoległego może być lub nie może być opcją.

Określanie rozmiaru wystąpienia obliczeniowego

W przypadku programowania interakcyjnego zalecane jest wystąpienie obliczeniowe usługi Azure Machine Edukacja. Oferta wystąpienia obliczeniowego (CI) umożliwia korzystanie z obliczeń z jednym węzłem powiązanych z jednym użytkownikiem i może być używana jako stacja robocza w chmurze.

Niektóre organizacje nie zezwalają na korzystanie z danych produkcyjnych na lokalnych stacjach roboczych, wymuszają ograniczenia w środowisku stacji roboczej lub ograniczają instalację pakietów i zależności w firmowym środowisku IT. Wystąpienie obliczeniowe może służyć jako stacja robocza do przezwyciężenia ograniczeń. Oferuje bezpieczne środowisko z dostępem do danych produkcyjnych i działa na obrazach, które są dostarczane z popularnymi pakietami i narzędziami do nauki o danych wstępnie zainstalowanych.

Gdy wystąpienie obliczeniowe jest uruchomione, użytkownik jest rozliczany za zasoby obliczeniowe maszyny wirtualnej, usługa Load Balancer w warstwie Standardowa (uwzględnione reguły równoważenia/ruchu wychodzącego i przetwarzane dane), dysk systemu operacyjnego (dysk zarządzany przez ssd w warstwie Premium P10), dysk tymczasowy (typ dysku tymczasowego zależy od wybranego rozmiaru maszyny wirtualnej) i publicznego adresu IP. Aby zaoszczędzić koszty, zalecamy, aby użytkownicy rozważyli następujące kwestie:

  • Uruchom i zatrzymaj wystąpienie obliczeniowe, gdy nie jest używane.
  • Praca z próbką danych w wystąpieniu obliczeniowym i skalowanie w poziomie do klastrów obliczeniowych w celu pracy z pełnym zestawem danych
  • Przesyłanie zadań eksperymentowania w lokalnym trybie docelowym obliczeniowym w wystąpieniu obliczeniowym podczas opracowywania lub testowania lub przełączania się do udostępnionej pojemności obliczeniowej podczas przesyłania zadań w pełnej skali. Na przykład wiele epok, pełny zestaw danych i hiperparametrów wyszukiwania.

Jeśli zatrzymasz wystąpienie obliczeniowe, zatrzyma to naliczanie opłat za godziny obliczeniowe maszyny wirtualnej, dysk tymczasowy i usługa Load Balancer w warstwie Standardowa przetworzonych kosztów danych. Pamiętaj, że użytkownik nadal płaci za dysk systemu operacyjnego i usługa Load Balancer w warstwie Standardowa uwzględnione reguły równoważenia obciążenia/ruchu wychodzącego nawet wtedy, gdy wystąpienie obliczeniowe zostanie zatrzymane. Wszystkie dane zapisane na dysku systemu operacyjnego są utrwalane przez zatrzymanie i ponowne uruchomienie.

Dostrajanie wybranego rozmiaru maszyny wirtualnej przez monitorowanie wykorzystania zasobów obliczeniowych

Informacje na temat usługi Azure Machine Edukacja użycia zasobów obliczeniowych i wykorzystania można wyświetlić za pośrednictwem usługi Azure Monitor. Szczegółowe informacje na temat wdrażania i rejestracji modelu, szczegółów limitu przydziału, takich jak aktywne i bezczynne węzły, szczegóły uruchamiania, takie jak anulowane i ukończone przebiegi, oraz wykorzystanie zasobów obliczeniowych dla procesora GPU i procesora CPU.

Na podstawie szczegółowych informacji na temat monitorowania możesz lepiej zaplanować lub dostosować użycie zasobów w zespole. Jeśli na przykład zauważysz wiele bezczynnych węzłów w ciągu ostatniego tygodnia, możesz pracować z odpowiednimi właścicielami obszarów roboczych, aby zaktualizować konfigurację klastra obliczeniowego, aby zapobiec tym dodatkowym kosztom. Zalety analizowania wzorców wykorzystania mogą pomóc w prognozowaniu kosztów i ulepszeń budżetu.

Dostęp do tych metryk można uzyskać bezpośrednio w witrynie Azure Portal. Przejdź do obszaru roboczego usługi Azure Machine Edukacja i wybierz pozycję Metryki w sekcji monitorowania na panelu po lewej stronie. Następnie możesz wybrać szczegóły dotyczące tego, co chcesz wyświetlić, takie jak metryki, agregacja i okres. Aby uzyskać więcej informacji, zobacz stronę dokumentacji usługi Azure Machine Edukacja monitora.

Diagram metryk usługi Azure Monitor dla usługi Azure Machine Edukacja

Przełączanie między obliczeniami lokalnymi, jednowęźle i wielowęźleowymi w chmurze podczas opracowywania

W całym cyklu życia uczenia maszynowego istnieją różne wymagania dotyczące obliczeń i narzędzi. Usługa Azure Machine Edukacja może być interfejsem za pomocą zestawu SDK i interfejsu wiersza polecenia z praktycznie dowolnej preferowanej konfiguracji stacji roboczej, aby spełnić te wymagania.

Aby zaoszczędzić koszty i wydajnie pracować, zaleca się:

  • Sklonuj bazę kodu eksperymentowania lokalnie przy użyciu usługi Git i prześlij zadania do obliczeń w chmurze przy użyciu zestawu SDK lub interfejsu wiersza polecenia usługi Azure Machine Edukacja.
  • Jeśli zestaw danych jest duży, rozważ zarządzanie próbką danych na lokalnej stacji roboczej, zachowując pełny zestaw danych w magazynie w chmurze.
  • Sparametryzuj bazę kodu eksperymentowania, aby można było skonfigurować zadania do uruchamiania z różną liczbą epok lub zestawów danych o różnych rozmiarach.
  • Nie koduj trwale ścieżki folderu zestawu danych. Następnie można łatwo użyć tej samej bazy kodu z różnymi zestawami danych i w kontekście wykonywania lokalnego i w chmurze.
  • Uruchamianie zadań eksperymentowania w lokalnym trybie docelowym obliczeń podczas opracowywania lub testowania albo przełączania się do udostępnionej pojemności klastra obliczeniowego podczas przesyłania zadań w pełnej skali.
  • Jeśli zestaw danych jest duży, należy pracować z próbką danych na stacji roboczej wystąpienia lokalnego lub obliczeniowego, podczas skalowania do obliczeń w chmurze w usłudze Azure Machine Edukacja, aby pracować z pełnym zestawem danych.
  • Gdy wykonywanie zadań zajmuje dużo czasu, rozważ optymalizację bazy kodu na potrzeby trenowania rozproszonego, aby umożliwić skalowanie w poziomie.
  • Zaprojektuj obciążenia trenowania rozproszonego pod kątem elastyczności węzłów, aby umożliwić elastyczne korzystanie z obliczeń z jednym węzłem i wieloma węzłami oraz łatwość użycia zasobów obliczeniowych, które mogą zostać wywłaszczone.

Łączenie typów obliczeniowych przy użyciu potoków usługi Azure Machine Edukacja

Podczas organizowania przepływów pracy uczenia maszynowego można zdefiniować potok z wieloma krokami. Każdy krok w potoku może być uruchamiany we własnym typie obliczeniowym. Dzięki temu można zoptymalizować wydajność i koszty w celu spełnienia różnych wymagań obliczeniowych w całym cyklu życia uczenia maszynowego.

Dążenie do najlepszego wykorzystania budżetu zespołu

Chociaż decyzje dotyczące alokacji budżetu mogą być poza zakresem kontroli nad poszczególnymi zespołami, zespół jest zazwyczaj uprawniony do korzystania z przydzielonego budżetu do swoich najlepszych potrzeb. Dzięki rozmieszeniu priorytetów zadań w porównaniu z wydajnością i kosztami zespół może osiągnąć wyższe wykorzystanie klastra, obniżyć całkowity koszt i użyć większej liczby godzin obliczeniowych z tego samego budżetu. Może to spowodować zwiększenie produktywności zespołu.

Optymalizowanie kosztów udostępnionych zasobów obliczeniowych

Kluczem do optymalizacji kosztów współużytkowanych zasobów obliczeniowych jest zapewnienie, że są one używane do pełnej pojemności. Poniżej przedstawiono kilka wskazówek dotyczących optymalizowania kosztów zasobów udostępnionych:

  • Jeśli używasz wystąpień obliczeniowych, włącz je tylko wtedy, gdy masz kod do wykonania. Zamknij je, gdy nie są używane.
  • W przypadku korzystania z klastrów obliczeniowych ustaw minimalną liczbę węzłów na 0 i maksymalną liczbę węzłów, która jest oceniana na podstawie ograniczeń budżetu. Skorzystaj z kalkulatora cen platformy Azure, aby obliczyć koszt pełnego wykorzystania jednego węzła maszyny wirtualnej wybranej jednostki SKU maszyny wirtualnej. Skalowanie automatyczne spowoduje skalowanie w dół wszystkich węzłów obliczeniowych, gdy nikt z nich nie korzysta. Spowoduje to skalowanie tylko w górę do liczby węzłów, dla których masz budżet. Skalowanie automatyczne można skonfigurować w celu skalowania w dół wszystkich węzłów obliczeniowych.
  • Monitoruj wykorzystanie zasobów, takie jak wykorzystanie procesora CPU i wykorzystanie procesora GPU podczas trenowania modeli. Jeśli zasoby nie są w pełni używane, zmodyfikuj kod, aby lepiej używać zasobów lub skalować w dół do mniejszych lub tańszych rozmiarów maszyn wirtualnych.
  • Oceń, czy możesz utworzyć udostępnione zasoby obliczeniowe dla zespołu, aby uniknąć nieefektywności obliczeń spowodowanych operacjami skalowania klastra.
  • Optymalizowanie zasad limitu czasu automatycznego skalowania klastra obliczeniowego na podstawie metryk użycia.
  • Użyj przydziałów obszarów roboczych, aby kontrolować ilość zasobów obliczeniowych, do których mają dostęp poszczególne obszary robocze.

Wprowadzenie priorytetu planowania przez utworzenie klastrów dla wielu jednostek SKU maszyn wirtualnych

Działając w ramach ograniczeń limitu przydziału i budżetu, zespół musi zniważyć terminowe wykonywanie zadań w porównaniu z kosztami, aby zapewnić, że ważne zadania są uruchamiane w odpowiednim czasie, a budżet jest używany w najlepszy możliwy sposób.

Aby zapewnić najlepsze wykorzystanie zasobów obliczeniowych, zespoły są zalecane do tworzenia klastrów o różnych rozmiarach oraz o niskim priorytetach i dedykowanych priorytetach maszyn wirtualnych. Obliczenia o niskim priorytcie wykorzystują nadwyżkę pojemności na platformie Azure, dlatego są wyposażone w obniżone stawki. Na minusie te maszyny mogą zostać wywłaszczone w dowolnym momencie, gdy pojawia się pytanie o wyższy priorytet.

Korzystając z klastrów o różnym rozmiarze i priorytetzie, można wprowadzić pojęcie priorytetu planowania. Na przykład gdy zadania eksperymentalne i produkcyjne konkurują o ten sam limit przydziału procesora GPU nc , zadanie produkcyjne może mieć preferencję uruchamiania nad zadaniem eksperymentalnym. W takim przypadku uruchom zadanie produkcyjne w dedykowanym klastrze obliczeniowym i zadanie eksperymentalne w klastrze obliczeniowym o niskim priorytcie. Gdy limit przydziału spadnie, zadanie eksperymentalne zostanie wywłaszczone na rzecz zadania produkcyjnego.

Obok priorytetu maszyny wirtualnej rozważ uruchomienie zadań na różnych jednostkach SKU maszyn wirtualnych. Może to oznaczać, że wykonanie zadania na wystąpieniu maszyny wirtualnej z procesorem GPU P40 trwa dłużej niż na procesorze GPU w wersji 100. Jednak ponieważ wystąpienia maszyn wirtualnych w wersji 100 mogą być zajęte lub w pełni używane limity przydziału, czas ukończenia procesu P40 może być nadal szybszy z perspektywy przepływności zadania. Możesz również rozważyć uruchamianie zadań z niższym priorytetem dla mniej wydajnych i tańszych wystąpień maszyn wirtualnych z perspektywy zarządzania kosztami.

Wczesne zakończenie przebiegu, gdy trenowanie nie jest zbieżne

W przypadku ciągłego eksperymentowania w celu ulepszenia modelu względem jego planu bazowego może być wykonywanie różnych przebiegów eksperymentów, z których każda ma nieco inne konfiguracje. W przypadku jednego przebiegu możesz dostosować wejściowe zestawy danych. W przypadku innego przebiegu możesz wprowadzić zmianę hiperparametru. Nie wszystkie zmiany mogą być tak skuteczne, jak inne. Wcześniej wykryto, że zmiana nie miała zamierzonego wpływu na jakość trenowania modelu. Aby wykryć, czy trenowanie nie jest zbieżne, monitoruj postęp trenowania podczas przebiegu. Na przykład, rejestrując metryki wydajności po każdej epoki trenowania. Rozważ wcześniejsze zakończenie zadania, aby zwolnić zasoby i budżet na inną wersję próbną.

Planowanie, zarządzanie budżetami, kosztami i limitami przydziału oraz zarządzanie nimi

W miarę zwiększania liczby przypadków użycia i zespołów uczenia maszynowego organizacja wymaga zwiększonej dojrzałości operacyjnej od działu IT i finansów, a także koordynacji między poszczególnymi zespołami uczenia maszynowego w celu zapewnienia wydajnych operacji. Zarządzanie pojemnością i limitami przydziału w skali firmy staje się ważne, aby rozwiązać problem z niedoborem zasobów obliczeniowych i przezwyciężyć nakłady pracy związane z zarządzaniem.

W tej sekcji omówiono najlepsze rozwiązania dotyczące planowania, zarządzania i udostępniania budżetów, kosztów i limitów przydziału w skali przedsiębiorstwa. Jest ona oparta na uczeniu się od zarządzania wieloma zasobami szkoleniowymi procesora GPU na potrzeby uczenia maszynowego wewnętrznie w firmie Microsoft.

Omówienie wydatków na zasoby za pomocą usługi Azure Machine Edukacja

Jednym z największych wyzwań jako administrator do planowania potrzeb obliczeniowych jest rozpoczęcie nowego bez informacji historycznych jako szacowania bazowego. W praktyce większość projektów rozpocznie się od małego budżetu jako pierwszego kroku.

Aby zrozumieć, gdzie trwa budżet, ważne jest, aby wiedzieć, skąd pochodzą koszty usługi Azure Machine Edukacja:

  • Usługa Azure Machine Edukacja opłaty tylko za używaną infrastrukturę obliczeniową i nie dodaje dodatkowej opłaty za koszty obliczeń.
  • Po utworzeniu obszaru roboczego usługi Azure Machine Edukacja istnieje również kilka innych zasobów utworzonych w celu włączenia usługi Azure Machine Edukacja: Key Vault, application Szczegółowe informacje, Azure Storage i Azure Container Registry. Te zasoby są używane w usłudze Azure Machine Edukacja i płacisz za te zasoby.
  • Istnieją koszty związane z zarządzanymi obliczeniami, takimi jak klastry szkoleniowe, wystąpienia obliczeniowe i zarządzane punkty końcowe wnioskowania. Te zarządzane zasoby obliczeniowe obejmują następujące koszty infrastruktury: maszyny wirtualne, sieć wirtualna, moduł równoważenia obciążenia, przepustowość i magazyn.

Śledzenie wzorców wydatków i osiąganie lepszych raportów przy użyciu tagowania

Administracja istratorzy często chcą śledzić koszty na różnych zasobach w usłudze Azure Machine Edukacja. Tagowanie to naturalne rozwiązanie tego problemu i jest zgodne z ogólnym podejściem używanym przez platformę Azure i wieloma innymi dostawcami usług w chmurze. Dzięki obsłudze tagów można teraz zobaczyć podział kosztów na poziomie obliczeniowym, co pozwala uzyskać dostęp do bardziej szczegółowego widoku, aby ułatwić lepsze monitorowanie kosztów, lepsze raportowanie i większą przejrzystość.

Tagowanie umożliwia umieszczenie niestandardowych tagów w obszarach roboczych i obliczeniach (z szablonów usługi Azure Resource Manager i usługi Azure Machine Edukacja Studio) w celu dalszego filtrowania tych zasobów w usłudze Microsoft Cost Management na podstawie tych tagów w celu obserwowania wzorców wydatków. Ta funkcja może być najlepiej wykorzystywana w przypadku scenariuszy wewnętrznej opłaty zwrotnej. Ponadto tagi mogą być przydatne do przechwytywania metadanych lub szczegółów skojarzonych z obliczeniami, takich jak projekt, zespół lub określony kod rozliczeniowy. Dzięki temu tagowanie jest bardzo korzystne w celu mierzenia, ile pieniędzy wydajesz na różne zasoby, a tym samym uzyskanie głębszego wglądu w wzorce kosztów i wydatków w zespołach lub projektach.

Istnieją również tagi wprowadzone przez system na obliczeniach, które umożliwiają filtrowanie na stronie Analiza kosztów za pomocą tagu "Typ obliczeniowy", aby zobaczyć mądry podział zasobów obliczeniowych łącznych wydatków i określić, która kategoria zasobów obliczeniowych może być przypisywana do większości kosztów. Jest to szczególnie przydatne w celu uzyskania większego wglądu w wzorce kosztów trenowania i wnioskowania.

Zrzut ekranu przedstawiający widok analizy kosztów filtrowany według typu obliczeniowego.

Zarządzanie i ograniczanie użycia zasobów obliczeniowych według zasad

Zarządzanie środowiskiem platformy Azure z wieloma obciążeniami może stanowić wyzwanie, aby zachować przegląd wydatków na zasoby. Usługa Azure Policy może ułatwić kontrolowanie wydatków na zasoby i zarządzanie nim, ograniczając określone wzorce użycia w środowisku platformy Azure.

W przypadku usługi Azure Machine Edukacja zalecamy skonfigurowanie zasad, aby zezwalać tylko na użycie określonych jednostek SKU maszyn wirtualnych. Zasady mogą pomóc w zapobieganiu i kontrolowaniu wyboru drogich maszyn wirtualnych. Zasady mogą również służyć do wymuszania użycia jednostek SKU maszyn wirtualnych o niskim priorytcie.

Przydzielanie limitu przydziału i zarządzanie nim na podstawie priorytetu biznesowego

Platforma Azure umożliwia ustawianie limitów przydziału na poziomie subskrypcji i obszaru roboczego usługi Azure Machine Edukacja. Ograniczenie, kto może zarządzać limitem przydziału za pomocą kontroli dostępu opartej na rolach (RBAC) platformy Azure, może pomóc w zapewnieniu wykorzystania zasobów i przewidywalności kosztów.

Dostępność limitu przydziału procesora GPU może być skąpe w ramach subskrypcji. Aby zapewnić wysokie wykorzystanie limitu przydziału w obciążeniach, zalecamy monitorowanie, czy przydział jest najlepiej używany i przypisywany między obciążeniami.

W firmie Microsoft okresowo określa się, czy limity przydziału procesora GPU są najlepiej używane i przydzielane w zespołach uczenia maszynowego, oceniając potrzeby pojemności względem priorytetu biznesowego.

Zatwierdź pojemność z wyprzedzeniem

Jeśli masz dobre oszacowanie, ile zasobów obliczeniowych będzie używanych w ciągu następnego roku lub w ciągu najbliższych kilku lat, możesz kupić wystąpienia zarezerwowane maszyn wirtualnych platformy Azure w obniżonym koszcie. Istnieją roczne lub trzyletnie warunki zakupu. Ponieważ rabaty na wystąpienia zarezerwowane maszyn wirtualnych platformy Azure są obniżone, w porównaniu z cenami płatności zgodnie z rzeczywistym użyciem mogą być znaczne oszczędności.

Usługa Azure Machine Edukacja obsługuje wystąpienia zarezerwowane zasobów obliczeniowych. Rabaty są automatycznie stosowane do usługi Azure Machine Edukacja zarządzanych zasobów obliczeniowych.

Zarządzanie przechowywaniem danych

Za każdym razem, gdy potok uczenia maszynowego jest wykonywany, zestawy danych pośrednich można wygenerować w każdym kroku potoku na potrzeby buforowania i ponownego użycia danych. Wzrost danych jako danych wyjściowych tych potoków uczenia maszynowego może stać się punktem bólu dla organizacji, która uruchamia wiele eksperymentów uczenia maszynowego.

Analitycy danych zwykle nie poświęcają czasu na czyszczenie pośrednich zestawów danych, które są generowane. Z upływem czasu ilość generowanych danych będzie się sumowała. Usługa Azure Storage oferuje możliwość zwiększenia zarządzania cyklem życia danych. Za pomocą zarządzania cyklem życia usługi Azure Blob Storage można skonfigurować ogólne zasady przenoszenia danych nieużywanych do chłodniejszych warstw magazynowania i oszczędzić koszty.

Zagadnienia dotyczące optymalizacji kosztów infrastruktury

Sieć

Koszt sieci platformy Azure jest naliczany z przepustowości wychodzącej z centrum danych platformy Azure. Wszystkie dane przychodzące do centrum danych platformy Azure są bezpłatne. Kluczem do zmniejszenia kosztów sieci jest wdrożenie wszystkich zasobów w tym samym regionie centrum danych, jeśli to możliwe. Jeśli możesz wdrożyć usługę Azure Machine Edukacja obszar roboczy i zasoby obliczeniowe w tym samym regionie, w którym są używane dane, możesz korzystać z niższych kosztów i wyższej wydajności.

Możesz mieć połączenie prywatne między siecią lokalną a siecią platformy Azure, aby mieć środowisko chmury hybrydowej. Usługa ExpressRoute umożliwia wykonanie tej czynności, ale biorąc pod uwagę wysokie koszty usługi ExpressRoute, może to być bardziej opłacalne, aby odejść od konfiguracji chmury hybrydowej i przenieść wszystkie zasoby do chmury platformy Azure.

Azure Container Registry

W przypadku usługi Azure Container Registry czynniki określające optymalizację kosztów obejmują:

  • Wymagana przepływność pobierania obrazów platformy Docker z rejestru kontenerów do usługi Azure Machine Edukacja
  • Wymagania dotyczące funkcji zabezpieczeń przedsiębiorstwa, takich jak usługa Azure Private Link

W przypadku scenariuszy produkcyjnych, w których wymagana jest wysoka przepływność lub zabezpieczenia przedsiębiorstwa, zalecana jest jednostka SKU Premium usługi Azure Container Registry.

W przypadku scenariuszy tworzenia i testowania, w których przepływność i zabezpieczenia są mniej krytyczne, zalecamy użycie jednostki SKU w warstwie Standardowa lub jednostki SKU Premium.

Podstawowa jednostka SKU usługi Azure Container Registry nie jest zalecana w przypadku usługi Azure Machine Edukacja. Nie jest to zalecane ze względu na niską przepływność i niskie dołączone miejsce do magazynowania, które można szybko przekroczyć przez stosunkowo duże obrazy platformy Docker w usłudze Azure Machine Edukacja (1+ GB).

Rozważ dostępność typu obliczeniowego podczas wybierania regionów świadczenia usługi Azure

Po wybraniu regionu dla zasobów obliczeniowych należy pamiętać o dostępności limitu przydziału zasobów obliczeniowych. Popularne i większe regiony, takie jak Wschodnie stany USA, Zachodnie stany USA i Europa Zachodnia, zwykle mają wyższe wartości przydziału domyślnego i większą dostępność większości procesorów CPU i procesorów GPU, w porównaniu z niektórymi innymi regionami z bardziej rygorystycznymi ograniczeniami pojemności.

Dowiedz się więcej

Śledzenie kosztów między jednostkami biznesowymi, środowiskami lub projektami przy użyciu przewodnika Cloud Adoption Framework

Następne kroki

Aby dowiedzieć się więcej na temat organizowania i konfigurowania środowisk usługi Azure Machine Edukacja, zobacz Organizowanie i konfigurowanie środowisk usługi Azure Machine Edukacja.

Aby dowiedzieć się więcej o najlepszych rozwiązaniach dotyczących usługi Machine Edukacja DevOps za pomocą usługi Azure Machine Edukacja, zobacz Przewodnik devOps dotyczący uczenia maszynowego.