Dlaczego warto używać AI Runtime zamiast tradycyjnych zasobów obliczeniowych

AI Runtime to serwerowa baza obliczeń GPU do trenowania, dopracowywania i uruchamiania wnioskowania wsadowego na niestandardowych modelach głębokiego uczenia. Jeśli uruchamiasz te obciążenia na klasycznych zasobach obliczeniowych z Databricks Runtime ML, Databricks zaleca przeniesienie ich do AI Runtime w celu obniżenia całkowitego kosztu posiadania, zapewnienia bardziej elastycznego środowiska deweloperskiego i skalowania wielowęzłowego. Poniższe sekcje porównują oba te rozwiązania dla inżynierów ML i zespołów platformowych oraz opisują, jak Genie Code może pomóc w migracji.

Porównaj Runtime AI z klasycznymi zasobami obliczeniowymi

Poniższa tabela porównuje AI Runtime z Databricks Runtime ML w klasycznych zasobach obliczeniowych:

Capability Środowisko uruchomieniowe sztucznej inteligencji Klasyczne obliczenia z Databricks Runtime ML
Całkowity koszt posiadania (TCO) Niższe TCO dzięki zarządzanej bezserwerowej infrastrukturze GPU, wysokiej przepustowości, zoptymalizowanemu ładowaniu danych oraz dostępowi do Spark za pośrednictwem Spark Connect. Płacisz tylko za moc obliczeniową wykorzystywaną przez Twoje obciążenia robocze. Usługa Azure Databricks zarządza za ciebie klastrami, węzłami sterownika i stanem procesorów GPU. Wyższy TCO wynikający z narzutu związanego z zarządzaniem klastrem, powolnego uruchamiania oraz nieoptymalnego ładowania danych i tworzenia punktów kontrolnych. Zarządzasz konfiguracją klastrów i stanem GPU, co zwiększa koszty zakupu i utrzymania klastrów GPU.
Środowisko deweloperskie Twórz i wdrażaj za pomocą interfejsu wiersza poleceń Databricks, środowisk IDE i notebooków. Natywna obsługa Ray. Wybierz minimalne środowisko Standard, aby mieć pełną kontrolę nad zależnościami, środowisko Databricks AI z popularnymi pakietami AI i ML lub niestandardowy obraz Docker. Rozwijaj w notebookach lub łącz się z IDE przez tunel SSH. Brak dedykowanego CLI dla obciążeń treningowych GPU. Ray działa na platformie Spark. Duży zestaw preinstalowanych bibliotek powiązanych z wersją runtime, w tym pakiety niezwiązane z AI i ML.
Skalowalność i wydajność Trening wielowęzłowy i wnioskowanie wsadowe. Zoptymalizowane ładowanie danych i zapisywanie punktów kontrolnych. Wysoka niezawodność GPU podczas długich treningów. Nie jest zoptymalizowany do trenowania wielowęzłowego, bo sam konfigurujesz węzły i sieć. Optymalizujesz ładowanie danych i checkpointów oraz ręcznie sprawdzasz stan GPU.

Całkowity koszt posiadania

AI Runtime zmniejsza całkowity koszt posiadania dzięki zarządzanym, wysokowydajnym bezserwerowym procesorom graficznym GPU:

  • Szybszy start: Infrastruktura GPU serverless jest dostępna na żądanie, więc nie musisz czekać, aż klaster GPU się uruchomi. Klasyczne klastry GPU mogą uruchamiać się przez kilka minut lub dłużej, w zależności od wielkości klastra i dostępności GPU.
  • Ceny w modelu pay-as-you-go: Płacisz tylko za moc obliczeniową bezserwerowych procesorów GPU, z których korzystają Twoje obciążenia, bez konieczności zarządzania bezczynnymi klastrami ani płacenia za nie.
  • Wyższe wykorzystanie GPU: Elastyczne opcje obliczeniowe, szybkie ładowanie danych, efektywne punkty kontrolne oraz trening wielowęzłowy zmniejszają czas bezczynności GPU.
  • Zmniejszenie obciążenia administracyjnego: AI Runtime obsługuje wdrażanie zasobów obliczeniowych, sieci klastrów, zarządzanie kondycją GPU oraz aktualizacje sterowników CUDA. Dzięki Classic Compute Twój zespół zajmuje się administracją węzłów, konfiguracją klastra oraz bieżącym utrzymaniem infrastruktury.

