Побудова фундаментальних моделей (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 попередньо налаштовано Amazon SageMaker поширені навчальні бібліотеки, в т.ч Бібліотека паралелізму даних SageMaker (SMDDP) та Бібліотека паралелізму моделі SageMaker (SMP), щоб підвищити ефективність навчання FM, спрощуючи розділення навчальних даних і моделей на менші частини та їх паралельну обробку на вузлах кластера, повністю використовуючи обчислювальну та мережеву інфраструктуру кластера. SageMaker HyperPod інтегрує диспетчер робочого навантаження Slurm для кластерної та навчальної оркестровки.
Огляд диспетчера робочого навантаження Slurm
Сльози, раніше відома як проста утиліта Linux для керування ресурсами, є планувальником завдань для виконання завдань у розподіленому обчислювальному кластері. Він також забезпечує структуру для виконання паралельних завдань за допомогою Колективна комунікаційна бібліотека NVIDIA (NCCL) or Інтерфейс передачі повідомлень (MPI) стандарти. Slurm — це популярна система керування кластерними ресурсами з відкритим кодом, яка широко використовується у високопродуктивних обчисленнях (HPC) і генеративних навчальних навантаженнях AI та FM. SageMaker HyperPod забезпечує простий спосіб почати роботу з кластером Slurm за лічені хвилини.
Нижче наведено високорівневу архітектурну схему взаємодії користувачів із SageMaker HyperPod і взаємодію різних компонентів кластера один з одним та іншими службами AWS, такими як Amazon FSx для Luster та Служба простого зберігання Amazon (Amazon S3).
Завдання slurm надсилаються командами з командного рядка. Команди для запуску завдань Slurm є srun
та sbatch
, srun
команда запускає навчальне завдання в інтерактивному режимі та режимі блокування, а також sbatch
працює в режимі пакетної обробки та без блокування. srun
здебільшого використовується для виконання негайних завдань, тоді як sbatch
можна використовувати для подальших прогонів завдань.
Щоб отримати інформацію про додаткові команди та конфігурацію Slurm, див Документація Slurm Workload Manager.
Можливості автоматичного відновлення та відновлення
Однією з нових функцій SageMaker HyperPod є можливість автоматичного відновлення роботи. Раніше, коли робочий вузол виходив з ладу під час виконання завдання навчання або тонкого налаштування, користувач повинен був перевірити статус завдання, перезапустити завдання з останньої контрольної точки та продовжувати контролювати завдання протягом усього виконання. З завданнями навчання або точного налаштування, які повинні виконуватися днями, тижнями або навіть місяцями, це стає дорогим через додаткові адміністративні накладні витрати користувача, який потребує циклів для моніторингу та підтримки завдання у випадку, якщо збої вузла, а також вартість простою дорогих екземплярів прискореного обчислення.
SageMaker HyperPod забезпечує стійкість роботи за допомогою автоматизованих перевірок справності, заміни вузлів і відновлення роботи. Завдання Slurm у SageMaker HyperPod відстежуються за допомогою спеціального плагіна Slurm SageMaker за допомогою Фреймворк SPANK. Якщо навчальна робота не вдається, SageMaker HyperPod перевірить працездатність кластера за допомогою набору перевірок справності. Якщо в кластері виявлено несправний вузол, SageMaker HyperPod автоматично видалить вузол із кластера, замінить його справним вузлом і перезапустить завдання навчання. У разі використання контрольних точок у навчальних завданнях будь-яке перерване або невдале завдання можна відновити з останньої контрольної точки.
Огляд рішення
Щоб розгорнути SageMaker HyperPod, ви спочатку підготуєте своє середовище, налаштувавши його Віртуальна приватна хмара Amazon (Amazon VPC) групи мережі та безпеки, розгортання допоміжних служб, таких як FSx для Luster у вашому 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 для Luster і групи безпеки кластера дозволяють вхідний і вихідний зв’язок між ресурсами кластера та файловою системою FSx для Luster.
Щоб налаштувати сценарії життєвого циклу кластера, які запускаються, коли відбуваються такі події, як новий екземпляр кластера, ви створюєте сегмент S3, а потім копіюєте та за бажанням налаштовуєте сценарії життєвого циклу за замовчуванням. У цьому прикладі ми зберігаємо всі сценарії життєвого циклу в префіксі відра lifecycle-scripts
.
Спочатку ви завантажуєте зразки сценаріїв життєвого циклу з GitHub репо. Ви повинні налаштувати їх відповідно до бажаної поведінки кластера.
Потім створіть сегмент S3 для зберігання налаштованих сценаріїв життєвого циклу.
Далі скопіюйте сценарії життєвого циклу за замовчуванням із локального каталогу до потрібного сегмента та використовуючи префікс aws s3 sync
:
Нарешті, щоб налаштувати клієнт для спрощеного підключення до головного вузла кластера, ви повинні встановити або оновити AWS CLI і встановіть Плагін CLI AWS Session Manager щоб дозволити інтерактивні термінальні підключення для адміністрування кластера та виконання навчальних завдань.
Ви можете створити кластер SageMaker HyperPod або з доступними ресурсами на вимогу, або замовивши резервування ємності в SageMaker. Щоб створити резервування ємності, ви створюєте запит на збільшення квоти для резервування певних типів обчислювальних екземплярів і розподілу ємності на інформаційній панелі Квоти послуг.
Налаштуйте свій навчальний кластер
Щоб створити кластер SageMaker HyperPod, виконайте такі дії:
- На консолі SageMaker виберіть Управління кластером при Кластери HyperPod у навігаційній панелі.
- Вибирати Створіть кластер.
- Надайте ім’я кластера та, за бажанням, будь-які теги, які потрібно застосувати до ресурсів кластера, а потім виберіть МАЙБУТНІ.
- Select Створити групу екземплярів і вкажіть назву групи екземплярів, необхідний тип екземплярів, бажану кількість екземплярів, а також сегмент S3 і префіксний шлях, куди ви раніше скопіювали сценарії життєвого циклу кластера.
Рекомендується мати різні групи екземплярів для вузлів контролера, які використовуються для адміністрування кластера та надсилання завдань, і робочих вузлів, які використовуються для виконання навчальних завдань за допомогою екземплярів прискорених обчислень. За бажанням можна налаштувати додаткову групу екземплярів для вузлів входу.
- Спочатку ви створюєте групу екземплярів контролера, яка включатиме головний вузол кластера.
- Для цього прикладу групи Управління ідентифікацією та доступом AWS (IAM) роль, вибрати Створіть нову роль і вкажіть будь-які відра S3, до яких ви хотіли б мати доступ екземплярів кластера в групі екземплярів.
Створеній ролі за умовчанням буде надано доступ лише для читання до вказаних сегментів.
- Вибирати Створіть роль.
- У вікні підказки під час створення сценарію введіть ім’я сценарію, який буде запускатися під час створення кожного екземпляра. У цьому прикладі викликається сценарій on-create
on_create.sh
. - Вибирати зберегти.
- Вибирати Створити групу екземплярів щоб створити робочу групу екземплярів.
- Надайте всі необхідні відомості, зокрема тип екземпляра та бажану кількість.
У цьому прикладі використовуються чотири прискорені екземпляри ml.trn1.32xl для виконання нашої навчальної роботи. Ви можете використовувати ту саму роль IAM, що й раніше, або налаштувати роль для робочих екземплярів. Подібним чином ви можете використовувати різні сценарії життєвого циклу під час створення для цієї робочої групи екземплярів, ніж для попередньої групи екземплярів.
- Вибирати МАЙБУТНІ продовжити.
- Виберіть потрібний VPC, підмережу та групи безпеки для екземплярів кластера.
Ми розміщуємо екземпляри кластера в одній зоні доступності та підмережі, щоб забезпечити низьку затримку.
Зауважте, що якщо ви будете часто отримувати доступ до даних S3, рекомендується створити кінцеву точку VPC, пов’язану з таблицею маршрутизації приватної підмережі, щоб зменшити потенційні витрати на передачу даних.
- Вибирати МАЙБУТНІ.
- Перегляньте зведення деталей кластера та виберіть Надіслати.
Крім того, щоб створити свій SageMaker HyperPod за допомогою AWS CLI, спочатку налаштуйте параметри JSON, які використовуються для створення кластера:
Потім скористайтеся такою командою, щоб створити кластер, використовуючи надані вхідні дані:
Виконайте своє перше навчальне завдання з Llama 2
Зауважте, що використання моделі Llama 2 регулюється ліцензією Meta. Щоб завантажити вагові коефіцієнти моделі та токенізатор, відвідайте сайт і прийміть ліцензію, перш ніж запитувати доступ до Веб-сайт Meta's Hugging Face.
Після запуску кластера увійдіть за допомогою диспетчера сеансів, використовуючи ідентифікатор кластера, назву групи екземплярів та ідентифікатор екземпляра. Використовуйте таку команду, щоб переглянути деталі свого кластера:
Зверніть увагу на ідентифікатор кластера, включений у ARN кластера у відповідь.
Використовуйте наступну команду, щоб отримати назву групи екземплярів та ідентифікатор екземпляра, необхідні для входу в кластер.
Зверніть увагу на InstanceGroupName
і InstanceId
у відповідь, оскільки вони використовуватимуться для підключення до екземпляра за допомогою диспетчера сеансів.
Тепер ви використовуєте диспетчер сеансів, щоб увійти до головного вузла або одного з вузлів входу та запустити своє навчальне завдання:
Далі ми збираємося підготувати середовище та завантажити Llama 2 і набір даних RedPajama. Щоб отримати повний код і покрокові інструкції, дотримуйтесь інструкцій на AWSome розподілене навчання Репо GitHub.
Виконайте дії, описані в розділі 2.test_cases/8.neuronx-nemo-megatron/README.md
файл. Після виконання кроків для підготовки середовища, підготовки моделі, завантаження та токенізації набору даних, а також попередньої компіляції моделі, ви повинні відредагувати 6.pretrain-model.sh
сценарій та sbatch
команду подання завдання, щоб включити параметр, який дозволить вам скористатися функцією автоматичного відновлення SageMaker HyperPod.
Редагувати sbatch
рядок виглядати так:
Після відправки роботи ви отримаєте a 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. Джастін отримав ступінь бакалавра з інформаційних систем управління в Техаському університеті в Остіні та ступінь магістра з розробки програмного забезпечення в Університеті Сіетла.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: 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 SageMaker
- Amazon Web Services
- Північної та Південної Америки
- суми
- an
- та
- будь-який
- Застосовувати
- архітектурний
- ЕСТЬ
- виникати
- штучний
- штучний інтелект
- Штучний інтелект і машинне навчання
- AS
- Азія
- Азіатсько-Тихоокеанському регіоні
- асоційований
- At
- Остін
- Автоматизований
- автоматично
- наявність
- доступний
- AWS
- фон
- BE
- стає
- перед тим
- поведінки
- між
- мільярди
- блокування
- будувати
- Створюємо
- бізнес
- by
- званий
- CAN
- можливості
- можливості
- потужність
- Генеральний директор
- виклик
- проблеми
- Зміни
- перевірка
- Перевірки
- Вибирати
- клієнт
- кластер
- код
- Collective
- приходить
- Комунікація
- зв'язку
- компанія
- повний
- Компоненти
- обчислення
- обчислення
- конференції
- конфігурація
- конфігурування
- З'єднуватися
- зв'язку
- Зв'язки
- Консоль
- продовжувати
- контролер
- Коштувати
- дорого
- витрати
- створювати
- створення
- створення
- В даний час
- виготовлений на замовлення
- Клієнти
- налаштувати
- налаштувати
- цикл
- циклів
- приладова панель
- дані
- Днів
- угода
- дефолт
- Ступінь
- розгортання
- розгорнути
- розгортання
- проектування
- бажаний
- докладно
- деталі
- розвивати
- розвивається
- розробка
- різний
- радіомовлення
- цифровий
- Зрив
- розподілений
- розподілені обчислення
- розподілене навчання
- скачати
- два
- під час
- кожен
- електронної комерції
- або
- усуваючи
- включіть
- Кінцева точка
- Машинобудування
- забезпечувати
- Весь
- Навколишнє середовище
- навколишній
- встановити
- Європа
- Навіть
- Event
- Події
- приклад
- збуджений
- дорогий
- додатково
- Face
- не вдалося
- зазнає невдачі
- Провал
- збої
- сімей
- швидше
- несправний
- особливість
- риси
- філе
- Перший
- увагу
- стежити
- після
- для
- раніше
- знайдений
- фонд
- засновник
- Засновник і генеральний директор
- чотири
- Рамки
- Франкфурт
- частий
- часто
- від
- Повний
- повністю
- в цілому
- генерується
- генеративний
- Генеративний ШІ
- отримати
- GitHub
- мета
- буде
- управляється
- надається
- Group
- Групи
- обробляти
- апаратні засоби
- Мати
- має
- he
- голова
- зцілення
- здоров'я
- здоровий
- важкий
- важкий підйом
- допомагає
- Високий
- на вищому рівні
- висока продуктивність
- найвищий
- дуже
- його
- тримає
- господар
- Як
- How To
- к.с.
- HTML
- HTTP
- HTTPS
- Сотні
- ID
- Особистість
- Idle
- if
- зображення
- Негайний
- здійснювати
- удосконалювати
- in
- включати
- включені
- У тому числі
- Augmenter
- промисловість
- інформація
- Інформаційні системи
- Інфраструктура
- витрати
- встановлювати
- встановлений
- екземпляр
- інструкції
- інтегрований
- Інтеграція
- Інтелект
- взаємодіяти
- інтерактивний
- інтерфейс
- перерваний
- в
- введення
- залучений
- Ірландія
- питання
- IT
- робота
- Джобс
- приєднання
- JPG
- json
- Джастін
- відомий
- великий
- масштабний
- Затримка
- пізніше
- останній
- провідний
- УЧИТЬСЯ
- вивчення
- libraries
- бібліотека
- ліцензія
- Життєвий цикл
- підйомний
- як
- Лінія
- Linux
- Лама
- місцевий
- журнал
- Логін
- подивитися
- виглядає як
- програш
- низький
- машина
- навчання за допомогою машини
- підтримувати
- Підтримка
- зробити
- РОБОТИ
- Робить
- вдалося
- управління
- менеджер
- ринок
- магістра
- Матерія
- Максимізувати
- Meta
- хвилин
- ML
- режим
- модель
- Моделі
- сучасний
- монітор
- контрольований
- моніторинг
- місяців
- більше
- в основному
- ім'я
- рідний
- навігація
- Необхідність
- необхідний
- нужденних
- мережу
- Нові
- Нові можливості
- вузол
- вузли
- увагу
- зараз
- Nvidia
- of
- Огайо
- on
- On-Demand
- ONE
- відкрити
- з відкритим вихідним кодом
- операційний
- оперативний
- оптимізація
- оптимізуючий
- or
- оркестровка
- Орегон
- Нам
- Інше
- наші
- вихід
- над
- Тихий океан
- pane
- Паралельні
- параметр
- параметри
- Проходження
- шлях
- Виконувати
- продуктивність
- Вчений ступінь
- plato
- Інформація про дані Платона
- PlatoData
- підключати
- популярний
- пошта
- потенціал
- Готувати
- попередній
- раніше
- Головний
- попередній
- приватний
- Проактивний
- продовжити
- обробка
- Product
- прогрес
- проектів
- за умови
- забезпечує
- забезпечення
- Видавничий
- кількість
- RE
- рекомендований
- відновлення
- зменшити
- послатися
- регіон
- райони
- регулярний
- регулярно
- видаляти
- ремонт
- замінювати
- заміна
- запросити
- вимагати
- Вимагається
- дослідження
- дослідження і розробка
- бронювання
- Резерв
- пружний
- ресурс
- ресурси
- відповідь
- відповідальний
- резюме
- Роль
- Маршрутизація
- Правила
- прогін
- біг
- пробіжки
- мудрець
- то ж
- зберегти
- шкала
- Масштабування
- наука
- вчений
- сценарій
- scripts
- sdks
- безшовні
- Пошук
- Сіетл
- безпеку
- побачити
- сегмент
- старший
- служити
- обслуговування
- Послуги
- Сесія
- комплект
- Поділитись
- Повинен
- показав
- Аналогічно
- простий
- спрощений
- Сінгапур
- один
- менше
- Софтвер
- розробка програмного забезпечення
- розробка програмного забезпечення
- Рішення
- Розв’язування
- Source
- Гучномовець
- спеціаліст
- конкретний
- зазначений
- витрачати
- розкол
- Стабільність
- стабільний
- стандартів
- старт
- впроваджений
- Статус
- заходи
- зберігання
- зберігати
- просто
- Дослідження
- уявлення
- представляти
- представлений
- підмережі
- такі
- костюм
- набір
- РЕЗЮМЕ
- підтримка
- Підтримуючий
- Переконайтеся
- Сідней
- синхронізація.
- система
- Systems
- таблиця
- Приймати
- технічний
- тензор
- термінал
- Техас
- ніж
- Що
- Команда
- їх
- Їх
- потім
- Ці
- вони
- це
- тисячі
- через
- по всьому
- час
- до
- сьогодні
- токенізувати
- Токіо
- поїзд
- Навчання
- переклад
- тип
- Типи
- при
- університет
- Токійський університет
- Оновити
- використання
- використовуваний
- користувач
- користувачі
- використовує
- використання
- утиліта
- використовує
- різний
- величезний
- версія
- через
- вид
- Віргінія
- Віртуальний
- візит
- покрокове керівництво
- було
- шлях..
- we
- Web
- веб-сервіси
- тижня
- ДОБРЕ
- коли
- який
- в той час як
- широко
- Вікіпедія
- волі
- з
- в
- без
- працював
- робочий
- б
- Ти
- вашу
- зефірнет