Migra i carichi di lavoro classici delle GPU a serverless

Se stai spostando un carico di lavoro di deep learning esistente da un cluster classico Databricks (con Databricks Runtime ML) a serverless (con AI Runtime), segui questi passaggi. Per capire perché Databricks raccomanda AI Runtime per questi carichi di lavoro, vedi Perché usare AI Runtime invece del compute classico.

  1. Sostituire il codice che dipende dal cluster. Rimuovere qualsiasi riferimento all'addestramento distribuito basato su Spark (ad esempio, TorchDistributor) e sostituirli con il @distributed decorator dall'SDK di Databricks AI Runtime (databricks.air).
  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.
  6. Eseguire prima il test in modo interattivo. Validare il carico di lavoro in un notebook interattivo prima di pianificarlo come attività.