Delen via


Gedistribueerde training

Indien mogelijk wordt door Azure Databricks aanbevolen neurale netwerken op één computer te trainen; gedistribueerde code voor training en deductie is complexer dan code op één machine en langzamer vanwege communicatie-overhead. Overweeg echter gedistribueerde training en deductie als uw model of gegevens te groot zijn voor het geheugen op één computer. Voor deze workloads bevat Databricks Runtime ML de TorchDistributor-, DeepSpeed-distributeur en Ray-pakketten.

Azure Databricks biedt ook gedistribueerde training voor Spark ML-modellen met de pyspark.ml.connect module. Zie Spark ML-modellen trainen in Databricks Connect met pyspark.ml.connect.

Notitie

Databricks raadt niet aan om gedistribueerde training met meerdere knooppunten uit te voeren met VM's uit de NC-serie vanwege lage netwerkprestaties tussen knooppunten. Gebruik in plaats daarvan één knooppunt met meerdere GPU's of gebruik een andere GPU-VM-grootte, zoals de NCasT4_v3-serie, die versneld netwerken ondersteunt.

DeepSpeed-distributeur

De DeepSpeed-distributeur is gebouwd op TorchDistributor en is een aanbevolen oplossing voor klanten met modellen die een hogere rekenkracht vereisen, maar worden beperkt door geheugenbeperkingen. DeepSpeed is een opensource-bibliotheek die is ontwikkeld door Microsoft en biedt geoptimaliseerd geheugengebruik, verminderde communicatieoverhead en geavanceerde pijplijnparallelisme. Meer informatie over gedistribueerde training met DeepSpeed-distributeur

TorchDistributor

TorchDistributor is een opensource-module in PySpark waarmee gebruikers gedistribueerde training kunnen uitvoeren met PyTorch in hun Spark-clusters, zodat u hiermee PyTorch-trainingstaken kunt starten als Spark-taken. Onder de schermen wordt de omgeving en de communicatiekanalen tussen de werkrollen geïnitialiseerd en wordt de CLI-opdracht torch.distributed.run gebruikt om gedistribueerde training uit te voeren op de werkknooppunten. Meer informatie over gedistribueerde training met TorchDistributor.

Straal

Ray is een opensource-framework dat gespecialiseerd is in parallelle rekenverwerking voor het schalen van ML-werkstromen en AI-toepassingen. Bekijk wat is Ray in Azure Databricks?