Migrar cargas de trabalho clássicas de GPU para um ambiente sem servidor

Se você estiver movendo uma carga de trabalho de aprendizado profundo existente de um cluster clássico do Databricks (com o Databricks Runtime ML) para sem servidor (com o AI Runtime), siga estas etapas:

  1. Substitua o código dependente do cluster. Remova todas as 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. Substitua caminhos DBFS diretos por caminhos de volumes do Catálogo do Unity (/Volumes/...). Substitua as operações locais do DataFrame do Spark pelo Spark Connect. Para fazer streaming de dados de arquivos a partir de volumes, use UCVolumeDataset de databricks.air.data. Consulte Carregar dados no AI Runtime.
  3. Configure seu ambiente. Algumas bibliotecas pré-instaladas do Databricks Runtime ML não estão disponíveis no AI Runtime. Configure um ambiente de GPU serverless e instale os pacotes que sua carga de trabalho precisa com %pip install. Veja Configuração do ambiente.
  4. Atualizar caminhos de ponto de verificação. Mova pontos de verificação do DBFS ou armazenamento local para volumes do Unity Catalog (/Volumes/<catalog>/<schema>/<volume>/...). Para ponto de verificação distribuído, use UCVolumeWriter e UCVolumeReader de databricks.air.data, que armazenam temporariamente a E/S por meio de NVMe local. Veja Checkpoint com Checkpoint Distribuído (DCP).
  5. Revise sua configuração de MLflow. No AI Runtime, a API .distributed() cria execuções do MLflow automaticamente. Para personalizar o experimento, defina-o com um caminho absoluto. Para retomar execuções interrompidas, defina um nome para a execução. Veja o que o MLflow oferece para deep learning.
  6. Teste interativamente primeiro. Valide sua carga de trabalho em um notebook interativo antes de agendá-la como um trabalho.