Elosztott betanítás
Az Azure Databricks azt javasolja, hogy ha lehetséges, egyetlen gépen tanítsa be a neurális hálózatokat. Ha a betanításhoz és a következtetésekhez elosztott kódot használ, az összetettebb, mint az egygépes kód, és lassabb is a kommunikációhoz kapcsolódó többletterhelés miatt. Akkor azonban érdemes lehet az elosztott betanítást és következtetést használni, ha a modell vagy az adatok túl nagyok ahhoz, hogy egyetlen gép memóriájában elférjenek. Ezekhez a számítási feladatokhoz a Databricks Runtime ML tartalmazza a TorchDistributor, a Horovod és a spark-tensorflow-distributor csomagokat.
Az Azure Databricks elosztott betanítást is kínál a Spark ML-modellekhez a pyspark.ml.connect
modullal, lásd : Spark ML-modellek betanítása a Databricks Connecten pyspark.ml.connect használatával.
Feljegyzés
A Databricks nem javasolja többcsomópontos elosztott betanítás futtatását NC-sorozatú virtuális gépek használatával az alacsony csomópontközi hálózati teljesítmény miatt. Ehelyett használjon egy több GPU-csomópontot, vagy használjon más GPU virtuálisgép-méretet, például a NCasT4_v3 sorozatot, amely támogatja a gyorsított hálózatkezelést.
DeepSpeed forgalmazó
A DeepSpeed forgalmazó a TorchDistributorra épül, és ajánlott megoldás olyan ügyfelek számára, akik magasabb számítási teljesítményt igénylő modelleket használnak, de memóriakorlátok korlátozzák őket. A DeepSpeed a Microsoft által kifejlesztett nyílt forráskódú kódtár, amely optimalizált memóriahasználatot, csökkentett kommunikációs terhelést és fejlett folyamat-párhuzamosságot kínál. További információ az elosztott képzésről a DeepSpeed forgalmazójával
TorchDistributor
A TorchDistributor egy nyílt forráskódú modul a PySparkban, amely segít a felhasználóknak elosztott betanítást végezni a PyTorch-tal a Spark-fürtöiken, így Lehetővé teszi a PyTorch-betanítási feladatok Spark-feladatokként való elindítását. A motorháztető alatt inicializálja a környezetet és a kommunikációs csatornákat a feldolgozók között, és a CLI-paranccsal torch.distributed.run
elosztott betanítást futtat a feldolgozó csomópontokon. További információ az elosztott betanításról a TorchDistributor használatával.
spark-tensorflow-distributor
A spark-tensorflow-distributor a TensorFlow egy nyílt forráskódú natív csomagja a TensorFlow-val végzett elosztott betanításhoz a Spark-fürtökön. További információ a TensorFlow 2 elosztott betanításáról.
Rája
A Ray egy nyílt forráskódú keretrendszer, amely az ML-munkafolyamatok és AI-alkalmazások skálázására szolgáló párhuzamos számítási feldolgozásra specializálódott. Lásd : Mi az a Ray az Azure Databricksben?).
Horovod (elavult)
Fontos
A Horovod és a HorovodRunner elavult, és nem lesz előre telepítve a Databricks Runtime 16.0 ML-ben és újabb verziókban. Elosztott mélytanulás esetén a Databricks azt javasolja, hogy a TorchDistributort használja elosztott betanításhoz a PyTorch-tal, vagy az API-t a tf.distribute.Strategy
TensorFlow-tal való elosztott betanításhoz.
A Horovod egy elosztott betanítási keretrendszer a Tensorflow, a Keras és a PyTorch számára. Az Azure Databricks a HorovodRunner és a horovod.spark
csomag használatával támogatja az elosztott mélytanulást. A Kerast vagy PyTorchot használó Spark ML-folyamatalkalmazások esetében a horovod.spark
becslő API-ját használhatja. Lásd : Horovod.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: