Pular para o conteúdo principal

Treinamento distribuído

Quando possível, o site Databricks recomenda que o senhor treine a rede neural em uma única máquina; o código distribuído para treinamento e inferência é mais complexo do que o código de uma única máquina e mais lento devido à sobrecarga de comunicação. No entanto, o senhor deve considerar o treinamento e a inferência distribuídos se o modelo ou os dados forem muito grandes para caber na memória de uma única máquina. Para essas cargas de trabalho, Databricks Runtime ML inclui o TorchDistributor, o distribuidor DeepSpeed e o pacote Ray.

A Databricks também oferece treinamento distribuído para modelos Spark ML com o módulo pyspark.ml.connect, consulte Treinar modelos Spark ML no Databricks Connect com pyspark.ml.connect.

Distribuidor DeepSpeed

O distribuidor DeepSpeed foi desenvolvido com base no TorchDistributor e é uma solução recomendada para clientes com modelos que exigem maior potência compute, mas são limitados por restrições de memória. O DeepSpeed é uma biblioteca de código aberto desenvolvida pela Microsoft e oferece uso otimizado da memória, redução da sobrecarga de comunicação e paralelismo avançado de pipeline. Saiba mais sobre o treinamento distribuído com o distribuidor DeepSpeed

TorchDistributor

TorchDistributor é um módulo de código aberto em PySpark que ajuda os usuários a fazer treinamento distribuído com PyTorch em seu clustering Spark, permitindo que o senhor inicie o PyTorch treinamento Job como Spark Job. Sob o capô, ele inicializa o ambiente e o canal de comunicação entre o trabalhador e utiliza o comando CLI torch.distributed.run para executar o treinamento distribuído nos nós worker. Saiba mais sobre o treinamento distribuído com o TorchDistributor.

Ray

Ray é uma estrutura de código aberto especializada em processamento paralelo compute para escalonamento ML fluxo de trabalho e aplicativos AI. Consulte O que é Ray no Databricks?