Zalecenia dotyczące obliczeń dla obciążeń sztucznej inteligencji w infrastrukturze platformy Azure (IaaS)
Ten artykuł zawiera zalecenia dotyczące obliczeń dla organizacji z obciążeniami sztucznej inteligencji w infrastrukturze platformy Azure (IaaS). Preferowaną metodą jest rozpoczęcie wdrażania sztucznej inteligencji przy użyciu rozwiązań typu "platforma jako usługa" (PaaS) platformy Azure. Jeśli jednak masz dostęp do procesorów GPU platformy Azure, postępuj zgodnie z poniższymi wskazówkami, aby uruchamiać obciążenia sztucznej inteligencji w usłudze Azure IaaS.
Obciążenia sztucznej inteligencji wymagają wyspecjalizowanych maszyn wirtualnych do obsługi dużych wymagań obliczeniowych i przetwarzania danych na dużą skalę. Wybranie odpowiednich maszyn wirtualnych optymalizuje użycie zasobów i przyspiesza opracowywanie i wdrażanie modelu sztucznej inteligencji. Poniższa tabela zawiera omówienie zalecanych opcji obliczeniowych.
Faza sztucznej inteligencji | Obraz maszyny wirtualnej | Generatywna AI | Niegeneracyjna sztuczna inteligencja (złożone modele) | Niegeneracyjna sztuczna inteligencja (małe modele) |
---|---|---|---|---|
Trenowanie modeli sztucznej inteligencji | maszyny wirtualne Nauka o danych | Procesor GPU (preferuj rodzinę ND. Alternatywnie używaj rodziny NC z połączonymi między sieciami wirtualnymi ethernet) | Procesor GPU (preferuj rodzinę ND. Alternatywnie używaj rodziny NC z połączonymi między sieciami wirtualnymi ethernet) | Zoptymalizowane pod kątem pamięci (procesor CPU) |
Wnioskowanie modeli sztucznej inteligencji | maszyny wirtualne Nauka o danych | Procesor GPU (rodzina NC lub ND) | Procesor GPU (rodzina NC lub ND) | Zoptymalizowane pod kątem obliczeń (procesor CPU) |
Wybierz odpowiedni obraz maszyny wirtualnej
Wybierz odpowiedni obraz maszyny wirtualnej, taki jak Nauka o danych Virtual Machines, aby szybko uzyskać dostęp do wstępnie skonfigurowanych narzędzi dla obciążeń sztucznej inteligencji. Dzięki temu można zaoszczędzić czas i zasoby, zapewniając oprogramowanie niezbędne do wydajnego przetwarzania sztucznej inteligencji
Zacznij od obrazów Nauka o danych Virtual Machines. Obraz maszyny wirtualnej Nauka o danych oferuje wstępnie skonfigurowany dostęp do narzędzi do nauki o danych. Te narzędzia obejmują PyTorch, TensorFlow, scikit-learn, Jupyter, Visual Studio Code, interfejs wiersza polecenia platformy Azure i PySpark. W przypadku użycia z procesorami GPU obraz zawiera również sterowniki firmy Nvidia, zestaw narzędzi CUDA i cuDNN. Te obrazy służą jako obraz punktu odniesienia. Jeśli potrzebujesz więcej oprogramowania, dodaj go za pomocą skryptu w czasie rozruchu lub osadź w obrazie niestandardowym. Zapewniają one zgodność z rozwiązaniami orkiestracji.
Znajdź alternatywne obrazy zgodnie z potrzebami. Jeśli obraz maszyny wirtualnej Nauka o danych nie spełnia Twoich potrzeb, użyj witryny Azure Marketplace lub innych metod wyszukiwania, aby znaleźć alternatywne obrazy. Na przykład w przypadku procesorów GPU może być konieczne użycie obrazów systemu Linux zawierających sterowniki InfiniBand, sterowniki NVIDIA, biblioteki komunikacyjne, biblioteki MPI i narzędzia do monitorowania.
Wybieranie rozmiaru maszyny wirtualnej
Wybranie odpowiedniego rozmiaru maszyny wirtualnej jest zgodne ze złożonością modelu AI, rozmiarem danych i ograniczeniami kosztów. Dopasowywanie sprzętu do trenowania lub wnioskowania wymaga zmaksymalizowania wydajności i zapobiega niepełnym wykorzystaniu lub przeciążeniu.
Zawęź opcje maszyny wirtualnej. Wybierz najnowsze jednostki SKU maszyny wirtualnej, aby uzyskać optymalne trenowanie i czas wnioskowania. Na potrzeby trenowania wybierz jednostki SKU, które obsługują połączenia RDMA i GPU w celu szybkiego transferu danych między procesorami GPU. W przypadku wnioskowania należy unikać jednostek SKU z funkcją InfiniBand, co jest niepotrzebne. Przykłady obejmują serię ND MI300X v5, serię ND H100 v5, serię NDm A100 v4 i serię ND A100 v4.
Sprawdź cennik maszyny wirtualnej. Strony cennika maszyn wirtualnych z systemem Linux i Windows można znaleźć w ogólnym omówieniu kosztów. Aby uzyskać szczegółowe oszacowanie, użyj kalkulatora cen platformy Azure.
Rozważ wystąpienia typu spot.Wystąpienia typu spot są ekonomiczne dla scenariuszy wnioskowania z minimalnym ryzykiem utraty danych. Wystąpienia typu spot oferują znaczne oszczędności dzięki wykorzystaniu nieużywanej pojemności centrum danych z rabatem. Jednak tę pojemność można odzyskać w dowolnym momencie, więc wystąpienia typu spot są najlepsze w przypadku obciążeń, które mogą obsługiwać przerwy. Regularnie dane punktu kontrolnego w celu zminimalizowania utraty podczas eksmitowania. Aby uzyskać informacje, zobacz Using Spot VMs in Azure CycleCloud (Korzystanie z maszyn wirtualnych typu spot w usłudze Azure CycleCloud).
Wybieranie rozwiązania orkiestracji obliczeniowej
Rozwiązania orkiestracji obliczeniowej ułatwiają zarządzanie zadaniami sztucznej inteligencji w klastrach maszyn wirtualnych. Nawet w przypadku prostych wdrożeń orkiestrator może pomóc zmniejszyć koszty i zapewnić powtarzalność środowiska. Orkiestratorzy pomagają zagwarantować, że używasz tylko zasobów obliczeniowych potrzebnych przez określony czas. Wybierz narzędzie orkiestracji na podstawie planowania, konteneryzacji i skalowania, aby zwiększyć operacje i skalowalność.
Użyj usługi Azure CycleCloud dla harmonogramów typu open source. Usługa Azure CycleCloud jest idealna dla harmonogramów typu open source, takich jak Slurm, Grid Engine lub Torque/PBS. Zapewnia elastyczne zarządzanie klastrami, konfigurowalne konfiguracje i zaawansowane możliwości planowania. Maszyny wirtualne w klastrze wymagają konfiguracji na potrzeby wykonywania obciążenia sztucznej inteligencji. Maszyny wirtualne dla usługi CycleCloud i Batch nie są trwałe. Orkiestrator tworzy i usuwa maszyny wirtualne w razie potrzeby, aby pomóc w oszczędzaniu kosztów. Aby uzyskać więcej informacji, zobacz Azure CycleCloud Workspace for Slums (Obszar roboczy usługi Azure CycleCloud dla Slumsów).
Użyj usługi Azure Batch do wbudowanego planowania. Usługa Azure Batch oferuje wbudowane funkcje planowania bez konieczności dodatkowej instalacji oprogramowania ani zarządzania nimi. Ma model cen użycia i nie ma opłat licencyjnych. Obsługuje również zadania konteneryzowane natywnie. Aby uzyskać najlepsze rozwiązania dotyczące wdrażania, zobacz Azure Batch Accelerator.
Skalowanie kontenerów przy użyciu usługi Azure Kubernetes Service (AKS). Usługa AKS to zarządzana usługa do wdrażania, skalowania i zarządzania kontenerami w klastrze. Nadaje się do uruchamiania obciążeń sztucznej inteligencji w kontenerach na dużą skalę. Aby uzyskać więcej informacji, zobacz Używanie usługi Azure Kubernetes Service do hostowania obciążeń opartych na procesorze GPU.
Ręczne organizowanie zadań dla prostszych zadań. Jeśli potrzeby orkiestracji są minimalne, zarządzaj zasobami sztucznej inteligencji ręcznie. Rozważ następujące kroki dla obciążeń o małej skali:
- Zdefiniuj przepływ pracy. Omówienie kompleksowego przepływu pracy, w tym zależności i sekwencji zadań. Zastanów się, jak obsługiwać błędy w dowolnym kroku.
- Rejestrowanie i monitorowanie zadań. Zaimplementuj jasne struktury rejestrowania i monitorowania dla zadań.
- Zweryfikuj wymagania wstępne. Upewnij się, że środowisko spełnia wszystkie wymagania dotyczące przepływu pracy, w tym niezbędne biblioteki i struktury.
- Użyj kontroli wersji. Śledzenie zmian i zarządzanie nimi przy użyciu kontroli wersji.
- Automatyzowanie zadań. Użyj skryptów, aby zautomatyzować wstępne przetwarzanie danych, szkolenie i ocenę.
Rozważ kontenery
Kontenery zapewniają spójne, powtarzalne środowisko, które jest skalowane wydajnie. Kontenery usprawniają przechodzenie między środowiskami, co sprawia, że są one niezbędne dla skalowalnych rozwiązań sztucznej inteligencji.
Zainstaluj sterowniki. Upewnij się, że niezbędne sterowniki są zainstalowane, aby włączyć funkcjonalność kontenera w różnych scenariuszach. W przypadku konfiguracji klastra często wymagane są narzędzia, takie jak Pyxis i Enroot.
Korzystanie z zestawu narzędzi NVIDIA Container Toolkit. Ten zestaw narzędzi umożliwia korzystanie z zasobów procesora GPU w kontenerach. Zainstaluj wszystkie wymagane sterowniki, takie jak sterowniki CUDA i GPU, i użyj preferowanego środowiska uruchomieniowego kontenera i aparatu na potrzeby wykonywania obciążeń sztucznej inteligencji.