treinamento distribuído
Quando possível, o site Databricks recomenda que o senhor ensine 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.
O Databricks também oferece treinamento distribuído para modelos Spark ML com o módulo pyspark.ml.connect
. Consulte ensinar modelos Spark ML no Databricks Connect com PySpark.ml.connect.
Distribuidor DeepSpeed
O distribuidor DeepSpeed é construído sobre o TorchDistributor e é uma solução recomendada para clientes com modelos que exigem maior poder compute , mas são limitados por restrições de memória. DeepSpeed é uma biblioteca de código aberto desenvolvida pela Microsoft e oferece uso otimizado de memória, sobrecarga de comunicação reduzida e paralelismo de pipeline avançado. Saiba mais sobre o treinamento distribuído com o distribuidor DeepSpeed
Distribuidor de tochas
TorchDistributor é um módulo de código aberto no PySpark que ajuda os usuários a fazer treinamento distribuído com PyTorch em seus clusters Spark, permitindo que você inicie Job de treinamento PyTorch como Spark Job. Sob o capô, ele inicializa o ambiente e o canal de comunicação entre o worker e utiliza o comando CLI torch.distributed.run
para executar o treinamento distribuído entre os nós worker . Saiba mais sobre treinamento distribuído com TorchDistributor.
Ray
Ray é uma estrutura de código aberto especializada em processamento paralelo compute para dimensionamento de ML fluxo de trabalho e aplicativos de IA. Consulte O que é Ray na Databricks?