Repositori ini berisi arsitektur referensi dan kasus uji untuk pelatihan model terdistribusi dengan Amazon SageMaker Hyperpod, AWS ParallelCluster, AWS Batch, dan Amazon EKS. Kasus pengujian mencakup berbagai jenis dan ukuran model serta kerangka kerja dan optimalisasi paralel yang berbeda (Pytorch DDP/FSDP, MegatronLM, NemoMegatron...).
Komponen utama direktori ini adalah:
reference-architectures/
| -- 1.architectures/ # CloudFormation templates for reference arch
| -- 2.ami_and_containers/ # Scripts to create AMIs and container images
| -- 3.test_cases/ # Reference test cases and/or benchmark scripts
| -- 4.validation_observability/ # Tools to measure performance or troubleshoot
` -- ...
CATATAN : arsitektur dirancang untuk bekerja dengan bucket S3 dan VPC yang dibuat menggunakan templat referensi 1.architectures/0.s3/
dan 1.architectures/1.vpc_network/
. Anda sangat disarankan untuk menerapkan kedua templat ini sebelum menerapkan arsitektur referensi mana pun.
Anda dapat mengikuti lokakarya di bawah ini untuk melatih model di AWS. Masing-masing berisi contoh untuk beberapa kasus uji serta sejumlah informasi tentang pengoperasian cluster untuk pelatihan LLM.
Nama | Komentar |
---|---|
HyperPod Amazon SageMaker | Lokakarya untuk SageMaker HyperPod, menunjukkan cara menerapkan dan memantaunya |
AWS ParallelCluster | Lokakarya serupa seperti HyperPod tetapi di ParallelCluster |
Amazon SageMaker HyperPod EKS | Lokakarya untuk SageMaker HyperPod EKS, menunjukkan cara menerapkan dan memantaunya |
Arsitektur terletak di 1.architectures
dan terdiri dari arsitektur terkait utilitas dan layanan.
Nama | Kategori | Penggunaan |
---|---|---|
0.s3 | Penyimpanan | Buat ember S3 |
1.vpc_network | Jaringan | Buat VPC dengan sumber daya yang diperlukan subnet |
2.aws-parallelcluster | Menghitung | Templat cluster untuk pelatihan GPU & silikon khusus |
3.aws-batch | Menghitung | Templat AWS Batch untuk pelatihan terdistribusi |
4.amazon-eks | Menghitung | File manifes untuk dilatih dengan Amazon EKS |
5.sagemaker-hyperpod | Menghitung | Templat SageMaker HyperPod untuk pelatihan terdistribusi |
Akan lebih banyak lagi yang datang, silakan tambahkan yang baru (mis. Ray?). Anda juga akan menemukan dokumentasi untuk EFA dan variabel lingkungan yang direkomendasikan.
Citra mesin kustom dapat dibuat menggunakan Packer untuk AWS ParallelCluster, Amazon EKS, dan EC2 biasa. Gambar-gambar ini didasarkan pada peran dan buku pedoman yang mungkin.
Semua kasus uji berada di bawah 3.test_cases/
. Anda dapat masuk ke setiap direktori test case untuk mempelajari cara menjalankannya.
Uji kasus | Menggerutu | Kubernet | Kumpulan AWS |
---|---|---|---|
1.megatron-lm | ✅ | ✅ | ❓ |
2.nemo-launcher | ✅ | ✅ | |
3.MPT | ✅ | ❓ | ❓ |
4.DDP | ✅ | ❓ | ❓ |
5.param-benchmark | ✅ | ❓ | ❓ |
6.stable-diffusion | ✅ | ✅ | ❓ |
7.tensorflow-distributed | ✅ | ❓ | ❓ |
10.FSDP | ✅ | ✅ | ❓ |
11.modelparallel | ✅ | ❓ | ❓ |
12.SM-dataparallel-FSDP | ✅ | ❓ | ❓ |
13.SM-dataparallel-deepspeed | ✅ | ❓ | ❓ |
14.bionemo | ✅ | ❓ | ❓ |
15.gpt-neox | ✅ | ❓ | ❓ |
16.pytorch-cpu-ddp | ✅ | ✅ | ❓ |
17.SM-modelparallelv2 | ✅ | ❓ | ❓ |
18.deepspeed | ✅ | ❓ | ❓ |
jax | ✅ | ❓ | ❓ |
Skrip utilitas dan contoh tolok ukur mikro ditetapkan di bawah 4.validation_scripts/
. Eksportir EFA Prometheus dapat ditemukan di direktori ini
Nama | Komentar |
---|---|
1.pytorch-env-validation | Memvalidasi lingkungan PyTorch Anda |
3.efa-node-exporter | Pengekspor simpul dengan modul pemantauan Amazon EFA |
4.prometheus-grafana | Aset penerapan untuk memantau Klaster Hyperpod SageMaker |
5.nsight | Menunjukkan cara menjalankan Sistem Nvidia Nsight untuk membuat profil beban kerja Anda |
efa-versions.py | Dapatkan versi perpustakaan Nvidia, driver dan driver EFA |
Tes integrasi ditulis dalam pytest. Jalankan saja:
pytest .
Alternatifnya, Anda dapat menjalankan pengujian tanpa menangkap stdout dan menyimpan semua gambar buruh pelabuhan serta artefak lainnya.
pytest -s --keep-artifacts=t
Terima kasih kepada semua kontributor yang telah membangun, meninjau, dan menguji.