Создание базовых моделей (FM) требует создания, обслуживания и оптимизации больших кластеров для обучения моделей с десятками и сотнями миллиардов параметров на огромных объемах данных. Создание устойчивой среды, способной справляться с сбоями и изменениями среды без потери дней или недель прогресса обучения модели, является эксплуатационной задачей, которая требует от вас внедрения масштабирования кластера, упреждающего мониторинга работоспособности, контрольных точек заданий и возможностей автоматического возобновления обучения в случае возникновения сбоев или проблем. .
Мы рады поделиться этим Amazon SageMaker HyperPod теперь общедоступен, что позволяет использовать модели базовой подготовки с тысячами ускорителей на 40 % быстрее, обеспечивая высокоустойчивую среду обучения и устраняя при этом недифференцированную тяжелую работу, необходимую для работы крупномасштабных тренировочных кластеров. С помощью SageMaker HyperPod специалисты по машинному обучению (ML) могут обучать FM в течение недель и месяцев без перерывов и без необходимости сталкиваться с проблемами сбоев оборудования.
Такие клиенты, как Stability AI, используют SageMaker HyperPod для обучения своих базовых моделей, включая Stable Diffusion.
«Как ведущая компания по созданию ИИ с открытым исходным кодом, наша цель — максимизировать доступность современного ИИ. Мы создаем базовые модели с десятками миллиардов параметров, которым требуется инфраструктура для оптимального масштабирования эффективности обучения. Благодаря управляемой инфраструктуре и библиотекам оптимизации SageMaker HyperPod мы можем сократить время и затраты на обучение более чем на 50%. Это делает наше обучение моделей более гибким и производительным, что позволяет быстрее создавать современные модели».
– Эмад Мостак, основатель и генеральный директор Stability AI.
Чтобы сделать полный цикл разработки FM устойчивым к аппаратным сбоям, SageMaker HyperPod помогает создавать кластеры, отслеживать работоспособность кластеров, оперативно восстанавливать и заменять неисправные узлы, сохранять частые контрольные точки и автоматически возобновлять обучение без потери прогресса. Кроме того, в SageMaker HyperPod предварительно настроена Создатель мудреца Амазонки распределенные учебные библиотеки, в том числе Библиотека параллелизма данных SageMaker (SMDDP) и Библиотека параллелизма моделей SageMaker (SMP), чтобы повысить производительность обучения FM за счет упрощения разделения обучающих данных и моделей на более мелкие фрагменты и их параллельной обработки на узлах кластера, при этом полностью используя вычислительную и сетевую инфраструктуру кластера. SageMaker HyperPod интегрирует Slurm Workload Manager для оркестрации кластеров и заданий обучения.
Обзор диспетчера рабочих нагрузок Slurm
Слёрм, ранее известная как Simple Linux Utility for Resource Management, представляет собой планировщик заданий для запуска заданий в распределенном вычислительном кластере. Он также предоставляет основу для запуска параллельных заданий с использованием Библиотека коллективных коммуникаций NVIDIA (NCCL) or Интерфейс передачи сообщений (MPI) стандарты. Slurm — это популярная система управления кластерными ресурсами с открытым исходным кодом, широко используемая в высокопроизводительных вычислениях (HPC), а также в рабочих нагрузках для обучения генеративному искусственному интеллекту и FM. SageMaker HyperPod предоставляет простой способ приступить к работе с кластером Slurm за считанные минуты.
Ниже представлена общая архитектурная диаграмма того, как пользователи взаимодействуют с SageMaker HyperPod и как различные компоненты кластера взаимодействуют друг с другом и с другими сервисами AWS, такими как Amazon FSx для блеска и Простой сервис хранения Amazon (Amazon S3).
Задания Slurm отправляются командами в командной строке. Команды для запуска заданий Slurm: srun
и sbatch
, srun
команда запускает задание обучения в интерактивном и блокирующем режиме, а sbatch
работает в пакетном режиме и неблокирующем режиме. srun
в основном используется для выполнения немедленных задач, в то время как sbatch
может использоваться для последующих запусков заданий.
Информацию о дополнительных командах и настройке Slurm см. Документация Slurm Workload Manager.
Возможности автоматического возобновления и исцеления
Одной из новых функций SageMaker HyperPod является возможность автоматического возобновления выполнения ваших заданий. Раньше, если рабочий узел выходил из строя во время выполнения задания обучения или тонкой настройки, пользователь должен был проверить состояние задания, перезапустить задание с последней контрольной точки и продолжать отслеживать задание на протяжении всего выполнения. Поскольку задания по обучению или задания по точной настройке должны выполняться в течение нескольких дней, недель или даже месяцев, это становится дорогостоящим из-за дополнительных административных расходов, связанных с тем, что пользователю приходится тратить циклы на мониторинг и поддержку задания в случае, если сбои узлов, а также стоимость простоя дорогостоящих экземпляров ускоренных вычислений.
SageMaker HyperPod обеспечивает устойчивость заданий, используя автоматические проверки работоспособности, замену узлов и восстановление заданий. Задания Slurm в SageMaker HyperPod контролируются с помощью специального плагина Slurm для SageMaker, использующего СПАНК-фреймворк. В случае сбоя задания обучения SageMaker HyperPod проверит работоспособность кластера с помощью набора проверок работоспособности. Если в кластере обнаружен неисправный узел, SageMaker HyperPod автоматически удалит узел из кластера, заменит его исправным узлом и перезапустит задание обучения. При использовании контрольных точек в учебных заданиях любое прерванное или неудачное задание можно возобновить с последней контрольной точки.
Обзор решения
Чтобы развернуть SageMaker HyperPod, вы сначала подготавливаете свою среду, настраивая Виртуальное частное облако Amazon (Amazon VPC) сети и группы безопасности, развертывание вспомогательных служб, таких как FSx для Lustre, в вашем VPC и публикация сценариев жизненного цикла Slurm в корзине S3. Затем вы развертываете и настраиваете свой SageMaker HyperPod и подключаетесь к головному узлу, чтобы начать задания по обучению.
Предпосылки
Прежде чем создавать SageMaker HyperPod, сначала необходимо настроить VPC, создать файловую систему FSx для Lustre и установить корзину S3 с нужными сценариями жизненного цикла кластера. Вам также потребуется последняя версия Интерфейс командной строки AWS (AWS CLI) и плагин CLI, установленный для Менеджер сеансов AWS, способность Менеджер систем AWS.
SageMaker HyperPod полностью интегрирован с вашим VPC. Информацию о создании нового VPC см. Создайте VPC по умолчанию or Создать облако VPC. Чтобы обеспечить плавное соединение с максимальной производительностью между ресурсами, вам следует создать все ресурсы в одном регионе и зоне доступности, а также убедиться, что связанные правила группы безопасности разрешают соединение между ресурсами кластера.
Затем вы создать файловую систему FSx для Lustre. Она будет служить высокопроизводительной файловой системой для использования во время обучения модели. Убедитесь, что группы безопасности FSx for Lustre и кластера разрешают входящий и исходящий обмен данными между ресурсами кластера и файловой системой FSx for Lustre.
Чтобы настроить сценарии жизненного цикла кластера, которые запускаются при возникновении таких событий, как создание нового экземпляра кластера, вы создаете корзину S3, а затем копируете и при необходимости настраиваете сценарии жизненного цикла по умолчанию. В этом примере мы храним все сценарии жизненного цикла в префиксе корзины lifecycle-scripts
.
Сначала вы загружаете примеры сценариев жизненного цикла с сайта Репо GitHub. Вам следует настроить их в соответствии с желаемым поведением кластера.
Затем создайте корзину S3 для хранения настроенных сценариев жизненного цикла.
Затем скопируйте сценарии жизненного цикла по умолчанию из локального каталога в нужную корзину и добавьте префикс, используя aws s3 sync
:
Наконец, чтобы настроить клиент для упрощенного подключения к головному узлу кластера, необходимо установить или обновить интерфейс командной строки AWS и установите Плагин AWS Session Manager CLI чтобы разрешить интерактивные терминальные соединения для администрирования кластера и выполнения обучающих заданий.
Вы можете создать кластер SageMaker HyperPod, используя доступные ресурсы по требованию или запросив резервирование мощности с помощью SageMaker. Чтобы создать резервирование мощности, вы создаете запрос на увеличение квоты для резервирования определенных типов вычислительных экземпляров и распределения мощности на панели мониторинга «Квоты служб».
Настройте свой тренировочный кластер
Чтобы создать кластер SageMaker HyperPod, выполните следующие шаги:
- На консоли SageMaker выберите Управление кластером под Кластеры HyperPod в навигационной панели.
- Выберите Создать кластер.
- Укажите имя кластера и, при необходимости, любые теги, которые будут применяться к ресурсам кластера, затем выберите Следующая.
- Выберите Создать группу экземпляров и укажите имя группы экземпляров, необходимый тип экземпляра, желаемое количество экземпляров, а также путь к корзине S3 и префиксу, куда вы ранее скопировали сценарии жизненного цикла кластера.
Рекомендуется иметь разные группы экземпляров для узлов контроллера, используемых для администрирования кластера и отправки заданий, а также для рабочих узлов, используемых для выполнения заданий обучения с использованием экземпляров ускоренных вычислений. При желании вы можете настроить дополнительную группу экземпляров для узлов входа.
- Сначала вы создаете группу экземпляров контроллера, которая будет включать головной узел кластера.
- Для этой группы экземпляров Управление идентификацией и доступом AWS (IAM) роль, выберите Создать новую роль и укажите любые сегменты S3, к которым вы хотите, чтобы экземпляры кластера в группе экземпляров имели доступ.
Сгенерированной роли по умолчанию будет предоставлен доступ только для чтения к указанным сегментам.
- Выберите Создать роль.
- Введите имя сценария, который будет запускаться при каждом создании экземпляра, в приглашении сценария при создании. В этом примере сценарий создания называется
on_create.sh
. - Выберите Сохранить.
- Выберите Создать группу экземпляров чтобы создать группу рабочих экземпляров.
- Предоставьте все запрошенные сведения, включая тип экземпляра и желаемое количество.
В этом примере для выполнения задания обучения используются четыре ускоренных экземпляра ml.trn1.32xl. Вы можете использовать ту же роль IAM, что и раньше, или настроить роль для рабочих экземпляров. Аналогично, вы можете использовать сценарии жизненного цикла при создании для этой группы рабочих экземпляров, отличные от сценариев для предыдущей группы экземпляров.
- Выберите Следующая продолжать.
- Выберите желаемое VPC, подсеть и группы безопасности для экземпляров вашего кластера.
Мы размещаем экземпляры кластера в одной зоне доступности и подсети, чтобы обеспечить низкую задержку.
Обратите внимание: если вы будете часто получать доступ к данным S3, рекомендуется создать конечную точку VPC, связанную с таблицей маршрутизации частной подсети, чтобы снизить любые потенциальные затраты на передачу данных.
- Выберите Следующая.
- Просмотрите сводную информацию о кластере, затем выберите Отправить.
Альтернативно, чтобы создать HyperPod SageMaker с помощью интерфейса командной строки AWS, сначала настройте параметры JSON, используемые для создания кластера:
Затем используйте следующую команду, чтобы создать кластер, используя предоставленные входные данные:
Выполните свое первое тренировочное задание с помощью Llama 2.
Обратите внимание, что использование модели Llama 2 регулируется лицензией Meta. Чтобы загрузить веса моделей и токенизатор, посетите сайт веб-сайт и примите лицензию, прежде чем запрашивать доступ на Веб-сайт «Обнимающее лицо Меты».
После запуска кластера войдите в систему с помощью диспетчера сеансов, используя идентификатор кластера, имя группы экземпляров и идентификатор экземпляра. Используйте следующую команду, чтобы просмотреть сведения о вашем кластере:
Запишите в ответе идентификатор кластера, включенный в ARN кластера.
Используйте следующую команду, чтобы получить имя группы экземпляров и идентификатор экземпляра, необходимые для входа в кластер.
Обратите внимание на InstanceGroupName
и InstanceId
в ответе, поскольку они будут использоваться для подключения к экземпляру с помощью диспетчера сеансов.
Теперь вы используете Session Manager для входа в головной узел или один из узлов входа и запускаете задание обучения:
Далее мы подготовим среду и загрузим Llama 2 и набор данных RedPajama. Полный код и его пошаговое руководство см. в инструкциях на странице Распределенное обучение AWSome GitHub репо.
Следуйте инструкциям, описанным в 2.test_cases/8.neuronx-nemo-megatron/README.md
файл. После выполнения шагов по подготовке среды, подготовке модели, загрузке и токенизации набора данных и предварительной компиляции модели вам следует отредактировать файл 6.pretrain-model.sh
сценарий и sbatch
команду отправки задания, чтобы включить параметр, который позволит вам воспользоваться функцией автоматического возобновления SageMaker HyperPod.
Редактировать sbatch
строка будет выглядеть следующим образом:
После отправки вакансии вы получите JobID
который вы можете использовать для проверки статуса задания, используя следующий код:
Кроме того, вы можете отслеживать задание, следуя журналу вывода задания, используя следующий код:
Убирать
Чтобы удалить кластер SageMaker HyperPod, используйте консоль SageMaker или следующую команду AWS CLI:
Заключение
В этом посте показано, как подготовить среду AWS, развернуть первый кластер SageMaker HyperPod и обучить модель Llama 7 с 2 миллиардами параметров. Сегодня SageMaker HyperPod обычно доступен в регионах Северной и Южной Америки (Сев. Вирджиния, Огайо и Орегон), Азиатско-Тихоокеанского региона (Сингапур, Сидней и Токио) и Европы (Франкфурт, Ирландия и Стокгольм). Их можно развернуть через консоль SageMaker, AWS CLI и AWS SDK, и они поддерживают семейства экземпляров p4d, p4de, p5, trn1, inf2, g5, c5, c5n, m5 и t3.
Чтобы узнать больше о SageMaker HyperPod, посетите Amazon SageMaker HyperPod.
Об авторах
Брэд Доран — старший технический менеджер по работе с клиентами в Amazon Web Services, специализирующийся на генеративном искусственном интеллекте. Он отвечает за решение инженерных задач для клиентов генеративного ИИ в сегменте рынка цифрового бизнеса. Он имеет опыт разработки инфраструктуры и программного обеспечения, а в настоящее время учится в докторантуре и занимается исследованиями в области искусственного интеллекта и машинного обучения.
Кейта Ватанабэ является старшим специалистом-архитектором решений GenAI в Amazon Web Services, где он помогает разрабатывать решения машинного обучения с использованием проектов OSS, таких как Slurm и Kubernetes. Его опыт работы связан с исследованиями и разработками в области машинного обучения. До прихода в AWS Кейта работал в сфере электронной коммерции научным сотрудником, разрабатывающим системы поиска изображений для поиска товаров. Кейта имеет степень доктора наук Токийского университета.
Джастин Пиртл — главный архитектор решений в Amazon Web Services. Он регулярно консультирует клиентов, занимающихся генеративным искусственным интеллектом, по вопросам проектирования, развертывания и масштабирования их инфраструктуры. Он регулярно выступает на конференциях AWS, включая re:Invent, а также на других мероприятиях AWS. Джастин получил степень бакалавра в области информационных систем управления в Техасском университете в Остине и степень магистра в области разработки программного обеспечения в Университете Сиэтла.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/introducing-amazon-sagemaker-hyperpod-to-train-foundation-models-at-scale/
- :является
- :куда
- $UP
- 1
- 100
- 12
- 14
- 24
- 7
- a
- способность
- О нас
- ускоренный
- ускорители
- Принять
- доступ
- доступность
- доступа
- Учетная запись
- через
- дополнение
- дополнительный
- адреса
- управлять
- административный
- плюс
- После
- AI
- Все
- распределение
- позволять
- позволяет
- причислены
- Amazon
- Создатель мудреца Амазонки
- Amazon Web Services
- Северной и Южной Америки
- суммы
- an
- и
- любой
- Применить
- архитектурный
- МЫ
- возникать
- искусственный
- искусственный интеллект
- Искусственный интеллект и машинное обучение
- AS
- Азия
- Азиатско-Тихоокеанский регион
- связанный
- At
- Остин
- Автоматизированный
- автоматически
- свободных мест
- доступен
- AWS
- фон
- BE
- становится
- до
- поведения
- между
- миллиарды
- блокирование
- строить
- Строительство
- бизнес
- by
- под названием
- CAN
- возможности
- возможности
- Пропускная способность
- Генеральный директор
- вызов
- проблемы
- изменения
- проверка
- Проверки
- Выберите
- клиент
- Кластер
- код
- собирательный
- выходит
- Связь
- Связь
- Компания
- полный
- компоненты
- Вычисление
- вычисление
- конференции
- Конфигурация
- настройка
- Свяжитесь
- связи
- Коммутация
- Консоли
- продолжать
- контроллер
- Цена
- дорогостоящий
- Расходы
- Создайте
- Создающий
- создание
- В настоящее время
- изготовленный на заказ
- Клиенты
- настроить
- подгонянный
- цикл
- циклы
- приборная панель
- данным
- Дней
- сделка
- По умолчанию
- Степень
- развертывание
- развернуть
- развертывание
- проектирование
- желанный
- подробный
- подробнее
- развивать
- развивающийся
- Развитие
- различный
- Вещание
- Интернет
- Нарушение
- распределенный
- распределенных вычислений
- распределенное обучение
- скачать
- два
- в течение
- каждый
- электронной коммерции
- или
- уничтожение
- включить
- Конечная точка
- Проект и
- обеспечивать
- Весь
- Окружающая среда
- окружающий
- установить
- Европе
- Даже
- События
- События
- пример
- возбужденный
- дорогим
- дополнительно
- Face
- Oшибка
- не удается
- Ошибка
- сбои
- семей
- быстрее
- неисправный
- Особенность
- Особенности
- Файл
- First
- внимание
- следовать
- после
- Что касается
- раньше
- найденный
- Год основания
- основатель
- Основатель и Главный Исполнительный Директор
- 4
- Рамки
- Франкфурт
- частое
- часто
- от
- полный
- полностью
- в общем
- генерируется
- генеративный
- Генеративный ИИ
- получить
- GitHub
- цель
- будет
- регулируется
- предоставленный
- группы
- Группы
- обрабатывать
- Аппаратные средства
- Есть
- имеющий
- he
- исцеление
- Медицина
- здоровый
- тяжелый
- тяжелая атлетика
- помогает
- High
- на высшем уровне
- высокая производительность
- наивысший
- очень
- его
- имеет
- кашель
- Как
- How To
- HPC
- HTML
- HTTP
- HTTPS
- Сотни
- ID
- Личность
- Idle
- if
- изображение
- немедленная
- осуществлять
- улучшать
- in
- включают
- включены
- В том числе
- Увеличение
- промышленность
- информация
- Информационные системы
- Инфраструктура
- затраты
- устанавливать
- установлен
- пример
- инструкции
- интегрированный
- Интегрируется
- Интеллекта
- взаимодействовать
- интерактивный
- Интерфейс
- прерванный
- в
- введение
- вовлеченный
- Ирландия
- вопросы
- IT
- работа
- Джобс
- присоединение
- JPG
- JSON
- Джастин
- известный
- большой
- крупномасштабный
- Задержка
- новее
- последний
- ведущий
- УЧИТЬСЯ
- изучение
- библиотеки
- Библиотека
- Лицензия
- Жизненный цикл
- Подтяжка лица
- такое как
- линия
- Linux
- Лама
- локальным
- журнал
- Войти
- посмотреть
- выглядит как
- потери
- Низкий
- машина
- обучение с помощью машины
- поддерживать
- Сохранение
- сделать
- ДЕЛАЕТ
- Создание
- управляемого
- управление
- менеджер
- рынок
- магистра
- Вопрос
- Максимизировать
- Мета
- Минут
- ML
- режим
- модель
- Модели
- Модерн
- монитор
- контролируемый
- Мониторинг
- месяцев
- БОЛЕЕ
- в основном
- имя
- родной
- Навигация
- Необходимость
- необходимый
- нуждающихся
- сеть
- Новые
- Новые функции
- узел
- узлы
- в своих размышлениях
- сейчас
- Nvidia
- of
- Огайо
- on
- On-Demand
- ONE
- открытый
- с открытым исходным кодом
- операционный
- оперативный
- оптимизация
- оптимизирующий
- or
- оркестровка
- Орегон
- Oss
- Другое
- наши
- выходной
- за
- Тихий океан
- хлеб
- Параллельные
- параметр
- параметры
- Прохождение
- путь
- Выполнять
- производительность
- кандидат наук
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- плагин
- Популярное
- После
- потенциал
- Подготовить
- предыдущий
- предварительно
- Основной
- Предварительный
- частная
- Проактивная
- продолжить
- обработка
- Продукт
- Прогресс
- проектов
- при условии
- приводит
- обеспечение
- Издательство
- количество
- RE
- Управление по борьбе с наркотиками (DEA)
- выздоровление
- уменьшить
- относиться
- область
- районы
- регулярный
- регулярно
- удаление
- ремонт
- замещать
- замена
- запросить
- требовать
- требуется
- исследованиям
- исследование и разработка
- бронирование
- Резерв
- упругий
- ресурс
- Полезные ресурсы
- ответ
- ответственный
- продолжить
- Роли
- маршрутизация
- условиями,
- Run
- Бег
- работает
- sagemaker
- то же
- Сохранить
- Шкала
- масштабирование
- Наука
- Ученый
- скрипт
- скрипты
- SDKS
- бесшовные
- Поиск
- Сиэтл
- безопасность
- посмотреть
- сегмент
- старший
- служить
- обслуживание
- Услуги
- Сессия
- набор
- Поделиться
- должен
- показал
- Аналогичным образом
- просто
- упрощенный
- Сингапур
- одинарной
- меньше
- Software
- разработка программного обеспечения
- разработка программного обеспечения
- Решения
- Решение
- Источник
- Динамик
- специалист
- конкретный
- указанный
- тратить
- раскол
- Стабильность
- стабильный
- стандартов
- Начало
- современное состояние
- Статус:
- Шаги
- диск
- магазин
- простой
- исследования
- представление
- отправить
- представленный
- подсети
- такие
- Костюм
- suite
- РЕЗЮМЕ
- поддержка
- поддержки
- Убедитесь
- Сидней
- синхронизации.
- система
- системы
- ТАБЛИЦЫ
- взять
- Технический
- десятки
- Терминал
- Техас
- чем
- который
- Ассоциация
- их
- Их
- тогда
- Эти
- они
- этой
- тысячи
- Через
- по всему
- время
- в
- сегодня
- токенизировать
- Токио
- Train
- Обучение
- перевод
- напишите
- Типы
- под
- Университет
- Токийский университет
- Обновление ПО
- использование
- используемый
- Информация о пользователе
- пользователей
- использования
- через
- утилита
- Использующий
- различный
- Огромная
- версия
- с помощью
- Вид
- Виргиния
- Виртуальный
- Войти
- прохождение
- законопроект
- Путь..
- we
- Web
- веб-сервисы
- Недели
- ЧТО Ж
- когда
- который
- в то время как
- широко
- Википедия.
- будете
- в
- без
- работавший
- работник
- бы
- Ты
- ВАШЕ
- зефирнет