Środowisko deweloperskie

AI Runtime oferuje elastyczne doświadczenie deweloperskie dla obciążeń AI i deep learningu:

Skalowalność i wydajność

AI Runtime pomaga efektywnie skalować obciążenia deep learning:

  • Optymalizacja ładowania i checkpointowania danych: Ładowanie danych o wysokiej przepustowości oraz asynchroniczne rozproszone checkpointy przyspieszają potoki treningowe i minimalizują czas bezczynności GPU. Klasyczne obliczenia nie mają natywnych ładowaczy danych o wysokiej przepustowości ani rozproszonego checkpointingu. Zobacz Popraw wydajność treningu i odporność w AI Runtime.
  • Wbudowana odporność GPU: Ciągłe automatyczne kontrole stanu zdrowia pomagają wykrywać i izolować uszkodzone węzły GPU, co ogranicza zakłócenia długich cykli treningowych. W klasycznym compute samodzielnie dbasz o sprawność węzła GPU, a izolowanie uszkodzonego węzła wymaga przerwania aktywnych obciążeń. Zobacz Jak dbamy o niezawodność układów GPU w Databricks AI na blogu inżynierskim Databricks.
  • Trenowanie wielowęzłowe: Skalowanie od pojedynczego GPU do wielowęzłowego trenowania rozproszonego z szybką siecią i automatyczną konfiguracją środowiska. W przypadku akceleratorów obsługujących trening wielowęzłowy zobacz opcje sprzętowe.
  • Niestandardowe wnioskowanie wsadowe: Uruchamianie dużego niestandardowego wnioskowania wsadowego na rozproszonych GPU bez zarządzania klastrami GPU.

Migruj z klasycznego środowiska compute za pomocą Genie Code

Genie Code może pomóc zautomatyzować refaktoryzację kodu i konfigurację środowiska w notatnikach podłączonych do AI Runtime, gdy przenosisz obciążenie z klasycznego środowiska obliczeniowego. Pełną listę kroków migracji można znaleźć w artykule Migracja klasycznych obciążeń GPU do serverless.

Co Genie Code automatyzuje

Genie Code może pomóc w następujących zadaniach migracji:

  • Refaktoryzacja: Konwertuje notebooki Databricks Runtime ML, takie jak notebooki korzystające z TorchDistributor, na notebooki AI Runtime korzystające z dekoratora @distributed z databricks.air.
  • Rozwiązywanie zależności: Ocenia importy notatników, identyfikuje brakujące lub niekompatybilne pakiety oraz konfiguruje bezserwerowe środowisko GPU.
  • Diagnoza błędów wielu rang: Analizuje logi wyjściowe ze wszystkich węzłów, aby wyodrębnić przyczyny źródłowe, takie jak błędy związane z wyczerpaniem pamięci GPU (OOM) lub zawieszenia komunikacji.

Przykładowe prompty migracji Code Genie

Poniżej przedstawiono przykładowe prompty, które możesz dać Genie Code:

  • Konwersja kodu: "Przenieś ten notes z TorchDistributor do dekoratora databricks.air @distributed."
  • Konfiguracja środowiska: "Sprawdzenie importowanych pakietów, zalecenie środowiska Databricks AI lub Standard oraz wygenerowanie wymaganych poleceń instalacji %pip."
  • Debugowanie: "Przeanalizuj logi trenowania rozproszonego we wszystkich rankach, aby ustalić, dlaczego zadanie nie powiodło się."

Dodatkowe zasoby