FAQ perpustakaan paralelisme data SageMaker terdistribusi Amazon - Amazon SageMaker

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

FAQ perpustakaan paralelisme data SageMaker terdistribusi Amazon

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

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

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

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

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

T: Apakah perpustakaan 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 dalam skrip TensorFlow pelatihan Anda (tidak digunakan lagi) danGunakan perpustakaan SMDDP dalam skrip pelatihan Anda PyTorch .

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

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

T: Di mana dataset 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 perpustakaan SMDDP, apakah wajib memiliki data pelatihan di FSx for Lustre? Bisakah Amazon EFS dan Amazon S3 digunakan?

Kami biasanya 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 instance 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?

perpustakaan SMDDP saat ini mendukung PyTorch v1.6.0 atau yang lebih baru dan TensorFlow v2.3.0 atau yang lebih baru. Itu tidak mendukung TensorFlow 1.x. Untuk informasi selengkapnya tentang versi pustaka SMDDP mana yang dikemas dalam wadah pembelajaran AWS mendalam, lihat Catatan Rilis untuk Deep Learning Containers.

T: Apakah pustaka mendukung AMP?

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

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

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

T: Bagaimana cara mengatasi kemacetan 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 bottleneck I/O, Anda mungkin telah menyiapkan sistem file Amazon FSx Anda dengan throughput I/O rendah dan kapasitas penyimpanan yang kecil. Untuk informasi selengkapnya tentang cara memperkirakan dan memilih ukuran kapasitas throughput I/O yang tepat, lihat. Gunakan 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 disebabkan oleh perubahan yang melanggar di perpustakaan 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 perpustakaan SMDDP dalam skrip pelatihan Anda PyTorch .

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

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

T: (Untuk perpustakaan 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 library paralel data terdistribusi pihak ketiga lainnya dan implementasi kerangka kerja yang menggunakan modul. torch.distribtued Menggunakan perpustakaan SMDDP dengan kelas DDP kustom bekerja selama operasi kolektif yang digunakan oleh kelas DDP kustom didukung oleh perpustakaan SMDDP. Lihat pertanyaan sebelumnya untuk daftar kolektif yang didukung. Jika Anda memiliki kasus penggunaan ini dan membutuhkan dukungan lebih lanjut, hubungi SageMaker tim melalui Pusat AWS Dukungan atau Forum AWS Pengembang untuk Amazon SageMaker.

T: Apakah perpustakaan 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 perpustakaan 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, menghostingnya di Amazon ECR, dan menggunakan URI gambar ECR untuk meluncurkan pekerjaan pelatihan menggunakan kelas estimator generik. SageMaker Untuk petunjuk lebih lanjut tentang cara menyiapkan Dockerfile khusus untuk pelatihan terdistribusi SageMaker dengan perpustakaan SMDDP, lihat. Buat wadah Docker Anda sendiri dengan pustaka paralel data SageMaker terdistribusi