ДаліНаступний посібник
Тензорний паралелізм для великих моделей
технічний
Технічний КЕРІВНИЦТВО
Коли модель занадто велика, щоб поміститися на один графічний процесор, паралелізм моделі та конвеєра розділяє саму модель між пристроями.
Послухайте цей посібникШІ-розказаний · ~2 min
This is what makes training giant language models with hundreds of billions of parameters physically possible.
Паралелізм моделей розділяє одну модель на кілька графічних процесорів, тому жодному пристрою не потрібно тримати всі ваги. Існує два основних смаки. Тензорний (внутрішньошаровий) паралелізм розділяє математику всередині шару, наприклад розрізаючи множення великої матриці між GPU, кожен з яких обчислює частину результату. Конвеєрний (міжрівневий) паралелізм призначає різні послідовні рівні різним графічним процесорам, тому блок шару 1 живе на графічному процесорі 0, блок 2 — на графічному процесорі 1 і так далі, а активації передаються вперед, як конвеєр. Проблема з простою конвеєрністю полягає в «міхурі»: поки GPU 0 працює над першою партією, наступні графічні процесори простоюють. Конвеєрна розробка розбиває кожну партію на мікропартії, щоб усі етапи залишалися зайнятими, значно покращуючи використання.
Навчання моделей у стилі GPT за допомогою NVIDIA Megatron-LM, яка розподіляє увагу кожного шару трансформатора та матриці прямого зв’язку між графічним процесором за допомогою тензорного паралелізму.
Використання GPipe для розміщення різних шарів гігантського бачення або мовної моделі на окремих прискорювачах, а мікропакетування тримає їх зайнятими.
Механізм конвеєра DeepSpeed розбиває модель із кількома сотнями мільярдів параметрів на етапи між багатьма вузлами.
Поєднання тензорного паралелізму всередині одного сервера з 8 GPU з конвеєрним паралелізмом, що охоплює кілька серверів, щоб навчити модель, занадто велику для однієї машини.
Фреймворки дедалі більше автоматизують складну проблему вирішення питання про те, як розділити модель між пристроями, використовуючи профілювання та пошук, щоб збалансувати обчислення та зв’язок. Очікуйте тіснішої інтеграції тензорів, конвеєрів і паралелізму даних (3D-паралелізм), розумнішого планування мікро-пакетів, щоб майже усунути конвеєрні бульбашки, і апаратного забезпечення з швидшими з’єднаннями, щоб розділення одного рівня між мікросхемами ставало дешевшим і рутинним для все більших моделей.
Безплатний розсилок
Три перевірені історії про ШІ щоробочого ранку, написані простою мовою. Безплатно назавжди, без реклами.
Один лист щотижня з понеділка по п'ятницю. Відписатися в один клік. Ми ніколи не продаємо та не передаємо вашу адресу.
Перевір себе
Миттєва зворотна связь на кожну відповідь та сертифікат із перевіреним ідентифікатором, яким можна поділитися, після проходження курсу.
Підтримайте безплатну освіту у сфері ШІ. AI Understanding — це некомерційна організація 501(c)(3) — без реклами, без платних стін, назавжди. Зробіть пожертву
Коли модель занадто велика, щоб поміститися на один графічний процесор, паралелізм моделі та конвеєра розділяє саму модель між пристроями. Саме це робить фізично можливим навчання гігантських мовних моделей із сотнями мільярдів параметрів.
Паралелізм моделі та конвеєра розподіляє саму модель між пристроями, уможливлюючи навчання мереж, набагато більших, ніж будь-який окремий GPU.
Тензорний паралелізм розділяє обчислення в межах одного шару, наприклад розділяючи велику вагову матрицю, щоб кожен графічний процесор обчислював частину результату.
На початку етапу конвеєра наступні етапи ще не мають вхідних даних і простоюють, витрачаючи час GPU; цей непрацюючий зазор називається бульбашкою.
Поділ пакету на мікропакети дозволяє кільком мікропакетам одночасно займати різні етапи, забезпечуючи зайнятість усіх графічних процесорів і скорочуючи час простою.
Тензорний паралелізм часто спілкується, щоб рекомбінувати результати часткової матриці, тому він розміщується там, де пропускна здатність міжз’єднання найвища, всередині вузла через NVLink.
Продовжуйте вчитися
Інші посібники, вибрані для цієї теми
ДаліНаступний посібник
Тензорний паралелізм для великих моделей
технічний