Migra i carichi di lavoro classici delle GPU a serverless

Se si sposta un carico di lavoro di Deep Learning esistente da un cluster Databricks classico (con Databricks Runtime ML) a serverless (con runtime di intelligenza artificiale), seguire questa procedura:

  1. Sostituire il codice che dipende dal cluster. Rimuovere tutti i riferimenti al training distribuito basato su Spark (ad esempio, TorchDistributor) e sostituirli con il decoratore @distributed di serverless_gpu.
  2. Aggiornare il caricamento dei dati. Sostituire i percorsi DBFS diretti con i percorsi dei volumi del catalogo Unity (/Volumes/...). Sostituire le operazioni dei dataframe Spark locali con Spark Connect. Per lo streaming di dati basati su file da volumi, usare UCVolumeDataset da databricks.air.data. Consulta Caricamento dei dati su AI Runtime.
  3. Configura il tuo ambiente. Alcune librerie preinstallate di Databricks Runtime ML non sono disponibili su AI Runtime. Configura un ambiente serverless con GPU e installa i pacchetti di cui il tuo carico di lavoro ha bisogno con %pip install. Vedi Configurare l'ambiente.
  4. Aggiorna i percorsi di checkpoint. Spostare checkpoint da DBFS o archiviazione locale ai volumi del Catalogo Unity (/Volumes/<catalog>/<schema>/<volume>/...). Per il checkpoint distribuito, utilizzare UCVolumeWriter e UCVolumeReader da databricks.air.data, che eseguono l'I/O tramite NVMe locale. Vedi Checkpoint con Checkpoint Distribuito (DCP).
  5. Rivedi la configurazione del tuo MLflow. In AI Runtime, l'API .distributed() crea automaticamente esecuzioni MLflow. Per personalizzare l'esperimento, impostalo con un percorso assoluto. Per riprendere le corse interrotte, imposta un nome della corsa. Scopri cosa offre MLflow per il deep learning.
  6. Eseguire prima il test in modo interattivo. Validare il carico di lavoro in un notebook interattivo prima di pianificarlo come attività.