Migruj klasyczne obciążenia GPU do środowiska bezserwerowego

Jeśli przenosisz istniejące obciążenie deep learning z klasycznego klastra Databricks (z Databricks Runtime ML) do serwerless (z AI Runtime), postępuj zgodnie z tymi krokami. Aby dowiedzieć się, dlaczego Databricks zaleca AI Runtime dla tych obciążeń, zobacz Dlaczego używać AI Runtime zamiast klasycznych zasobów obliczeniowych.

  1. Zastąp kod zależny od klastra. Usuń wszelkie odniesienia do rozproszonego treningu opartego na Spark (na przykład TorchDistributor) i zastąp je dekoratorem @distributed z Databricks AI Runtime SDK (databricks.air).
  2. Zaktualizuj proces ładowania danych. Zastąp bezpośrednie ścieżki DBFS ścieżkami woluminów Unity Catalog (/Volumes/...). Zastąp lokalne operacje ramki danych Spark ramką danych Spark Connect. Do strumieniowego przesyłania danych z plików z woluminów użyj elementu UCVolumeDataset z databricks.air.data. Zobacz Ładowanie danych w środowisku uruchomieniowym sztucznej inteligencji.
  3. Skonfiguruj środowisko. Niektóre preinstalowane biblioteki Databricks Runtime ML nie są dostępne w AI Runtime. Skonfiguruj środowisko GPU bez serwera i zainstaluj pakiety potrzebne Twoim obciążeniom za pomocą %pip install. Zobacz Konfigurowanie środowiska.
  4. Aktualizowanie ścieżek punktów kontrolnych. Przenoszenie punktów kontrolnych z DBFS lub magazynu lokalnego do woluminów katalogu Unity (/Volumes/<catalog>/<schema>/<volume>/...). Do rozproszonego zapisywania punktów kontrolnych użyj UCVolumeWriter i UCVolumeReader z databricks.air.data, które buforują operacje wejścia/wyjścia przez lokalny dysk NVMe. Zobacz Checkpoint z Distributed Checkpoint (DCP).
  5. Przejrzyj konfigurację MLflow. W środowisku AI Runtime interfejs API .distributed() automatycznie tworzy przebiegi MLflow. Aby dostosować eksperyment, ustaw go z absolutną ścieżką. Aby wznowić przerwane uruchomienia, ustaw nazwę uruchomienia. Zobacz, co oferuje MLflow.
  6. Najpierw przetestuj interaktywnie. Zweryfikuj obciążenie w notesie interaktywnym przed zaplanowaniem go jako zadania.