Этот репозиторий содержит эталонные архитектуры и тестовые примеры для обучения распределенных моделей с помощью 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 HyperPod | Семинар по SageMaker HyperPod, показывает, как его развертывать и контролировать. |
Параллельный кластер AWS | Семинар аналогичный HyperPod, но на ParallelCluster. |
Amazon SageMaker HyperPod 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 для AWS ParallelCluster, Amazon EKS и обычного EC2. Эти изображения основаны на ролях и сборниках сценариев 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 .
В качестве альтернативы вы можете запускать тесты без захвата стандартного вывода и сохранения всех образов докеров и других артефактов.
pytest -s --keep-artifacts=t
Спасибо всем участникам за создание, обзор и тестирование.