يحتوي هذا المستودع على بنيات مرجعية وحالات اختبار للتدريب على النماذج الموزعة باستخدام 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.
اسم | تعليقات |
---|---|
أمازون سيج ميكر هايبربود | توضح ورشة عمل SageMaker HyperPod كيفية نشره ومراقبته |
AWS ParallelCluster | ورشة عمل مماثلة مثل HyperPod ولكن على ParallelCluster |
أمازون سيج ميكر هايبر بود EKS | توضح ورشة عمل SageMaker HyperPod EKS كيفية نشرها ومراقبتها |
تقع البنى في 1.architectures
وتتكون من المرافق والمباني ذات الصلة بالخدمة.
اسم | فئة | الاستخدام |
---|---|---|
0.s3 | تخزين | قم بإنشاء دلو S3 |
1.vpc_network | شبكة | قم بإنشاء VPC مع الموارد المطلوبة للشبكات الفرعية |
2.aws-parallelcluster | حساب | قوالب مجمعة لوحدة معالجة الرسومات والتدريب المخصص على السيليكون |
3.aws-batch | حساب | قالب AWS Batch للتدريب الموزع |
4.amazon-eks | حساب | ملفات البيان للتدريب مع Amazon EKS |
5.sagemaker-hyperpod | حساب | قالب SageMaker HyperPod للتدريب الموزع |
سيأتي المزيد، فلا تتردد في إضافة أشياء جديدة (مثل راي؟). ستجد أيضًا وثائق خاصة بـ EFA ومتغيرات البيئة الموصى بها.
يمكن إنشاء صور الآلة المخصصة باستخدام Packer for AWS ParallelCluster وAmazon EKS وEC2 العادي. تعتمد هذه الصور على الأدوار وقواعد اللعب Ansible.
جميع حالات الاختبار تحت 3.test_cases/
. يمكنك الذهاب إلى كل دليل لحالة الاختبار لمعرفة كيفية تشغيله.
حالات الاختبار | طين | كوبيرنيتيس | دفعة أوس |
---|---|---|---|
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
شكرًا لجميع المساهمين في البناء والمراجعة والاختبار.