Zarządzanie i optymalizowanie kosztów usługi Azure Machine Edukacja

Dowiedz się, jak zarządzać kosztami i optymalizować podczas trenowania i wdrażania modeli uczenia maszynowego w usłudze Azure Machine Edukacja.

Skorzystaj z poniższych wskazówek, aby ułatwić zarządzanie kosztami zasobów obliczeniowych i optymalizowanie ich.

  • Konfigurowanie klastrów szkoleniowych na potrzeby skalowania automatycznego
  • Ustawianie limitów przydziału dla subskrypcji i obszarów roboczych
  • Ustawianie zasad kończenia zadań szkoleniowych
  • Korzystanie z maszyn wirtualnych o niskim priorytcie
  • Planowanie wystąpień obliczeniowych w celu automatycznego zamykania i uruchamiania
  • Korzystanie z wystąpienia zarezerwowanej maszyny wirtualnej platformy Azure
  • Trenowanie lokalnie
  • Równoległe trenowanie
  • Ustawianie zasad przechowywania i usuwania danych
  • Wdrażanie zasobów w tym samym regionie

Aby uzyskać informacje na temat planowania i monitorowania kosztów, zobacz przewodnik dotyczący zarządzania kosztami dla usługi Azure Machine Edukacja.

Ważne

Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Korzystanie z klastra obliczeniowego usługi Azure Machine Edukacja (AmlCompute)

Dzięki stale zmieniającym się danym potrzebne jest szybkie i usprawnione trenowanie i ponowne trenowanie modelu w celu zachowania dokładnych modeli. Jednak ciągłe szkolenie wiąże się z kosztami, szczególnie w przypadku modeli uczenia głębokiego na procesorach GPU.

Użytkownicy usługi Azure Machine Edukacja mogą używać zarządzanego klastra obliczeniowego usługi Azure Machine Edukacja nazywanego również AmlCompute. Funkcja AmlCompute obsługuje różne opcje procesora GPU i procesora CPU. Aplikacja AmlCompute jest hostowana wewnętrznie w imieniu subskrypcji przez usługę Azure Machine Edukacja. Zapewnia te same zabezpieczenia, zgodność i ład klasy korporacyjnej w skali chmury IaaS platformy Azure.

Ponieważ te pule obliczeniowe znajdują się w infrastrukturze IaaS platformy Azure, możesz wdrażać, skalować i zarządzać szkoleniami przy użyciu tych samych wymagań dotyczących zabezpieczeń i zgodności co pozostała część infrastruktury. Te wdrożenia są wykonywane w ramach subskrypcji i przestrzegać reguł ładu. Dowiedz się więcej o usłudze Azure Machine Edukacja compute.

Konfigurowanie klastrów szkoleniowych na potrzeby skalowania automatycznego

Skalowanie automatyczne klastrów na podstawie wymagań obciążenia pomaga zmniejszyć koszty, dzięki czemu można używać tylko potrzebnych elementów.

Klastry AmlCompute są przeznaczone do dynamicznego skalowania na podstawie obciążenia. Klaster można skalować w górę do maksymalnej liczby skonfigurowanych węzłów. Po zakończeniu każdego zadania klaster zwalnia węzły i skaluj do skonfigurowanej minimalnej liczby węzłów.

Ważne

Aby uniknąć naliczania opłat w przypadku braku uruchomionych zadań, ustaw minimalną wartość węzłów na 0. To ustawienie umożliwia usłudze Azure Machine Edukacja anulowanie przydzielania węzłów, gdy nie są one używane. Każda wartość większa niż 0 zachowa liczbę uruchomionych węzłów, nawet jeśli nie są używane.

Można również skonfigurować czas bezczynności węzła przed skalowaniem w dół. Domyślnie czas bezczynności przed ustawieniem skalowania w dół wynosi 120 sekund.

  • Jeśli wykonasz mniej iteracyjne eksperymenty, zmniejsz ten czas, aby zaoszczędzić koszty.
  • Jeśli przeprowadzasz wysoce iteracyjne eksperymenty deweloperskie/testowe, może być konieczne zwiększenie czasu, dzięki czemu nie płacisz za stałe skalowanie w górę i w dół po każdej zmianie skryptu szkoleniowego lub środowiska.

Klastry AmlCompute można skonfigurować pod kątem zmieniających się wymagań dotyczących obciążenia w witrynie Azure Portal przy użyciu klasy AmlCompute SDK, interfejsu wiersza polecenia AmlCompute z interfejsami API REST.

Ustawianie limitów przydziału zasobów

Aplikacja AmlCompute zawiera konfigurację limitu przydziału (lub limitu). Ten limit przydziału zależy od rodziny maszyn wirtualnych (na przykład serii Dv2, serii NCv3) i zależy od regionu dla każdej subskrypcji. Subskrypcje zaczynają się od małych wartości domyślnych, aby rozpocząć pracę, ale użyj tego ustawienia, aby kontrolować ilość zasobów Amlcompute dostępnych do spun up w subskrypcji.

Skonfiguruj również limit przydziału na poziomie obszaru roboczego według rodziny maszyn wirtualnych dla każdego obszaru roboczego w ramach subskrypcji. Dzięki temu można mieć bardziej szczegółową kontrolę nad kosztami, które mogą potencjalnie wiązać się z poszczególnymi obszarami roboczymi i ograniczać niektóre rodziny maszyn wirtualnych.

Aby ustawić limity przydziału na poziomie obszaru roboczego, uruchom w witrynie Azure Portal. Wybierz dowolny obszar roboczy w ramach subskrypcji, a następnie wybierz pozycję Użycie i limity przydziału w okienku po lewej stronie. Następnie wybierz kartę Konfigurowanie przydziałów , aby wyświetlić przydziały. Potrzebujesz uprawnień w zakresie subskrypcji, aby ustawić limit przydziału, ponieważ jest to ustawienie wpływające na wiele obszarów roboczych.

