Jalankan beban kerja pelatihan terdistribusi dengan Slurm on HyperPod - Amazon SageMaker

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

Jalankan beban kerja pelatihan terdistribusi dengan Slurm on HyperPod

SageMaker HyperPod khusus untuk beban kerja pelatihan model bahasa besar (LLMs) dan model dasar (FMs). Beban kerja ini sering memerlukan penggunaan beberapa teknik paralelisme dan operasi yang dioptimalkan untuk infrastruktur dan sumber daya ML. Menggunakan SageMaker HyperPod, Anda dapat menggunakan kerangka pelatihan SageMaker terdistribusi berikut:

Menggunakan SMDDP pada SageMaker HyperPod

SMDDPPerpustakaan adalah perpustakaan komunikasi kolektif yang meningkatkan kinerja komputasi pelatihan paralel data terdistribusi. SMDDPPustaka bekerja dengan kerangka kerja pelatihan terdistribusi open source berikut:

SMDDPPerpustakaan menangani overhead komunikasi dari operasi komunikasi kolektif utama dengan menawarkan yang berikut ini untuk SageMaker HyperPod.

  • Perpustakaan menawarkan AllGather dioptimalkan untuk AWS. AllGatheradalah operasi kunci yang digunakan dalam pelatihan paralel data sharded, yang merupakan teknik paralelisme data hemat memori yang ditawarkan oleh perpustakaan populer. Ini termasuk library SageMaker model parallelism (SMP), DeepSpeed Zero Redundancy Optimizer (Zero), dan PyTorch Fully Sharded Data Parallelism (). FSDP

  • Pustaka melakukan node-to-node komunikasi yang dioptimalkan dengan sepenuhnya memanfaatkan infrastruktur AWS jaringan dan topologi instance SageMaker ML.

Untuk menjalankan contoh pekerjaan pelatihan data-paralel

Jelajahi sampel pelatihan terdistribusi berikut yang menerapkan teknik paralelisme data menggunakan perpustakaan. SMDDP

Untuk menyiapkan lingkungan untuk menggunakan SMDDP pustaka pada SageMaker HyperPod

Berikut ini adalah persyaratan lingkungan pelatihan untuk menggunakan SMDDP perpustakaan pada SageMaker HyperPod.

  • PyTorch v2.0.1 dan yang lebih baru

  • CUDAv11.8 dan yang lebih baru

  • libstdc++versi runtime lebih besar dari 3

  • Python v3.10.x dan yang lebih baru

  • ml.p4d.24xlargedanml.p4de.24xlarge, yang merupakan tipe instance yang didukung oleh SMDDP perpustakaan

  • imdsv2diaktifkan pada host pelatihan

Bergantung pada bagaimana Anda ingin menjalankan pekerjaan pelatihan terdistribusi, ada dua opsi untuk menginstal SMDDP perpustakaan:

  • Instalasi langsung menggunakan file SMDDP biner.

  • Menggunakan SageMaker Deep Learning Containers (DLCs) yang sudah diinstal sebelumnya dengan SMDDP library.

Gambar Docker yang sudah diinstal sebelumnya dengan SMDDP pustaka atau URLs ke file SMDDP biner terdaftar di Kerangka Kerja yang Didukung dalam dokumentasi pustaka. SMDDP

Untuk menginstal SMDDP perpustakaan di SageMaker HyperPod DLAMI
  • pip install --no-cache-dir https://smdataparallel.s3.amazonaws.com/binary/pytorch/<pytorch-version>/cuXYZ/YYYY-MM-DD/smdistributed_dataparallel-X.Y.Z-cp310-cp310-linux_x86_64.whl

    catatan

    Jika Anda bekerja di lingkungan Conda, pastikan Anda menginstal PyTorch menggunakan conda install alih-alih. pip

    conda install pytorch==X.Y.Z torchvision==X.Y.Z torchaudio==X.Y.Z pytorch-cuda=X.Y.Z -c pytorch -c nvidia
Untuk menggunakan SMDDP pustaka pada wadah Docker
  • SMDDPPustaka sudah diinstal sebelumnya pada SageMaker Deep Learning Containers (DLCs). Untuk menemukan daftar SageMaker kerangka kerja DLCs PyTorch dengan SMDDP pustaka, lihat Kerangka Kerja yang Didukung dalam dokumentasi SMDDP pustaka. Anda juga dapat membawa wadah Docker Anda sendiri dengan dependensi yang diperlukan diinstal untuk menggunakan perpustakaan. SMDDP Untuk mempelajari lebih lanjut tentang menyiapkan wadah Docker khusus untuk menggunakan SMDDP pustaka, lihat jugaBuat wadah Docker Anda sendiri dengan pustaka paralel data SageMaker terdistribusi.

    penting

    Untuk menggunakan SMDDP pustaka dalam wadah Docker, pasang /var/log direktori dari mesin host ke /var/log dalam wadah. Ini dapat dilakukan dengan menambahkan opsi berikut saat menjalankan wadah Anda.

    docker run <OTHER_OPTIONS> -v /var/log:/var/log ...

Untuk mempelajari cara menjalankan pekerjaan pelatihan paralel data SMDDP secara umum, lihat. Pelatihan terdistribusi dengan perpustakaan paralelisme data SageMaker terdistribusi

Menggunakan SMP pada SageMaker HyperPod cluster

Perpustakaan SageMaker model paralelisme (SMP) menawarkan berbagai teknik paralelisme state-of-the-art model, termasuk:

  • paralelisme data yang sepenuhnya dipecah

  • paralelisme ahli

  • pelatihan presisi campuran FP16 BF16 dengan/dan tipe FP8 data

  • paralelisme tensor

SMPPerpustakaan ini juga kompatibel dengan kerangka kerja open source seperti PyTorch FSDP, NVIDIA Megatron, dan NVIDIA Transformer Engine.

Untuk menjalankan contoh beban kerja pelatihan model-paralel

Tim SageMaker layanan menyediakan contoh pekerjaan pelatihan yang menerapkan paralelisme model dengan SMP perpustakaan di. awsome-distributed-training/3.test_cases/17.SM-modelparallelv2