Zalecenia dotyczące sieci dla obciążeń sztucznej inteligencji w infrastrukturze platformy Azure (IaaS)
Ten artykuł zawiera zalecenia dotyczące sieci dla organizacji z obciążeniami sztucznej inteligencji w infrastrukturze platformy Azure (IaaS). Projektowanie dobrze zoptymalizowanej sieci może zwiększyć szybkość przetwarzania danych, zmniejszyć opóźnienie i zapewnić skalowanie infrastruktury sieciowej wraz z rosnącymi wymaganiami dotyczącymi sztucznej inteligencji.
Zapewnianie wystarczającej przepustowości
Wystarczająca przepustowość odnosi się do pojemności sieci do obsługi dużych ilości danych bez opóźnień lub przerw. Wysoka przepustowość zapewnia szybki, nieprzerwany transfer danych między systemami lokalnymi a platformą Azure, obsługując szybkie trenowanie modelu sztucznej inteligencji i zmniejszając przestoje w potoku. W przypadku organizacji transferujących duże zestawy danych ze środowiska lokalnego do chmury na potrzeby trenowania modelu sztucznej inteligencji niezbędne jest połączenie o wysokiej przepustowości. Użyj usługi Azure ExpressRoute, aby nawiązać dedykowane, bezpieczne i niezawodne szybkie połączenie między siecią lokalną a platformą Azure.
Minimalizuj opóźnienie
Minimalizacja opóźnienia polega na zmniejszeniu opóźnień w transferze danych między zasobami sieciowymi. Mniejsze opóźnienie zapewnia szybsze przetwarzanie danych, umożliwia uzyskiwanie szczegółowych informacji w czasie rzeczywistym i poprawia wydajność obciążeń wrażliwych na opóźnienia.
Optymalizowanie umieszczania zasobów. Aby zminimalizować opóźnienia obciążeń sztucznej inteligencji, takich jak wstępne przetwarzanie danych, trenowanie modelu i wnioskowanie, wdrażanie maszyn wirtualnych w tym samym regionie platformy Azure lub strefie dostępności. Kolokowanie zasobów zmniejsza odległość fizyczną, co zwiększa wydajność sieci.
Użyj grup umieszczania w pobliżu (PPG). W przypadku obciążeń wrażliwych na opóźnienia wymagające przetwarzania w czasie rzeczywistym lub szybkiej komunikacji między procesami skorzystaj z grup PPG, aby fizycznie kolokować zasoby w centrum danych platformy Azure. Sieciowe grupy zabezpieczeń zapewniają, że zasoby obliczeniowe, magazynowe i sieciowe pozostają blisko siebie, minimalizując opóźnienia w przypadku wymagających obciążeń. Rozwiązania orkiestracji i InfiniBand automatycznie obsługują zbliżenie węzłów.
Użyj wstępnie skonfigurowanych obrazów systemu operacyjnego Linux. Uprość wdrażanie klastra, wybierając obrazy systemu operacyjnego Linux z witryny Azure Marketplace wstępnie pakowane za pomocą sterowników InfiniBand, sterowników NVIDIA, bibliotek komunikacyjnych i narzędzi do monitorowania. Te obrazy są zoptymalizowane pod kątem wydajności i można je wdrożyć za pomocą usługi Azure CycleCloud w celu szybkiego i wydajnego tworzenia klastra.
Implementowanie sieci o wysokiej wydajności
Sieć o wysokiej wydajności wykorzystuje zaawansowane funkcje sieciowe do obsługi obliczeń sztucznej inteligencji na dużą skalę, szczególnie w przypadku zadań przyspieszanych przez procesor GPU. Sieci o wysokiej wydajności zapewniają szybką, wydajną wymianę danych między procesorami GPU, co optymalizuje trenowanie modelu i przyspiesza cykle opracowywania sztucznej inteligencji.
Korzystanie z infiniBand dla obciążeń procesora GPU. W przypadku obciążeń zależnych od przyspieszania procesora GPU i trenowania rozproszonego w wielu procesorach GPU użyj sieci InfiniBand platformy Azure. Funkcja zdalnego bezpośredniego dostępu do pamięci (RDMA) infiniBand w usłudze GPUDirect obsługuje bezpośrednią komunikację między procesorami GPU. Zwiększa szybkość transferu danych i wydajność trenowania modelu. Rozwiązania orkiestracji, takie jak Azure CycleCloud i Azure Batch, obsługują konfigurację sieci InfiniBand podczas korzystania z odpowiednich jednostek SKU maszyn wirtualnych.
Wybierz maszyny wirtualne zoptymalizowane pod kątem procesora GPU platformy Azure. Wybierz maszyny wirtualne korzystające z rozwiązania InfiniBand, takie jak maszyny wirtualne serii ND, które są przeznaczone do komunikacji między procesorami GPU o wysokiej przepustowości i małym opóźnieniu. Ta konfiguracja jest niezbędna do skalowalnego trenowania rozproszonego i wnioskowania, co umożliwia szybszą wymianę danych między procesorami GPU.
Optymalizacja pod kątem przetwarzania danych na dużą skalę
Optymalizacja pod kątem przetwarzania danych na dużą skalę obejmuje strategie zarządzania rozległymi transferami danych i dużymi obciążeniami obliczeniowymi. Korzystając z równoległości danych i modelu, można skalować obciążenia sztucznej inteligencji i zwiększać szybkość przetwarzania. Użyj maszyn wirtualnych zoptymalizowanych pod kątem procesora GPU platformy Azure do obsługi złożonych obciążeń sztucznej inteligencji intensywnie korzystających z danych.
Stosowanie technik równoległości danych lub modelu. Aby zarządzać rozbudowanymi transferami danych w wielu procesorach GPU, zaimplementuj równoległość danych lub równoległość modelu w zależności od potrzeb związanych z obciążeniem sztucznej inteligencji. Upewnij się, że jest używana pamięć o wysokiej przepustowości (HBM), która jest idealna dla obciążeń o wysokiej wydajności ze względu na wysoką przepustowość, niskie zużycie energii i kompaktowy projekt. HbM obsługuje szybkie przetwarzanie danych, niezbędne dla obciążeń sztucznej inteligencji, które wymagają przetwarzania dużych zestawów danych.
Korzystanie z zaawansowanych funkcji sieciowych procesora GPU. W przypadku wymagających scenariuszy sztucznej inteligencji wybierz maszyny wirtualne platformy Azure, takie jak NDH100v5 i NDMI300Xv5. Platforma Azure konfiguruje te maszyny wirtualne z dedykowanymi połączeniami NVIDIA Quantum-2 CX7 InfiniBand o pojemności 400 Gb/s w zestawach skalowania maszyn wirtualnych. Te połączenia obsługują funkcję RDMA z bezpośrednim procesorem GPU, umożliwiając bezpośrednie transfery danych z procesorem GPU do procesora GPU, które zmniejszają opóźnienia i zwiększają ogólną wydajność systemu.