Megosztás a következőn keresztül:


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.