Bagikan melalui


Pelatihan yang didistribusikan

Jika memungkinkan, Azure Databricks merekomendasikan agar Anda melatih jaringan saraf pada satu mesin; kode terdistribusi untuk pelatihan dan inferensi lebih kompleks daripada kode mesin tunggal dan lebih lambat karena overhead komunikasi. Namun, Anda harus mempertimbangkan pelatihan dan inferensi terdistribusi jika model atau data Anda terlalu besar untuk masuk ke dalam memori pada satu mesin. Untuk beban kerja ini, Databricks Runtime ML mencakup paket TorchDistributor, Horovod, dan spark-tensorflow-distributor.

Azure Databricks juga menawarkan pelatihan terdistribusi untuk model Spark ML dengan pyspark.ml.connect modul, lihat Melatih model Spark ML di Databricks Connect dengan pyspark.ml.connect.

Catatan

Databricks tidak merekomendasikan menjalankan pelatihan terdistribusi multi-node menggunakan VM nc-series karena kinerja jaringan antar-node yang rendah. Sebagai gantinya, gunakan satu node multi-GPU, atau gunakan ukuran VM GPU yang berbeda seperti seri NCasT4_v3, yang mendukung jaringan yang dipercepat.

Distributor DeepSpeed

Distributor DeepSpeed dibangun di atas TorchDistributor dan merupakan solusi yang direkomendasikan untuk pelanggan dengan model yang membutuhkan daya komputasi yang lebih tinggi, tetapi dibatasi oleh batasan memori. DeepSpeed adalah pustaka sumber terbuka yang dikembangkan oleh Microsoft dan menawarkan penggunaan memori yang dioptimalkan, mengurangi overhead komunikasi, dan paralelisme alur tingkat lanjut. Pelajari selengkapnya tentang Pelatihan terdistribusi dengan distributor DeepSpeed

TorchDistributor

TorchDistributor adalah modul sumber terbuka di PySpark yang membantu pengguna melakukan pelatihan terdistribusi dengan PyTorch pada kluster Spark mereka, sehingga memungkinkan Anda meluncurkan pekerjaan pelatihan PyTorch sebagai pekerjaan Spark. Di bawah tenda, ini menginisialisasi lingkungan dan saluran komunikasi antara pekerja dan menggunakan perintah torch.distributed.run CLI untuk menjalankan pelatihan terdistribusi di seluruh simpul pekerja. Pelajari selengkapnya tentang Pelatihan terdistribusi dengan TorchDistributor.

spark-tensorflow-distributor

spark-tensorflow-distributor adalah paket asli open-source di TensorFlow untuk pelatihan terdistribusi dengan TensorFlow pada kluster Spark. Pelajari selengkapnya tentang Pelatihan terdistribusi dengan TensorFlow 2.

Ikan pari

Ray adalah kerangka kerja sumber terbuka yang berspesialisasi dalam pemrosesan komputasi paralel untuk menskalakan alur kerja ML dan aplikasi AI. Lihat Apa itu Ray di Azure Databricks?).

Horovod (Tidak digunakan lagi)

Penting

Horovod dan HorovodRunner sekarang tidak digunakan lagi dan tidak akan diinstal sebelumnya di Databricks Runtime 16.0 ML ke atas. Untuk pembelajaran mendalam terdistribusi, Databricks merekomendasikan penggunaan TorchDistributor untuk pelatihan terdistribusi dengan PyTorch atau tf.distribute.Strategy API untuk pelatihan terdistribusi dengan TensorFlow.

Horovod adalah kerangka pelatihan terdistribusi untuk TensorFlow, Keras, dan PyTorch. Azure Databricks mendukung pelatihan pembelajaran mendalam terdistribusi menggunakan HorovodRunner dan paket horovod.spark. Untuk aplikasi alur Spark ML menggunakan Keras atau PyTorch, Anda dapat menggunakan horovod.spark API estimator. Lihat Horovod.