พื้นที่เก็บข้อมูลนี้ประกอบด้วยสถาปัตยกรรมอ้างอิงและกรณีทดสอบสำหรับการฝึกโมเดลแบบกระจายด้วย Amazon SageMaker Hyperpod, AWS ParallelCluster, AWS Batch และ Amazon EKS กรณีทดสอบครอบคลุมประเภทและขนาดที่แตกต่างกันของแบบจำลอง ตลอดจนเฟรมเวิร์กที่แตกต่างกันและการเพิ่มประสิทธิภาพแบบขนาน (Pytorch DDP/FSDP, MegatronLM, NemoMegatron...)
ส่วนประกอบที่สำคัญของไดเร็กทอรีนี้คือ:
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
` -- ...
หมายเหตุ : สถาปัตยกรรมได้รับการออกแบบให้ทำงานร่วมกับบัคเก็ต S3 และ VPC ที่สร้างขึ้นโดยใช้เทมเพลตอ้างอิง 1.architectures/0.s3/
และ 1.architectures/1.vpc_network/
ขอแนะนำอย่างยิ่งให้ปรับใช้ทั้งสองเทมเพลตนี้ ก่อนที่ จะปรับใช้สถาปัตยกรรมอ้างอิงใดๆ
คุณสามารถติดตามเวิร์กชอปด้านล่างเพื่อฝึกอบรมโมเดลบน AWS แต่ละกรณีประกอบด้วยตัวอย่างสำหรับกรณีทดสอบหลายกรณี รวมถึงข้อมูลเกี่ยวกับการใช้งานคลัสเตอร์สำหรับการฝึกอบรม LLM
ชื่อ | ความคิดเห็น |
---|---|
Amazon SageMaker ไฮเปอร์พอด | เวิร์กชอปสำหรับ SageMaker HyperPod แสดงวิธีการปรับใช้และติดตาม |
AWS ParallelCluster | เวิร์กช็อปที่คล้ายกันกับ HyperPod แต่บน ParallelCluster |
Amazon SageMaker ไฮเปอร์พอด EKS | เวิร์กชอปสำหรับ SageMaker HyperPod EKS แสดงวิธีการปรับใช้และติดตาม |
สถาปัตยกรรมอยู่ใน 1.architectures
และประกอบด้วยสถาปัตยกรรมที่เกี่ยวข้องกับสาธารณูปโภคและบริการ
ชื่อ | หมวดหมู่ | การใช้งาน |
---|---|---|
0.s3 | พื้นที่จัดเก็บ | สร้างบัคเก็ต S3 |
1.vpc_network | เครือข่าย | สร้าง VPC ด้วยทรัพยากรซับเน็ตที่จำเป็น |
2.aws-parallelcluster | คำนวณ | เทมเพลตคลัสเตอร์สำหรับ GPU และการฝึกอบรมซิลิคอนแบบกำหนดเอง |
3.aws-batch | คำนวณ | เทมเพลต AWS Batch สำหรับการฝึกอบรมแบบกระจาย |
4.amazon-eks | คำนวณ | ไฟล์ Manifest เพื่อฝึกกับ Amazon EKS |
5.sagemaker-hyperpod | คำนวณ | เทมเพลต SageMaker HyperPod สำหรับการฝึกอบรมแบบกระจาย |
จะมาเพิ่มอีก เพิ่มอันใหม่ได้ตามใจชอบ (เช่น เรย์?) คุณยังจะพบเอกสารประกอบสำหรับ EFA และตัวแปรสภาพแวดล้อมที่แนะนำอีกด้วย
สามารถสร้างอิมเมจเครื่องแบบกำหนดเองได้โดยใช้ Packer สำหรับ AWS ParallelCluster, Amazon EKS และ EC2 ธรรมดา รูปภาพเหล่านี้อิงตามบทบาทและ Playbook ของ Ansible
กรณีทดสอบทั้งหมดอยู่ภายใต้ 3.test_cases/
คุณสามารถไปที่ไดเร็กทอรีกรณีทดสอบแต่ละไดเร็กทอรีเพื่อเรียนรู้วิธีรันไดเร็กทอรี
กรณีทดสอบ | สเลม | คูเบอร์เนเตส | 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 |
สคริปต์ยูทิลิตี้และตัวอย่างการวัดประสิทธิภาพขนาดเล็กได้รับการตั้งค่าภายใต้ 4.validation_scripts/
ผู้ส่งออก EFA Prometheus สามารถพบได้ในไดเร็กทอรีนี้
ชื่อ | ความคิดเห็น |
---|---|
1.pytorch-env-validation | ตรวจสอบสภาพแวดล้อม PyTorch ของคุณ |
3.efa-node-exporter | ผู้ส่งออกโหนดพร้อมโมดูลการตรวจสอบ Amazon EFA |
4.prometheus-grafana | ปรับใช้สินทรัพย์เพื่อตรวจสอบคลัสเตอร์ SageMaker Hyperpod |
5.nsight | แสดงวิธีเรียกใช้ Nvidia Nsight Systems เพื่อจัดทำโปรไฟล์ปริมาณงานของคุณ |
efa-versions.py | รับเวอร์ชันของไลบรารี Nvidia ไดรเวอร์ และไดรเวอร์ EFA |
การทดสอบการรวมถูกเขียนด้วย pytest เพียงแค่เรียกใช้:
pytest .
หรือคุณสามารถทำการทดสอบโดยไม่ต้องจับ stdout และเก็บอิมเมจนักเทียบท่าทั้งหมดไว้เป็นสิ่งประดิษฐ์อื่น
pytest -s --keep-artifacts=t
ขอขอบคุณผู้มีส่วนร่วมทั้งหมดสำหรับการสร้าง การตรวจสอบ และการทดสอบ