Ustawianie zasad autoterminacji zadania

W niektórych przypadkach należy skonfigurować przebiegi trenowania, aby ograniczyć ich czas trwania lub zakończyć je wcześnie. Na przykład w przypadku korzystania z wbudowanego dostrajania hiperparametrów lub zautomatyzowanego uczenia maszynowego w usłudze Azure Machine Edukacja.

Oto kilka opcji, które masz:

  • Zdefiniuj parametr o nazwie max_run_duration_seconds w elemecie RunConfiguration, aby kontrolować maksymalny czas trwania przebiegu, który można rozszerzyć na wybrane obliczenia (obliczenia w chmurze lokalnej lub zdalnej).
  • W przypadku dostrajania hiperparametrów zdefiniuj zasady wczesnego zakończenia z zasad bandytu, zasady zatrzymywania mediany lub zasady wyboru obcięcia. Aby dokładniej kontrolować zamiatania hiperparametrów, użyj parametrów, takich jak max_total_runs lub max_duration_minutes.
  • W przypadku zautomatyzowanego uczenia maszynowego ustaw podobne zasady kończenia przy użyciu flagi enable_early_stopping . Użyj również właściwości, takich jak iteration_timeout_minutes i experiment_timeout_minutes , aby kontrolować maksymalny czas trwania zadania lub dla całego eksperymentu.

Używanie maszyn wirtualnych o niskim priorytecie

Platforma Azure umożliwia używanie nadmiarowej nieuprawnionej pojemności jako maszyn wirtualnych o niskim priorytcie w zestawach skalowania maszyn wirtualnych, usłudze Batch i usłudze Machine Edukacja. Te alokacje są wstępnie opróżniane, ale są dostępne w obniżonej cenie w porównaniu z dedykowanymi maszynami wirtualnymi. Ogólnie rzecz biorąc, zalecamy używanie maszyn wirtualnych o niskim priorytcie dla obciążeń usługi Batch. Należy również użyć ich, gdy przerwy można odzyskać za pośrednictwem ponownego ściągania (w przypadku wnioskowania wsadowego) lub ponownego uruchomienia (w przypadku trenowania uczenia głębokiego za pomocą punktów kontrolnych).

Maszyny wirtualne o niskim priorytcie mają pojedynczy limit przydziału oddzielony od wartości dedykowanego limitu przydziału, która jest rodziną maszyn wirtualnych. Dowiedz się więcej na temat przydziałów usługi AmlCompute.

Maszyny wirtualne o niskim priorytcie nie działają w przypadku wystąpień obliczeniowych, ponieważ muszą obsługiwać interaktywne środowiska notesów.

Planowanie wystąpień obliczeniowych

Podczas tworzenia wystąpienia obliczeniowego maszyna wirtualna pozostaje włączona, aby była dostępna dla Twojej pracy.

Użycie wystąpień zarezerwowanych

Innym sposobem oszczędzania pieniędzy na zasobach obliczeniowych jest wystąpienie zarezerwowane maszyny wirtualnej platformy Azure. Dzięki tej ofercie zobowiązujesz się do terminów jednorocznych lub trzyletnich. Te rabaty wahają się do 72% cen płatności zgodnie z rzeczywistym użyciem i są stosowane bezpośrednio do miesięcznego rachunku za korzystanie z platformy Azure.

Usługa Azure Machine Edukacja Compute z założenia obsługuje wystąpienia zarezerwowane. Jeśli zakupisz jedno lub trzyletnie wystąpienie zarezerwowane, automatycznie zastosujemy rabat na zarządzane zasoby obliczeniowe usługi Azure Machine Edukacja.

Równoległe trenowanie

Jedną z kluczowych metod optymalizacji kosztów i wydajności jest równoległość obciążenia za pomocą składnika równoległego w usłudze Azure Machine Edukacja. Składnik równoległy umożliwia równoległe wykonywanie zadania przy użyciu wielu mniejszych węzłów, co pozwala na skalowanie w poziomie. Istnieje obciążenie związane z równoległym przetwarzaniem równoległym. W zależności od obciążenia i stopnia równoległości, które można osiągnąć, może to być opcja lub nie może być opcją. Aby uzyskać więcej informacji, zapoznaj się z tym linkiem do dokumentacji parallelComponent .

Ustawianie zasad przechowywania i usuwania danych

Za każdym razem, gdy potok jest wykonywany, zestawy danych pośrednich są generowane w każdym kroku. W czasie te pośrednie zestawy danych zajmują miejsce na koncie magazynu. Rozważ skonfigurowanie zasad zarządzania danymi w całym cyklu życia w celu archiwizowania i usuwania zestawów danych. Aby uzyskać więcej informacji, zobacz Optymalizowanie kosztów przez automatyzację warstw dostępu usługi Azure Blob Storage.

Wdrażanie zasobów w tym samym regionie

Obliczenia znajdujące się w różnych regionach mogą mieć opóźnienie sieci i większe koszty transferu danych. Koszty sieci platformy Azure są naliczane z przepustowości wychodzącej z centrów danych platformy Azure. Aby zmniejszyć koszty sieci, wdróż wszystkie zasoby w regionie. Aprowizowanie obszaru roboczego usługi Azure Machine Edukacja i zasobów zależnych w tym samym regionie, w którym dane mogą pomóc obniżyć koszty i zwiększyć wydajność.

W przypadku scenariuszy chmury hybrydowej, takich jak te korzystające z usługi ExpressRoute, czasami bardziej opłacalne może być przeniesienie wszystkich zasobów na platformę Azure w celu zoptymalizowania kosztów sieci i opóźnień.

Następne kroki