Migrar cargas de trabalho clássicas de GPU para uma arquitetura serverless

Se estiver a transferir uma carga de trabalho de deep learning existente de um cluster clássico Databricks (com Databricks Runtime ML) para serverless (com AI Runtime), siga estes passos:

  1. Substituir o código dependente do cluster. Remova quaisquer referências ao treinamento distribuído baseado em Spark (por exemplo, TorchDistributor) e substitua-as pelo decorador @distributed de serverless_gpu.
  2. Atualizar o carregamento de dados. Substituir caminhos DBFS diretos por caminhos de volumes do Catálogo Unity (/Volumes/...). Substituir as operações locais do Spark DataFrame pelo Spark Connect. Para transmitir em fluxo dados de ficheiros a partir de volumes, utilize UCVolumeDataset a partir de databricks.air.data. Consulte os dados de carregamento do tempo de execução de IA.
  3. Configure seu ambiente. Algumas bibliotecas pré-instaladas do Databricks Runtime ML não estão disponíveis no AI Runtime. Configura um ambiente de GPU serverless e instala os pacotes que a tua carga de trabalho precisa com %pip install. Veja Configurar o ambiente.
  4. Atualizar os caminhos dos pontos de controlo. Mover checkpoints do DBFS ou do armazenamento local para volumes do Unity Catalog (/Volumes/<catalog>/<schema>/<volume>/...). Para checkpointing distribuído, use UCVolumeWriter e UCVolumeReader de databricks.air.data, que encaminham a E/S através do NVMe local. Veja Checkpoint com Checkpoint Distribuído (DCP).
  5. Revê a configuração do teu MLflow. No AI Runtime, a .distributed() API cria o MLflow e corre automaticamente. Para personalizar o experimento, define-o com um caminho absoluto. Para retomar as corridas interrompidas, defina um nome da corrida. Veja o que o MLflow oferece.
  6. Teste de forma interativa primeiro. Valide a sua carga de trabalho num caderno interativo antes de a agendar como um trabalho.