Технічний КЕРІВНИЦТВО

Паралелізм моделі та конвеєра

Коли модель занадто велика, щоб поміститися на один графічний процесор, паралелізм моделі та конвеєра розділяє саму модель між пристроями.

2 хвилини читанняОстаннє оновлення

Огляд

This is what makes training giant language models with hundreds of billions of parameters physically possible.

Глибоке занурення

Паралелізм моделей розділяє одну модель на кілька графічних процесорів, тому жодному пристрою не потрібно тримати всі ваги. Існує два основних смаки. Тензорний (внутрішньошаровий) паралелізм розділяє математику всередині шару, наприклад розрізаючи множення великої матриці між GPU, кожен з яких обчислює частину результату. Конвеєрний (міжрівневий) паралелізм призначає різні послідовні рівні різним графічним процесорам, тому блок шару 1 живе на графічному процесорі 0, блок 2 — на графічному процесорі 1 і так далі, а активації передаються вперед, як конвеєр. Проблема з простою конвеєрністю полягає в «міхурі»: поки GPU 0 працює над першою партією, наступні графічні процесори простоюють. Конвеєрна розробка розбиває кожну партію на мікропартії, щоб усі етапи залишалися зайнятими, значно покращуючи використання.

Технічне розуміння

Тензорний паралелізм (як у NVIDIA Megatron-LM) розділяє вагові матриці по стовпцях або рядках і використовує all-reduce для рекомбінації часткових результатів, зберігаючи зв’язок у швидкому вузлі NVLink. Конвеєрний паралелізм (GPipe, PipeDream) поділяє пакет на мікро-пакети, які проходять етапи в шаховому графіку, скорочуючи час простою. Обидва вони часто розшаровуються разом, із тензорним паралелізмом у вузлі та конвеєрним паралелізмом між вузлами.

Стратегічний вплив

Вартість і бюджет

Архітектурні рішення збільшують продуктивність і експлуатаційні витрати протягом багатьох років.

Чіткіші рішення

Технічна освіта допомагає командам вибрати правильний стек, а не лише найновіший.

Контроль якості

Кращий інженерний вибір зменшує проблеми з надійністю у виробництві.

Майбутнє паралелізму моделей і конвеєрів

Фреймворки дедалі більше автоматизують складну проблему вирішення питання про те, як розділити модель між пристроями, використовуючи профілювання та пошук, щоб збалансувати обчислення та зв’язок. Очікуйте тіснішої інтеграції тензорів, конвеєрів і паралелізму даних (3D-паралелізм), розумнішого планування мікро-пакетів, щоб майже усунути конвеєрні бульбашки, і апаратного забезпечення з швидшими з’єднаннями, щоб розділення одного рівня між мікросхемами ставало дешевшим і рутинним для все більших моделей.

Реалізація в реальному світі

Навчання моделей у стилі GPT за допомогою NVIDIA Megatron-LM, яка розподіляє увагу кожного шару трансформатора та матриці прямого зв’язку між графічним процесором за допомогою тензорного паралелізму.

Використання GPipe для розміщення різних шарів гігантського бачення або мовної моделі на окремих прискорювачах, а мікропакетування тримає їх зайнятими.

Механізм конвеєра DeepSpeed ​​розбиває модель із кількома сотнями мільярдів параметрів на етапи між багатьма вузлами.

Поєднання тензорного паралелізму всередині одного сервера з 8 GPU з конвеєрним паралелізмом, що охоплює кілька серверів, щоб навчити модель, занадто велику для однієї машини.

Ризики та огорожі

Оптимізація одного тесту може приховати ширші слабкі сторони системи.

Витрати на інфраструктуру та обслуговування часто недооцінюються.

Прогалини в безпеці та спостережуваності можуть зростати в міру ускладнення систем.

Дорожня карта впровадження

1

Визначте цільові показники затримки, якості та вартості перед впровадженням.

2

Тест за реалістичних умов навантаження та даних.

3

Моніторинг інструментів на наявність помилок, дрейфу та впливу користувача.

4

Перед масштабуванням підготуйте шляхи відкату та реагування на інциденти.

Продовжуйте досліджувати

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Model and Pipeline Parallelism quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Розпочати вікторину

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Наступний посібник

Тензорний паралелізм для великих моделей

Часті запитання

What is Model and Pipeline Parallelism?

Коли модель занадто велика, щоб поміститися на один графічний процесор, паралелізм моделі та конвеєра розділяє саму модель між пристроями. Саме це робить фізично можливим навчання гігантських мовних моделей із сотнями мільярдів параметрів.

Яку фундаментальну проблему вирішує паралелізм моделі та конвеєра?

Паралелізм моделі та конвеєра розподіляє саму модель між пристроями, уможливлюючи навчання мереж, набагато більших, ніж будь-який окремий GPU.

Як працює тензорний (внутрішньошаровий) паралелізм?

Тензорний паралелізм розділяє обчислення в межах одного шару, наприклад розділяючи велику вагову матрицю, щоб кожен графічний процесор обчислював частину результату.

Що таке «бульбашка» в наївному паралелізмі конвеєрів?

На початку етапу конвеєра наступні етапи ще не мають вхідних даних і простоюють, витрачаючи час GPU; цей непрацюючий зазор називається бульбашкою.

Як паралельність трубопроводу зменшує бульбашку?

Поділ пакету на мікропакети дозволяє кільком мікропакетам одночасно займати різні етапи, забезпечуючи зайнятість усіх графічних процесорів і скорочуючи час простою.

Чому паралелізм тензорів зазвичай зберігається в межах одного вузла?

Тензорний паралелізм часто спілкується, щоб рекомбінувати результати часткової матриці, тому він розміщується там, де пропускна здатність міжз’єднання найвища, всередині вузла через NVLink.