Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
DatabricksBetaImpacto: Médio

Databricks AI Runtime SDK substitui o pacote serverless_gpu

O Databricks AI Runtime SDK substitui o pacote obsoleto serverless_gpu nas versões de ambiente GPU 6 e superiores, trazendo novas APIs para treino distribuído.

O que mudou

Para que serve

Imagine que você precisa treinar modelos de machine learning usando várias GPUs em um notebook sem precisar gerenciar clusters Spark. Com o Databricks AI Runtime SDK, você pode:

  • Usar o decorador @distributed para rodar treino distribuído em todas as GPUs do nó.
  • Integrar com PyTorch DDP, FSDP e DeepSpeed.
  • Rastrear métricas automaticamente no MLflow.

Como usar

Importe o decorador e aplique-o na sua função de treino:

from databricks.air import distributed

@distributed()
def train():
    import os
    import torch
    import torch.distributed as dist

    local_rank = int(os.environ["LOCAL_RANK"])
    torch.cuda.set_device(local_rank)
    device = torch.device(f"cuda:{local_rank}")
    dist.init_process_group("nccl")
    # ... seu código de treino aqui ...
    dist.destroy_process_group()

train.distributed()

O que acontece nesse código:

  1. A função é decorada para execução distribuída.
  2. O processo é vinculado à sua respectiva GPU utilizando a variável de ambiente LOCAL_RANK.
  3. O grupo de processos NCCL é inicializado para comunicação entre as GPUs.
  4. O método .distributed() é chamado para disparar a execução em paralelo.

Limitações e requisitos

  • O recurso está em Beta.
  • Disponível no ambiente GPU versão 6 e superior.
  • Suporta apenas um único nó por execução do decorador.
  • O tempo limite padrão de execução é de 3 horas.
Ver nota oficial do Databricks

Databricks AI Runtime SDK replaces serverless_gpu

Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.

Relacionadas