Co to są docelowe obiekty obliczeniowe w usłudze Azure Machine Learning?
Docelowy obiekt obliczeniowy to wyznaczony zasób obliczeniowy lub środowisko, w którym uruchamiasz skrypt trenowania lub hostujesz wdrożenie usługi. Ta lokalizacja może być komputerem lokalnym lub zasobem obliczeniowym opartym na chmurze. Użycie docelowych obiektów obliczeniowych ułatwia późniejsze zmienianie środowiska obliczeniowego bez konieczności zmieniania kodu.
Usługa Azure Machine Learning ma różną obsługę różnych celów obliczeniowych. W typowym cyklu życia tworzenia modeli możesz:
- Zacznij od opracowania i eksperymentowania na niewielkiej ilości danych. Na tym etapie użyj środowiska lokalnego, takiego jak komputer lokalny lub maszyna wirtualna oparta na chmurze, jako docelowy obiekt obliczeniowy.
- Skalowanie w górę do większych danych lub trenowanie rozproszone przy użyciu jednego z tych celów obliczeniowych trenowania.
- Gdy model będzie gotowy, wdróż go w środowisku hostingu internetowego z jednym z tych celów obliczeniowych wdrożenia.
Zasoby obliczeniowe używane dla celów obliczeniowych są dołączane do obszaru roboczego. Zasoby obliczeniowe inne niż komputer lokalny są współużytkowane przez użytkowników obszaru roboczego.
Trenowanie celów obliczeniowych
Podczas skalowania trenowania w górę na większe zestawy danych lub przeprowadzania trenowania rozproszonego użyj zasobów obliczeniowych usługi Azure Machine Learning, aby utworzyć klaster z jednym lub wieloma węzłami, który automatycznie skaluje się za każdym razem, gdy przesyłasz zadanie. Możesz również dołączyć własny zasób obliczeniowy, chociaż obsługa różnych scenariuszy może się różnić.
Elementy docelowe obliczeń można używać ponownie z jednego zadania szkoleniowego do następnego. Na przykład po dołączeniu zdalnej maszyny wirtualnej do obszaru roboczego można użyć jej ponownie w przypadku wielu zadań. W przypadku potoków uczenia maszynowego użyj odpowiedniego kroku potoku dla każdego docelowego obiektu obliczeniowego.
W przypadku większości zadań można użyć dowolnego z następujących zasobów na potrzeby trenowania celu obliczeniowego. Nie wszystkie zasoby mogą być używane do zautomatyzowanego uczenia maszynowego, potoków uczenia maszynowego lub projektanta. Usługa Azure Databricks może służyć jako zasób szkoleniowy dla lokalnych przebiegów i potoków uczenia maszynowego, ale nie jako zdalny element docelowy dla innych szkoleń.
Cele szkoleniowe | Zautomatyzowane uczenie maszynowe | Potoki uczenia maszynowego | Projektant usługi Azure Machine Learning |
---|---|---|---|
Komputer lokalny | Tak | ||
Klaster obliczeniowy usługi Azure Machine Learning | Tak | Tak | Tak |
Przetwarzanie bezserwerowe w usłudze Azure Machine Learning | Tak | Tak | Tak |
Wystąpienie obliczeniowe usługi Azure Machine Learning | Tak (za pośrednictwem zestawu SDK) | Tak | Tak |
Azure Machine Learning Kubernetes | Tak | Tak | |
Zdalna maszyna wirtualna | Tak | Tak | |
Pule platformy Apache Spark (wersja zapoznawcza) | Tak (tylko tryb lokalny zestawu SDK) | Tak | |
Azure Databricks | Tak (tylko tryb lokalny zestawu SDK) | Tak | |
Azure Data Lake Analytics | Tak | ||
Azure HDInsight | Tak | ||
Azure Batch | Tak |
Napiwek
Wystąpienie obliczeniowe korzysta z dysku systemu operacyjnego o pojemności 120 GB. Jeśli zabraknie miejsca na dysku, użyj terminalu, aby wyczyścić co najmniej 1–2 GB przed zatrzymaniem lub ponownym uruchomieniem wystąpienia obliczeniowego.
Cele obliczeniowe na potrzeby wnioskowania
Podczas wnioskowania usługa Azure Machine Learning tworzy kontener platformy Docker hostujący model i skojarzone zasoby potrzebne do jego użycia. Ten kontener jest następnie używany w docelowym obiekcie obliczeniowym.
Docelowy obiekt obliczeniowy używany do hostowania modelu wpływa na koszt i dostępność wdrożonego punktu końcowego. Użyj tej tabeli, aby wybrać odpowiedni docelowy obiekt obliczeniowy.
Docelowy zasób obliczeniowy | Sposób użycia | Obsługa procesora GPU | opis |
---|---|---|---|
Punkty końcowe usługi Azure Machine Learning | Wnioskowanie w czasie rzeczywistym Wnioskowanie wsadowe |
Tak | W pełni zarządzane obliczenia dla punktów końcowych online (zarządzanych punktów końcowych online) i oceniania wsadowego (punktów końcowych wsadowych) na obliczeniach bezserwerowych. |
Azure Machine Learning Kubernetes | Wnioskowanie w czasie rzeczywistym Wnioskowanie wsadowe |
Tak | Uruchamianie obciążeń wnioskowania w klastrach lokalnych, w chmurze i na brzegowych klastrach Kubernetes. |
Docelowy zasób obliczeniowy | Sposób użycia | Obsługa procesora GPU | opis |
---|---|---|---|
Lokalna usługa internetowa | Testowanie/debugowanie | Służy do ograniczonego testowania i rozwiązywania problemów. Przyspieszanie sprzętowe zależy od używania bibliotek w systemie lokalnym. | |
Azure Machine Learning Kubernetes | Wnioskowanie w czasie rzeczywistym | Tak | Uruchamianie obciążeń wnioskowania w chmurze. |
Azure Container Instances | Wnioskowanie w czasie rzeczywistym Zalecane tylko do celów tworzenia i testowania. |
Służy do obsługi obciążeń opartych na procesorach o niskiej skali, które wymagają mniej niż 48 GB pamięci RAM. Nie wymaga zarządzania klastrem. Nadaje się tylko do modeli o rozmiarze mniejszym niż 1 GB. Obsługiwane w projektancie. |
Uwaga
Podczas wybierania jednostki SKU klastra najpierw skaluj w górę, a następnie skaluj w poziomie. Zacznij od maszyny, która ma 150% pamięci RAM wymaganej przez model, sprofiluj wynik i znajdź maszynę, która ma wymaganą wydajność. Po tym, jak już wiesz, zwiększ liczbę maszyn, aby dopasować je do potrzeb współbieżnego wnioskowania.
Obliczenia usługi Azure Machine Learning (zarządzane)
Usługa Azure Machine Learning tworzy zarządzane zasoby obliczeniowe i zarządza nimi. Ten typ obliczeń jest zoptymalizowany pod kątem obciążeń uczenia maszynowego. Klastry obliczeniowe usługi Azure Machine Learning, bezserwerowe obliczenia i wystąpienia obliczeniowe są jedynymi zarządzanymi obliczeniami.
Nie ma potrzeby tworzenia bezserwerowych obliczeń. Wystąpienia obliczeniowe usługi Azure Machine Learning lub klastry obliczeniowe można tworzyć na podstawie:
- Azure Machine Learning Studio
- Zestaw SDK języka Python i interfejs wiersza polecenia platformy Azure:
- Szablon usługi Azure Resource Manager. Przykładowy szablon można znaleźć w temacie Create an Azure Machine Learning compute cluster (Tworzenie klastra obliczeniowego usługi Azure Machine Learning).
Uwaga
Zamiast tworzyć klaster obliczeniowy, użyj bezserwerowych zasobów obliczeniowych , aby odciążyć zarządzanie cyklem życia obliczeń w usłudze Azure Machine Learning.
Po utworzeniu te zasoby obliczeniowe są automatycznie częścią obszaru roboczego, w przeciwieństwie do innych rodzajów obiektów docelowych obliczeniowych.
Możliwość | Klaster obliczeniowy | Wystąpienie obliczeniowe |
---|---|---|
Klaster z jednym lub wieloma węzłami | ✓ | Klaster z jednym węzłem |
Automatyczne skalowanie za każdym razem, gdy przesyłasz zadanie | ✓ | |
Automatyczne zarządzanie klastrem i planowanie zadań | ✓ | ✓ |
Obsługa zasobów procesora CPU i procesora GPU | ✓ | ✓ |
Uwaga
Aby uniknąć naliczania opłat w przypadku bezczynności obliczeń:
- W przypadku klastra obliczeniowego upewnij się, że minimalna liczba węzłów jest ustawiona na 0 lub użyj bezserwerowych obliczeń.
- W przypadku wystąpienia obliczeniowego włącz zamykanie bezczynności. Zatrzymanie wystąpienia obliczeniowego zatrzymuje naliczanie opłat za godziny obliczeniowe, nadal jednak są naliczane opłaty za dysk, publiczny adres IP i standardowy moduł równoważenia obciążenia.
Obsługiwane serie i rozmiary maszyn wirtualnych
Ważne
Jeśli wystąpienie obliczeniowe lub klastry obliczeniowe są oparte na dowolnej z tych serii, utwórz ponownie inny rozmiar maszyny wirtualnej.
Seria ta została wycofana 31 sierpnia 2023 r.:
- Seria nc platformy Azure
- Seria NCv2 platformy Azure
- Seria ND platformy Azure
- Seria urządzeń WUS i NV_Promo platformy Azure
Seria ta została wycofana 31 sierpnia 2024 r.:
Po wybraniu rozmiaru węzła dla zarządzanego zasobu obliczeniowego w usłudze Azure Machine Learning można wybrać spośród wybranych rozmiarów maszyn wirtualnych dostępnych na platformie Azure. Platforma Azure oferuje szereg rozmiarów dla systemów Linux i Windows dla różnych obciążeń. Aby dowiedzieć się więcej, zobacz Typy i rozmiary maszyn wirtualnych.
Istnieje kilka wyjątków i ograniczeń dotyczących wybierania rozmiaru maszyny wirtualnej:
- Niektóre serie maszyn wirtualnych nie są obsługiwane w usłudze Azure Machine Learning.
- Niektóre serie maszyn wirtualnych, takie jak procesory GPU i inne specjalne jednostki SKU, mogą nie być początkowo wyświetlane na liście dostępnych maszyn wirtualnych. Nadal można ich używać, gdy zażądasz zmiany limitu przydziału. Aby uzyskać więcej informacji na temat żądania limitów przydziału, zobacz Żądania dotyczące zwiększenia limitu przydziału i limitu.
Zobacz poniższą tabelę, aby dowiedzieć się więcej na temat obsługiwanych serii.
Obsługiwana seria maszyn wirtualnych | Kategoria | Obsługiwane przez |
---|---|---|
DDSv4 | Ogólnego przeznaczenia | Klastry obliczeniowe i wystąpienia |
Dv2 | Ogólnego przeznaczenia | Klastry obliczeniowe i wystąpienia |
Dv3 | Ogólnego przeznaczenia | Klastry obliczeniowe i wystąpienia |
DSv2 | Ogólnego przeznaczenia | Klastry obliczeniowe i wystąpienia |
DSv3 | Ogólnego przeznaczenia | Klastry obliczeniowe i wystąpienia |
EAv4 | Optymalizacja pod kątem pamięci | Klastry obliczeniowe i wystąpienia |
Ev3 | Optymalizacja pod kątem pamięci | Klastry obliczeniowe i wystąpienia |
ESv3 | Optymalizacja pod kątem pamięci | Klastry obliczeniowe i wystąpienia |
FSv2 | Optymalizacja pod kątem obliczeń | Klastry obliczeniowe i wystąpienia |
FX | Optymalizacja pod kątem obliczeń | Klastry obliczeniowe |
H | Obliczenia o wysokiej wydajności | Klastry obliczeniowe i wystąpienia |
HB | Obliczenia o wysokiej wydajności | Klastry obliczeniowe i wystąpienia |
HBv2 | Obliczenia o wysokiej wydajności | Klastry obliczeniowe i wystąpienia |
HBv3 | Obliczenia o wysokiej wydajności | Klastry obliczeniowe i wystąpienia |
HC | Obliczenia o wysokiej wydajności | Klastry obliczeniowe i wystąpienia |
LSv2 | Optymalizacja pod kątem magazynu | Klastry obliczeniowe i wystąpienia |
M | Optymalizacja pod kątem pamięci | Klastry obliczeniowe i wystąpienia |
NC | Procesor GPU | Klastry obliczeniowe i wystąpienia |
NC Promo | Procesor GPU | Klastry obliczeniowe i wystąpienia |
NCv2 | Procesor GPU | Klastry obliczeniowe i wystąpienia |
NCv3 | Procesor GPU | Klastry obliczeniowe i wystąpienia |
ND | Procesor GPU | Klastry obliczeniowe i wystąpienia |
NDv2 | Procesor GPU | Klastry obliczeniowe i wystąpienia |
NV | Procesor GPU | Klastry obliczeniowe i wystąpienia |
NVv3 | Procesor GPU | Klastry obliczeniowe i wystąpienia |
NCasT4_v3 | Procesor GPU | Klastry obliczeniowe i wystąpienia |
NDasrA100_v4 | Procesor GPU | Klastry obliczeniowe i wystąpienia |
Usługa Azure Machine Learning obsługuje te serie maszyn wirtualnych, ale może nie być dostępna we wszystkich regionach świadczenia usługi Azure. Aby sprawdzić, czy seria maszyn wirtualnych jest dostępna, zobacz Dostępność produktów według regionów.
Uwaga
Usługa Azure Machine Learning nie obsługuje wszystkich rozmiarów maszyn wirtualnych, które obsługuje usługa Azure Compute. Aby wyświetlić listę dostępnych rozmiarów maszyn wirtualnych, użyj następującej metody:
Uwaga
Usługa Azure Machine Learning nie obsługuje wszystkich rozmiarów maszyn wirtualnych, które obsługuje usługa Azure Compute. Aby wyświetlić listę dostępnych rozmiarów maszyn wirtualnych obsługiwanych przez określone typy maszyn wirtualnych obliczeniowych, użyj jednej z następujących metod:
Jeśli używasz celów obliczeniowych z obsługą procesora GPU, ważne jest, aby upewnić się, że odpowiednie sterowniki CUDA są zainstalowane w środowisku trenowania. Użyj poniższej tabeli, aby określić poprawną wersję cuda do użycia:
Architektura procesora GPU | Seria maszyn wirtualnych platformy Azure | Obsługiwane wersje CUDA |
---|---|---|
Amper | NDA100_v4 | 11.0+ |
Turing | NCT4_v3 | 10.0+ |
Volta | NCv3, NDv2 | 9.0+ |
Paskal | NCv2, ND | 9.0+ |
Maxwell | NV, NVv3 | 9.0+ |
Kepler | NC, NC Promo | 9.0+ |
Oprócz zapewnienia, że wersja i sprzęt CUDA są zgodne, upewnij się również, że wersja CUDA jest zgodna z wersją używanej platformy uczenia maszynowego:
- W przypadku aplikacji PyTorch można sprawdzić zgodność, odwiedzając stronę poprzednich wersji Pytorch.
- W przypadku biblioteki Tensorflow można sprawdzić zgodność, odwiedzając kompilację tensorflow ze strony źródłowej.
Izolacja środowiska obliczeniowego
Środowisko obliczeniowe usługi Azure Machine Learning oferuje rozmiary maszyn wirtualnych, które są izolowane do określonego typu sprzętu i przeznaczone dla jednego klienta. Izolowane rozmiary maszyn wirtualnych najlepiej nadają się do obciążeń wymagających wysokiego stopnia izolacji od obciążeń innych klientów z powodów, które obejmują spełnienie wymagań prawnych i zgodności. Użycie izolowanego rozmiaru gwarantuje, że maszyna wirtualna jest jedyną uruchomioną w tym konkretnym wystąpieniu serwera.
Bieżące izolowane oferty maszyn wirtualnych obejmują:
- Standard_M128ms
- Standard_F72s_v2
- Standard_NC24s_v3
- Standard_NC24rs_v3 (z obsługą funkcji RDMA)
Aby dowiedzieć się więcej na temat izolacji, zobacz Izolacja w chmurze publicznej platformy Azure.
Niezarządzane obliczenia
Usługa Azure Machine Learning nie zarządza niezarządzanym obiektem docelowym obliczeniowym. Ten typ docelowego obiektu obliczeniowego jest tworzony poza usługą Azure Machine Learning, a następnie dołączany do obszaru roboczego. Niezarządzane zasoby obliczeniowe mogą wymagać dodatkowych kroków w celu utrzymania lub zwiększenia wydajności obciążeń uczenia maszynowego.
Usługa Azure Machine Learning obsługuje następujące typy niezarządzanych zasobów obliczeniowych:
- Zdalne maszyny wirtualne
- Azure HDInsight
- Azure Databricks
- Azure Data Lake Analytics
- Azure Kubernetes Service
- Pula platformy Azure Synapse Spark (przestarzała)
Aby uzyskać więcej informacji, zobacz Zarządzanie zasobami obliczeniowymi.