Witaj na blogu Karen Tonoyan

Dlaczego jedna stacja robocza AI często wygrywa z klastrem dwóch komputerów

W świecie lokalnej sztucznej inteligencji często pojawia się pytanie:

Czy lepiej zbudować jedną bardzo mocną stację roboczą, czy dwa tańsze komputery połączone siecią?

Blog

Na pierwszy rzut oka dwa komputery wydają się kuszące. Więcej procesorów, więcej pamięci RAM, możliwość rozłożenia obciążenia. W praktyce jednak architektura rozproszona niesie ze sobą koszty, których wielu użytkowników nie bierze pod uwagę.

Problem nie leży w mocy obliczeniowej

Największym ograniczeniem nie jest liczba rdzeni ani liczba kart graficznych.

Problemem jest komunikacja.

W pojedynczej stacji roboczej karty graficzne wymieniają dane przez magistralę PCIe, której przepustowość liczona jest w dziesiątkach gigabajtów na sekundę.

W przypadku dwóch oddzielnych komputerów dane muszą przejść przez sieć.

Nawet nowoczesne 10 GbE jest wielokrotnie wolniejsze od lokalnej komunikacji PCIe.

Dla wielu zastosowań AI oznacza to dodatkowy narzut związany z synchronizacją modeli, przesyłaniem parametrów i koordynacją procesów.

AI nie lubi czekać

Podczas treningu modeli oraz bardziej zaawansowanych obliczeń czas komunikacji zaczyna mieć znaczenie.

Jeżeli dwa węzły muszą stale wymieniać dane, część zasobów nie wykonuje obliczeń, lecz czeka na zakończenie transmisji.

To właśnie dlatego wiele profesjonalnych środowisk AI wykorzystuje pojedyncze serwery wyposażone w wiele kart graficznych zamiast dużej liczby słabiej połączonych maszyn.

Jedna maszyna jest prostsza

Drugim często pomijanym aspektem jest administracja.

Pojedyncza stacja robocza oznacza:

  • jeden system operacyjny,
  • jeden zestaw sterowników,
  • jedno środowisko CUDA,
  • jedną konfigurację bezpieczeństwa,
  • jeden punkt diagnostyczny.

W środowisku wielowęzłowym pojawia się konieczność utrzymywania zgodności pomiędzy maszynami, synchronizacji bibliotek i rozwiązywania problemów sieciowych.

Każda dodatkowa warstwa zwiększa złożoność całego systemu.

Obudowa ma znaczenie

Przy konfiguracjach wielokartowych równie ważna staje się sama konstrukcja obudowy.

Dla standardowych komputerów gamingowych popularne konstrukcje, takie jak ASUS TUF GT502 Horizon, sprawdzają się bardzo dobrze.

Jednak przy trzech kartach rozszerzeń, dużej liczbie dysków oraz wysokim poborze mocy zaczynają pojawiać się ograniczenia przestrzenne.

W takich zastosowaniach przewagę zyskują konstrukcje projektowane pod stacje robocze i serwery, oferujące większą liczbę slotów PCIe, lepszy przepływ powietrza i większą elastyczność rozbudowy.

Czy Threadripper ma sens?

Odpowiedź brzmi: to zależy.

Jeżeli budujesz system z jedną kartą graficzną, platforma konsumencka często pozostaje najbardziej opłacalnym rozwiązaniem.

Sytuacja zmienia się przy dwóch, trzech lub większej liczbie akceleratorów.

Wtedy zaczynają liczyć się:

  • liczba linii PCIe,
  • rozstaw slotów,
  • ilość pamięci RAM,
  • możliwości zasilania,
  • długoterminowa rozbudowa.

To właśnie w takich scenariuszach platformy HEDT i procesory klasy Threadripper pokazują swoją przewagę.

Wnioski

Przez lata rynek przyzwyczaił nas do myślenia, że więcej komputerów oznacza większą wydajność.

W przypadku nowoczesnych systemów AI nie zawsze jest to prawda.

Bardzo często jedna dobrze zaprojektowana stacja robocza z odpowiednim chłodzeniem, mocnym zasilaniem i kilkoma kartami graficznymi zapewnia wyższą wydajność, prostszą administrację oraz lepszy zwrot z inwestycji niż klaster złożony z wielu słabszych maszyn.

Zanim rozpoczniesz budowę własnego laboratorium AI, warto spojrzeć nie tylko na liczbę rdzeni i kart graficznych, ale również na architekturę całego systemu.

To właśnie architektura najczęściej decyduje o tym, czy sprzęt pracuje z pełną wydajnością, czy marnuje czas na komunikację.

— Karen Tonoyan
ALFA Foundation
AI • Security • Systems Research

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *