У сфері розподіленого глибокого навчання для великих мовних моделей (LLM) відбувся величезний прогрес, особливо після випуску ChatGPT у грудні 2022 року. LLM продовжують зростати в розмірах з мільярдами чи навіть трильйонами параметрів, і вони часто не будуть вписуються в один прискорювач, наприклад GPU, або навіть в один вузол, наприклад ml.p5.32xlarge, через обмеження пам’яті. Клієнти, які навчають магістерів права, часто повинні розподіляти своє робоче навантаження між сотнями чи навіть тисячами графічних процесорів. Забезпечення навчання в такому масштабі залишається проблемою в розподіленому навчанні, а ефективне навчання в такій великій системі є іншою не менш важливою проблемою. Протягом останніх років спільнота розподіленого навчання представила 3D-паралелізм (паралелізм даних, паралелізм конвеєрів і паралелізм тензорів) та інші методи (наприклад, паралелізм послідовності та паралелізм експертів) для вирішення таких проблем.
У грудні 2023 року Amazon оголосила про випуск Паралельна бібліотека моделі SageMaker 2.0 (SMP), який досягає найсучаснішої ефективності у навчанні великих моделей разом із Розподілена бібліотека паралелізму даних SageMaker (SMDDP). Цей випуск є значним оновленням 1.x: SMP тепер інтегровано з PyTorch з відкритим кодом Повністю розділені дані паралельно (FSDP) API, який дозволяє використовувати знайомий інтерфейс під час навчання великих моделей і сумісний з Трансформаторний двигун (TE), вперше відкриваючи методи тензорного паралелізму разом із FSDP. Щоб дізнатися більше про випуск, див Бібліотека паралельних моделей Amazon SageMaker тепер прискорює робочі навантаження PyTorch FSDP до 20%.
У цій публікації ми досліджуємо переваги продуктивності Amazon SageMaker (включаючи SMP і SMDDP), і як ви можете використовувати бібліотеку для ефективного навчання великих моделей на SageMaker. Ми демонструємо продуктивність SageMaker за допомогою контрольних тестів на кластерах ml.p4d.24xlarge до 128 екземплярів і змішаної точності FSDP із bfloat16 для моделі Llama 2. Ми починаємо з демонстрації ефективності майже лінійного масштабування для SageMaker, потім аналізуємо внески кожної функції для оптимальної пропускної здатності, а закінчуємо ефективним навчанням із різними довжинами послідовності до 32,768 XNUMX через тензорний паралелізм.
Майже лінійне масштабування за допомогою SageMaker
Щоб скоротити загальний час навчання для моделей LLM, збереження високої пропускної здатності під час масштабування до великих кластерів (тисячі графічних процесорів) має вирішальне значення, враховуючи накладні витрати на зв’язок між вузлами. У цій публікації ми демонструємо ефективність надійного та майже лінійного масштабування (шляхом зміни кількості графічних процесорів для фіксованого загального розміру проблеми) на екземплярах p4d, які викликають як SMP, так і SMDDP.
У цьому розділі ми демонструємо продуктивність майже лінійного масштабування SMP. Тут ми тренуємо моделі Llama 2 різних розмірів (параметри 7B, 13B і 70B) з використанням фіксованої довжини послідовності 4,096, серверної частини SMDDP для колективного спілкування, увімкненого TE, глобального розміру пакета 4 мільйони, з 16-128 вузлами p4d. . У наведеній нижче таблиці підсумовано нашу оптимальну конфігурацію та ефективність навчання (модель TFLOPs за секунду).
Розмір моделі | Кількість вузлів | TFLOPs* | sdp* | tp* | розвантажити* | Ефективність масштабування |
7B | 16 | 136.76 | 32 | 1 | N | 100.0% |
32 | 132.65 | 64 | 1 | N | 97.0% | |
64 | 125.31 | 64 | 1 | N | 91.6% | |
128 | 115.01 | 64 | 1 | N | 84.1% | |
13B | 16 | 141.43 | 32 | 1 | Y | 100.0% |
32 | 139.46 | 256 | 1 | N | 98.6% | |
64 | 132.17 | 128 | 1 | N | 93.5% | |
128 | 120.75 | 128 | 1 | N | 85.4% | |
70B | 32 | 154.33 | 256 | 1 | Y | 100.0% |
64 | 149.60 | 256 | 1 | N | 96.9% | |
128 | 136.52 | 64 | 2 | N | 88.5% |
*За даного розміру моделі, довжини послідовності та кількості вузлів ми показуємо глобально оптимальну пропускну здатність і конфігурації після вивчення різних комбінацій sdp, tp і активаційного розвантаження.
У попередній таблиці наведено підсумкові показники оптимальної пропускної здатності залежно від ступеня паралельності сегментованих даних (sdp) (зазвичай із використанням гібридного сегментування FSDP замість повного шардингу, докладніше в наступному розділі), ступеня паралельності тензорів (tp) і змін значення розвантаження активації, демонструючи майже лінійне масштабування для SMP разом із SMDDP. Наприклад, враховуючи розмір моделі Llama 2 7B і довжину послідовності 4,096, загальна ефективність масштабування досягає 97.0%, 91.6% і 84.1% (відносно 16 вузлів) на 32, 64 і 128 вузлах відповідно. Ефективність масштабування є стабільною для різних розмірів моделі та дещо зростає, коли розмір моделі стає більшим.
SMP і SMDDP також демонструють подібну ефективність масштабування для інших довжин послідовності, таких як 2,048 і 8,192.
Продуктивність паралельної бібліотеки моделі SageMaker 2.0: Llama 2 70B
Розміри моделей продовжували зростати протягом останніх років, разом із частими найсучаснішими оновленнями продуктивності в спільноті LLM. У цьому розділі ми проілюструємо продуктивність у SageMaker для моделі Llama 2, використовуючи фіксований розмір моделі 70B, довжину послідовності 4,096 і глобальний розмір пакета 4 мільйони. Для порівняння з глобально оптимальною конфігурацією та пропускною спроможністю попередньої таблиці (з серверною частиною SMDDP, як правило, гібридним сегментуванням FSDP і TE), наступна таблиця поширюється на інші оптимальні пропускні можливості (можливо з тензорним паралелізмом) із додатковими специфікаціями на розподілену серверну (NCCL і SMDDP) , стратегії сегментування FSDP (повне сегментування та гібридне сегментування) і ввімкнення чи вимкнення TE (за замовчуванням).
Розмір моделі | Кількість вузлів | TFLOPS | Конфігурація TFLOPs #3 | Покращення TFLOP порівняно з базовим рівнем | ||||||||
. | . | Повне сегментування NCCL: №0 | Повне шардинг SMDDP: #1 | Гібридне сегментування SMDDP: №2 | Гібридне сегментування SMDDP з TE: №3 | sdp* | tp* | розвантажити* | №0 → №1 | №1 → №2 | №2 → №3 | №0 → №3 |
70B | 32 | 150.82 | 149.90 | 150.05 | 154.33 | 256 | 1 | Y | -0.6% | 0.1% | 2.9% | 2.3% |
64 | 144.38 | 144.38 | 145.42 | 149.60 | 256 | 1 | N | 0.0% | 0.7% | 2.9% | 3.6% | |
128 | 68.53 | 103.06 | 130.66 | 136.52 | 64 | 2 | N | 50.4% | 26.8% | 4.5% | 99.2% |
*За заданого розміру моделі, довжини послідовності та кількості вузлів ми показуємо глобально оптимальну пропускну здатність і конфігурацію після вивчення різних комбінацій sdp, tp і розвантаження активації.
Останній випуск SMP і SMDDP підтримує численні функції, включаючи власний PyTorch FSDP, розширене та більш гнучке гібридне сегментування, інтеграцію трансформаторного механізму, тензорний паралелізм і оптимізовану колективну роботу всіх зборів. Щоб краще зрозуміти, як SageMaker забезпечує ефективне розподілене навчання для магістрів права, ми досліджуємо додаткові внески від SMDDP і наступного SMP основні особливості:
- Покращення SMDDP порівняно з NCCL із повним сегментуванням FSDP
- Заміна повного сегментування FSDP на гібридне сегментування, що зменшує витрати на зв’язок і покращує пропускну здатність
- Подальше збільшення пропускної здатності за допомогою TE, навіть якщо тензорний паралелізм вимкнено
- За нижчих налаштувань ресурсу розвантаження активації може дозволити навчання, яке інакше було б неможливим або дуже повільним через високий тиск пам’яті
Повне сегментування FSDP: покращення SMDDP порівняно з NCCL
Як показано в попередній таблиці, коли моделі повністю сегментовані за допомогою FSDP, хоча пропускна здатність NCCL (TFLOPs #0) і SMDDP (TFLOPs #1) порівнянна на 32 або 64 вузлах, спостерігається величезне покращення на 50.4% від NCCL до SMDDP. на 128 вузлах.
При менших розмірах моделей ми спостерігаємо послідовні та значні покращення SMDDP порівняно з NCCL, починаючи з менших розмірів кластерів, оскільки SMDDP здатний ефективно пом’якшувати вузьке місце зв’язку.
Гібридне сегментування FSDP для зменшення витрат на зв’язок
У SMP 1.0 ми запустили паралелізм сегментованих даних, метод розподіленого навчання, розроблений власною компанією Amazon MiCS технології. У SMP 2.0 ми представляємо гібридне сегментування SMP, розширювану та більш гнучку техніку гібридного шардингу, яка дозволяє сегментувати моделі серед підмножини графічних процесорів замість усіх навчальних графічних процесорів, як це стосується повного шардингу FSDP. Це корисно для моделей середнього розміру, які не потребують шардингу по всьому кластеру, щоб задовольнити обмеження пам’яті на GPU. Це призводить до того, що кластери мають більше однієї репліки моделі, і кожен GPU спілкується з меншою кількістю однорангових пристроїв під час виконання.
Гібридне сегментування SMP забезпечує ефективне сегментування моделі в ширшому діапазоні, починаючи від найменшого рівня шардингу без проблем із нестачею пам’яті до всього розміру кластера (що дорівнює повному шардингу).
Наступний малюнок ілюструє залежність пропускної здатності від sdp при tp = 1 для простоти. Хоча це не обов’язково збігається з оптимальним значенням tp для повного сегментування NCCL або SMDDP у попередній таблиці, цифри досить близькі. Це чітко підтверджує цінність переходу від повного шардингу до гібридного шардингу при великому розмірі кластера у 128 вузлів, який застосовний як до NCCL, так і до SMDDP. Для менших розмірів моделей значні покращення за допомогою гібридного сегментування починаються з менших розмірів кластера, і різниця продовжує зростати разом із розміром кластера.
Покращення з TE
TE призначений для прискорення навчання LLM на графічних процесорах NVIDIA. Незважаючи на те, що FP8 не використовується, оскільки він не підтримується на екземплярах p4d, ми все одно бачимо значне прискорення за допомогою TE на p4d.
На додаток до MiCS, навченого за допомогою серверної частини SMDDP, TE запроваджує послідовне підвищення пропускної здатності для всіх розмірів кластерів (єдиним винятком є повне сегментування на 128 вузлах), навіть якщо паралелізм тензорів вимкнено (ступінь паралельності тензорів дорівнює 1).
Для менших розмірів моделей або різної довжини послідовності посилення TE є стабільним і нетривіальним у діапазоні приблизно 3–7.6%.
Розвантаження активації при низьких налаштуваннях ресурсу
За низьких параметрів ресурсу (враховуючи невелику кількість вузлів) FSDP може відчувати високу навантаження на пам’ять (або навіть не вистачати пам’яті в гіршому випадку), коли ввімкнено контрольну точку активації. Для таких сценаріїв, обмежених пам’яттю, увімкнення розвантаження активації є потенційним варіантом покращення продуктивності.
Наприклад, як ми бачили раніше, хоча Llama 2 із розміром моделі 13B і довжиною послідовності 4,096 може оптимально навчатися з принаймні 32 вузлами з контрольними точками активації та без розвантаження активації, він досягає найкращої пропускної здатності з розвантаженням активації, коли обмежено до 16 вузлів.
Увімкнути навчання з довгими послідовностями: SMP тензорний паралелізм
Більша довжина послідовності потрібна для довгих розмов і контексту, і вона привертає більше уваги в спільноті LLM. Таким чином, ми повідомляємо про різні довгі послідовності пропускної здатності в наступній таблиці. У таблиці показано оптимальну пропускну здатність для навчання Llama 2 на SageMaker із різною довжиною послідовності від 2,048 до 32,768. При довжині послідовності 32,768 32 власне навчання FSDP неможливо з 4 вузлами при глобальному розмірі пакета XNUMX мільйони.
. | . | . | TFLOPS | ||
Розмір моделі | Довжина послідовності | Кількість вузлів | Рідний FSDP і NCCL | SMP і SMDDP | Покращення SMP |
7B | 2048 | 32 | 129.25 | 138.17 | 6.9% |
4096 | 32 | 124.38 | 132.65 | 6.6% | |
8192 | 32 | 115.25 | 123.11 | 6.8% | |
16384 | 32 | 100.73 | 109.11 | 8.3% | |
32768 | 32 | Не доступно | 82.87 | . | |
13B | 2048 | 32 | 137.75 | 144.28 | 4.7% |
4096 | 32 | 133.30 | 139.46 | 4.6% | |
8192 | 32 | 125.04 | 130.08 | 4.0% | |
16384 | 32 | 111.58 | 117.01 | 4.9% | |
32768 | 32 | Не доступно | 92.38 | . | |
*: макс | . | . | . | . | 8.3% |
*: медіана | . | . | . | . | 5.8% |
Коли розмір кластера великий і враховується фіксований глобальний розмір пакету, деяке навчання моделі може бути неможливим за допомогою власного FSDP PyTorch, оскільки відсутній вбудований конвеєр або підтримка тензорного паралелізму. У попередній таблиці, враховуючи глобальний розмір пакета 4 мільйони, 32 вузли та довжину послідовності 32,768 0.5, ефективний розмір пакета на графічний процесор становить 2 (наприклад, tp = 1 із розміром пакета XNUMX), що інакше було б неможливо без введення тензорний паралелізм.
Висновок
У цьому дописі ми продемонстрували ефективне навчання LLM із SMP та SMDDP на екземплярах p4d, приписуючи внески багатьом ключовим функціям, таким як покращення SMDDP порівняно з NCCL, гнучке гібридне сегментування FSDP замість повного шардингу, інтеграція TE та увімкнення тензорного паралелізму на користь великі довжини послідовності. Після тестування в широкому діапазоні налаштувань із різними моделями, розмірами моделей і довжиною послідовності він демонструє надійну майже лінійну ефективність масштабування, до 128 екземплярів p4d на SageMaker. Таким чином, SageMaker продовжує залишатися потужним інструментом для дослідників і практиків LLM.
Щоб дізнатися більше, див Бібліотека паралелізму моделі SageMaker v2або зв’яжіться з командою SMP за адресою sm-model-parallel-feedback@amazon.com.
Подяки
Ми хотіли б подякувати Роберту Ван Дусену, Бену Снайдеру, Гаутаму Кумару та Луїсу Квінтелі за їхні конструктивні відгуки та обговорення.
Про авторів
Сіньле Шейла Лю є SDE в Amazon SageMaker. У вільний час вона захоплюється читанням і спортом на природі.
Сухіт Кодгуле є інженером із розробки програмного забезпечення в групі штучного інтелекту AWS, яка працює над фреймворками глибокого навчання. У вільний час захоплюється пішим туризмом, подорожами та кулінарією.
Віктор Жу є інженером-програмістом із розподіленого глибокого навчання в Amazon Web Services. Його можна знайти в піших прогулянках і настільних іграх у районі затоки Сан-Франциско.
Деря Цавдар працює інженером-програмістом в AWS. Її інтереси включають глибоке навчання та оптимізацію розподіленого навчання.
Тен Сюй є інженером із розробки програмного забезпечення в групі розподіленого навчання в AWS AI. Він любить читати.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/distributed-training-and-efficient-scaling-with-the-amazon-sagemaker-model-parallel-and-data-parallel-libraries/
- : має
- :є
- : ні
- $UP
- 1
- 120
- 16
- 160
- 2022
- 2023
- 32
- 3d
- 455
- 50
- 7
- 8
- 84
- 91
- 97
- a
- Здатний
- МЕНЮ
- прискорювати
- прискорюється
- прискорювач
- Досягає
- через
- Активація
- адреса
- після
- AI
- ВСІ
- дозволяє
- по
- пліч-о-пліч
- Також
- хоча
- Amazon
- Amazon SageMaker
- Amazon Web Services
- серед
- an
- Аналізуючи
- та
- оголошений
- Інший
- Інтерфейси
- застосовно
- приблизно
- ЕСТЬ
- ПЛОЩА
- навколо
- штучний
- штучний інтелект
- AS
- At
- увагу
- AWS
- Backend
- затока
- BE
- оскільки
- було
- буття
- Бен
- тести
- Переваги
- КРАЩЕ
- Краще
- мільярди
- рада
- Настільні ігри
- підвищення
- обидва
- вузьке місце
- вбудований
- by
- CAN
- випадок
- виклик
- проблеми
- Зміни
- ChatGPT
- очевидно
- близько
- кластер
- Collective
- COM
- комбінації
- спілкування
- Комунікація
- співтовариство
- порівнянний
- порівняти
- сумісний
- конфігурація
- послідовний
- обмеження
- конструктивний
- контакт
- контекст
- продовжувати
- триває
- триває
- внески
- розмови
- Коштувати
- вирішальне значення
- Клієнти
- дані
- Грудень
- глибокий
- глибоке навчання
- дефолт
- Ступінь
- демонструвати
- продемонстрований
- демонстрація
- демонстрація
- залежність
- призначений
- бажаний
- Незважаючи на
- деталі
- розробка
- пристрій
- різниця
- різний
- інвалід
- обговорення
- поширювати
- розподілений
- розподілене навчання
- Не знаю
- два
- кожен
- Ефективний
- фактично
- Ефективність
- ефективність
- ефективний
- продуктивно
- включіть
- включений
- дозволяє
- дозволяє
- кінець
- двигун
- інженер
- Посилення
- насолоджуючись
- Весь
- однаково
- прирівнює
- особливо
- Навіть
- приклад
- виняток
- експонати
- досвід
- експерт
- дослідити
- Дослідження
- розширений
- продовжується
- додатково
- знайомий
- на користь
- особливість
- риси
- зворотний зв'язок
- менше
- поле
- Рисунок
- Перший
- перший раз
- відповідати
- фіксованою
- гнучкий
- потім
- після
- для
- знайдений
- каркаси
- частий
- від
- Повний
- повністю
- далі
- Games
- збирати
- отримує
- отримання
- даний
- Глобальний
- Глобально
- GPU
- Графічні процесори
- Group
- Рости
- Мати
- має
- he
- її
- тут
- Високий
- його
- Як
- HTML
- HTTPS
- величезний
- Сотні
- гібрид
- ілюструвати
- ілюструє
- важливо
- удосконалювати
- поліпшення
- поліпшення
- in
- включати
- У тому числі
- Augmenter
- зростаючий
- зростаючий
- замість
- інтегрований
- інтеграція
- Інтелект
- інтереси
- інтерфейс
- в
- вводити
- введені
- Вводить
- введення
- питання
- IT
- JPG
- тримає
- ключ
- Кумар
- не вистачає
- мова
- великий
- більше
- останній
- останній випуск
- запущений
- Веде за собою
- УЧИТЬСЯ
- вивчення
- найменш
- довжина
- libraries
- бібліотека
- як
- недоліки
- обмеженою
- Лама
- LLM
- Довго
- низький
- знизити
- пам'ять
- може бути
- мільйона
- Пом'якшити
- змішаний
- ML
- модель
- Моделі
- більше
- множинний
- повинен
- рідний
- обов'язково
- Необхідність
- наступний
- немає
- вузол
- вузли
- зараз
- номер
- номера
- Nvidia
- спостерігати
- of
- часто
- on
- ONE
- тільки
- відкрити
- з відкритим вихідним кодом
- операція
- оптимальний
- оптимізація
- оптимізований
- варіант
- or
- порядок
- Інше
- інакше
- наші
- з
- над
- загальний
- накладні витрати
- Паралельні
- параметри
- Минуле
- одноліткам
- для
- продуктивність
- трубопровід
- plato
- Інформація про дані Платона
- PlatoData
- пошта
- потенційно
- Харчування
- потужний
- попередній
- Точність
- консервування
- тиск
- попередній
- раніше
- Проблема
- прогрес
- піторх
- досить
- діапазон
- читання
- зменшити
- знижує
- послатися
- відносний
- звільнити
- залишається
- відповідь
- звітом
- Дослідники
- ресурс
- відповідно
- РОБЕРТ
- міцний
- час виконання
- мудрець
- то ж
- задовольнити
- бачив
- шкала
- Масштабування
- сценарії
- SDP
- другий
- розділ
- побачити
- Послідовність
- Послуги
- налаштування
- загострений
- заточування
- вона
- Показувати
- показаний
- Шоу
- значний
- аналогічний
- простота
- один
- Розмір
- розміри
- сповільнювати
- невеликий
- менше
- Софтвер
- розробка програмного забезпечення
- Інженер-програміст
- деякі
- Source
- специфікації
- SPORTS
- стабільний
- старт
- Починаючи
- впроваджений
- Як і раніше
- стратегії
- тема
- такі
- РЕЗЮМЕ
- підтримка
- Опори
- система
- таблиця
- команда
- техніка
- методи
- Технологія
- перевірений
- ніж
- дякувати
- Що
- Команда
- їх
- Там.
- отже
- вони
- це
- тисячі
- через
- пропускна здатність
- час
- до
- разом
- інструмент
- топ
- Усього:
- tp
- поїзд
- навчений
- Навчання
- трансформатор
- Подорож
- величезний
- трильйони
- Поворот
- типово
- розуміти
- розблокування
- Оновити
- Updates
- використання
- корисний
- використання
- значення
- фургон
- різний
- різний
- дуже
- we
- Web
- веб-сервіси
- коли
- який
- всі
- широкий
- Широкий діапазон
- ширше
- з
- без
- робочий
- працює
- найгірше
- б
- X
- років
- Ти
- зефірнет