FAQ pustaka paralelisme data terdistribusi Amazon SageMaker AI - Amazon SageMaker AI

View a markdown version of this page

FAQ pustaka paralelisme data terdistribusi Amazon SageMaker AI - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

FAQ pustaka paralelisme data terdistribusi Amazon SageMaker AI

Gunakan yang berikut ini untuk menemukan jawaban atas pertanyaan umum tentang pustaka SMDDP.

T: Saat menggunakan pustaka, bagaimana instans CPU allreduce yang mendukung dikelola? Apakah saya harus membuat CPU-GPU cluster heterogen, atau apakah layanan SageMaker AI membuat C5 tambahan untuk pekerjaan yang menggunakan pustaka SMDDP?

Pustaka SMDDP hanya mendukung instans GPU, lebih spesifik, instans P4d dan P4de dengan GPU NVIDIA A100 dan EFA. Tidak ada instans C5 atau CPU tambahan yang diluncurkan; jika pekerjaan pelatihan SageMaker AI Anda berada di cluster P4d 8-node, hanya 8 ml.p4d.24xlarge instance yang digunakan. Tidak ada instans tambahan yang disediakan.

T: Saya memiliki pekerjaan pelatihan yang memakan waktu 5 hari pada satu ml.p3.24xlarge instance dengan satu set hyperparameter H1 (tingkat pembelajaran, ukuran batch, pengoptimal, dll). Apakah menggunakan perpustakaan paralelisme data SageMaker AI dan cluster lima kali lebih besar cukup untuk mencapai percepatan perkiraan lima kali? Atau apakah saya harus meninjau kembali hyperparameter pelatihannya setelah mengaktifkan perpustakaan SMDDP?

Pustaka mengubah ukuran batch keseluruhan. Ukuran batch keseluruhan baru diskalakan secara linier dengan jumlah instance pelatihan yang digunakan. Akibatnya, hiperparameter, seperti tingkat pembelajaran, harus diubah untuk memastikan konvergensi.

T: Apakah pustaka SMDDP mendukung Spot?

Ya. Anda dapat menggunakan pelatihan spot terkelola. Anda menentukan jalur ke file pos pemeriksaan dalam pekerjaan SageMaker pelatihan. Anda menyimpan dan memulihkan pos pemeriksaan dalam skrip pelatihan mereka seperti yang disebutkan dalam langkah terakhir Gunakan pustaka SMDDP di skrip TensorFlow pelatihan Anda (tidak digunakan lagi) danGunakan pustaka SMDDP dalam skrip pelatihan Anda PyTorch.

T: Apakah pustaka SMDDP relevan dalam pengaturan multi-perangkat host tunggal?

Pustaka dapat digunakan dalam pelatihan multi-perangkat host tunggal tetapi perpustakaan menawarkan peningkatan kinerja hanya dalam pelatihan multi-host.

T: Di mana kumpulan data pelatihan harus disimpan?

Dataset pelatihan dapat disimpan dalam bucket Amazon S3 atau di drive Amazon FSx. Lihat dokumen ini untuk berbagai sistem file input yang didukung untuk pekerjaan pelatihan.

T: Saat menggunakan pustaka SMDDP, apakah wajib memiliki data pelatihan di FSx for Lustre? Bisakah Amazon EFS dan Amazon S3 digunakan?

Kami umumnya menyarankan Anda menggunakan Amazon FSx karena latensi yang lebih rendah dan throughput yang lebih tinggi. Jika mau, Anda dapat menggunakan Amazon EFS atau Amazon S3.

T: Dapatkah perpustakaan digunakan dengan node CPU?

Tidak. Untuk menemukan jenis instans yang didukung oleh pustaka SMDDP, lihat. Tipe instans yang didukung

T: Kerangka kerja dan versi kerangka kerja apa yang saat ini didukung oleh pustaka SMDDP saat diluncurkan?

pustaka SMDDP saat ini mendukung PyTorch v1.6.0 atau yang lebih baru dan TensorFlow v2.3.0 atau yang lebih baru. Ini tidak mendukung TensorFlow 1.x. Untuk informasi selengkapnya tentang versi pustaka SMDDP mana yang dikemas dalam wadah pembelajaran AWS mendalam, lihat Catatan Rilis untuk Kon tainer Pembelajaran Mendalam.

T: Apakah perpustakaan mendukung AMP?

Ya, pustaka SMDDP mendukung Automatic Mixed Precision (AMP) di luar kotak. Tidak ada tindakan tambahan yang diperlukan untuk menggunakan AMP selain modifikasi tingkat kerangka kerja pada skrip pelatihan Anda. Jika gradien berada di FP16, pustaka paralelisme data SageMaker AI menjalankan operasinya AllReduce di FP16. Untuk informasi selengkapnya tentang menerapkan API AMP ke skrip pelatihan Anda, lihat sumber daya berikut:

