Dela via


Distribuerad träning

Azure Databricks rekommenderar att du tränar neurala nätverk på en enskild dator när det är möjligt. Distribuerad kod för träning och slutsatsdragning är mer komplicerat än endatorskod och långsammare på grund av tillhörande kommunikationsinformation. Men du bör överväga distribuerad träning och slutsatsdragning om din modell eller dina data är för stora för att få plats i minnet på en enda dator. För dessa arbetsbelastningar innehåller Databricks Runtime ML TorchDistributor, DeepSpeed-distributören och Ray-paketen.

Azure Databricks erbjuder även distribuerad träning för Spark ML-modeller med modulen pyspark.ml.connect , se Träna Spark ML-modeller på Databricks Connect med pyspark.ml.connect.

Kommentar

Databricks rekommenderar inte att du kör distribuerad träning med flera noder med hjälp av virtuella datorer i NC-serien på grund av låga nätverksprestanda mellan noder. Använd i stället en nod med flera GPU:er eller använd en annan GPU VM-storlek, till exempel NCasT4_v3-serien, som stöder accelererat nätverk.

DeepSpeed-distributör

DeepSpeed-distributören bygger på TorchDistributor och är en rekommenderad lösning för kunder med modeller som kräver högre beräkningskraft, men som begränsas av minnesbegränsningar. DeepSpeed är ett bibliotek med öppen källkod som utvecklats av Microsoft och erbjuder optimerad minnesanvändning, minskad kommunikationsbelastning och avancerad pipelineparallellitet. Läs mer om distribuerad utbildning med DeepSpeed-distributör

TorchDistributor

TorchDistributor är en modul med öppen källkod i PySpark som hjälper användare att utföra distribuerad utbildning med PyTorch i sina Spark-kluster, så att du kan starta PyTorch-träningsjobb som Spark-jobb. Under huven initierar den miljön och kommunikationskanalerna mellan arbetarna och använder CLI-kommandot torch.distributed.run för att köra distribuerad utbildning över arbetsnoderna. Läs mer om distribuerad träning med TorchDistributor.

Stråle

Ray är ett ramverk med öppen källkod som är specialiserat på parallell beräkningsbearbetning för skalning av ML-arbetsflöden och AI-program. Se Vad är Ray på Azure Databricks?.