T: Bagaimana cara mengidentifikasi jika pekerjaan pelatihan terdistribusi saya melambat karena kem I/O acetan?

Dengan cluster yang lebih besar, pekerjaan pelatihan membutuhkan lebih banyak I/O throughput, dan oleh karena itu throughput pelatihan mungkin membutuhkan waktu lebih lama (lebih banyak zaman) untuk meningkatkan kinerja maksimum. Ini menunjukkan bahwa I/O sedang mengalami hambatan dan cache lebih sulit dibangun saat Anda meningkatkan skala node (persyaratan throughput yang lebih tinggi dan topologi jaringan yang lebih kompleks). Untuk informasi selengkapnya tentang pemantauan throughput Amazon FSx CloudWatch, lihat Meman tau FSx untuk Luster di Panduan Pengguna FSx for Luster.

T: Bagaimana cara mengatasi hambatan I/O saat menjalankan pekerjaan pelatihan terdistribusi dengan paralelisme data?

Kami sangat menyarankan Anda menggunakan Amazon FSx sebagai saluran data Anda jika Anda menggunakan Amazon S3. Jika Anda sudah menggunakan Amazon FSx tetapi masih mengalami masalah I/O bottleneck, Anda mungkin telah mengatur sistem file Amazon FSx Anda dengan I/O throughput rendah dan kapasitas penyimpanan kecil. Untuk informasi selengkapnya tentang cara memperkirakan dan memilih ukuran kapasitas I/O throughput yang tepat, lihatGunakan Amazon FSx dan siapkan kapasitas penyimpanan dan throughput yang optimal.

T: (Untuk perpustakaan v1.4.0 atau yang lebih baru) Bagaimana cara mengatasi Invalid backend kesalahan saat menginisialisasi grup proses.

Jika Anda menemukan pesan kesalahan ValueError: Invalid backend: 'smddp' saat meneleponinit_process_group, ini karena perubahan yang rusak di pustaka SMDDP v1.4.0 dan yang lebih baru. Anda harus mengimpor PyTorch klien perpustakaan,smdistributed.dataparallel.torch.torch_smddp, yang mendaftar smddp sebagai backend untuk PyTorch. Untuk mempelajari selengkapnya, lihat Gunakan pustaka SMDDP dalam skrip pelatihan Anda PyTorch.

T: (Untuk pustaka SMDDP v1.4.0 atau yang lebih baru) Saya ingin memanggil primitif kolektif dari antarmuka. torch.distributed Primitif mana yang didukung smddp backend?

Di v1.4.0, pustaka SMDDP mendukungall_reduce,broadcast,reduce,all_gather, dan barrier antarmuka. torch.distributed

T: (Untuk pustaka SMDDP v1.4.0 atau yang lebih baru) Apakah API baru ini berfungsi dengan kelas atau pustaka DDP khusus lainnya seperti Apex DDP?

Pustaka SMDDP diuji dengan pustaka paralel data terdistribusi pihak ketiga lainnya dan implementasi kerangka kerja yang menggunakan modul. torch.distribtued Menggunakan pustaka SMDDP dengan kelas DDP kustom berfungsi selama operasi kolektif yang digunakan oleh kelas DDP kustom didukung oleh pustaka SMDDP. Lihat pertanyaan sebelumnya untuk daftar kolektif yang didukung. Jika Anda memiliki kasus penggunaan ini dan memerlukan dukungan lebih lanjut, hubungi tim SageMaker AI melalui Pusat AWS Dukungan atau Forum AWS Pengembang untuk Amazon SageMaker AI.

T: Apakah pustaka SMDDP mendukung opsi bring-your-own-container (BYOC)? Jika demikian, bagaimana cara menginstal perpustakaan dan menjalankan pekerjaan pelatihan terdistribusi dengan menulis Dockerfile khusus?

Jika Anda ingin mengintegrasikan pustaka SMDDP dan dependensi minimumnya ke dalam wadah Docker Anda sendiri, BYOC adalah pendekatan yang tepat. Anda dapat membangun wadah Anda sendiri menggunakan file biner perpustakaan. Proses yang disarankan adalah menulis Dockerfile khusus dengan pustaka dan dependensinya, membangun wadah Docker, meng-hostingnya di Amazon ECR, dan menggunakan URI gambar ECR untuk meluncurkan pekerjaan pelatihan menggunakan kelas generik AI. SageMaker ModelTrainer Untuk petunjuk lebih lanjut tentang cara menyiapkan Dockerfile khusus untuk pelatihan terdistribusi di SageMaker AI dengan pustaka SMDDP, lihat. Buat wadah Docker Anda sendiri dengan pustaka paralel data terdistribusi SageMaker AI