Техническое РУКОВОДСТВО

Параллелизм модели и конвейера

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

2 минуты чтенияПоследнее обновление

Обзор

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

Глубокое погружение

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

Техническая информация

Тензорный параллелизм (как в NVIDIA Megatron-LM) разбивает весовые матрицы по столбцам или строкам и использует all-reduce для рекомбинации частичных результатов, сохраняя связь внутри быстрого узла NVLink. Конвейерный параллелизм (GPipe, PipeDream) делит пакет на микропакеты, которые проходят этапы в шахматном порядке, сокращая время простоя. Эти два процесса часто объединяются вместе: тензорный параллелизм внутри узла и конвейерный параллелизм между узлами.

Стратегическое воздействие

Стоимость и бюджет

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

Более четкие решения

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

Контроль качества

Лучший инженерный выбор снижает вероятность возникновения проблем с надежностью на производстве.

Будущее параллелизма моделей и конвейеров

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

Реальная реализация

Обучение моделей в стиле GPT с помощью NVIDIA Megatron-LM, которая распределяет внимание каждого слоя преобразователя и матрицы прямой связи между графическими процессорами посредством тензорного параллелизма.

Использование GPipe для размещения разных слоев гигантского видения или языковой модели на отдельных ускорителях, в то время как микропакетная обработка занимает их.

Механизм конвейера DeepSpeed ​​разделяет модель с несколькими сотнями миллиардов параметров на этапы по множеству узлов.

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

Риски и ограничения

Оптимизация одного теста может скрыть более широкие недостатки системы.

Затраты на инфраструктуру и техническое обслуживание часто недооцениваются.

Пробелы в безопасности и наблюдаемости могут увеличиваться по мере усложнения систем.

Дорожная карта реализации

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?

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

Какую фундаментальную проблему решает параллелизм моделей и конвейеров?

Параллелизм модели и конвейера разделяет саму модель на различные устройства, позволяя обучать сети, гораздо большие, чем может вместить один графический процессор.

Как работает разделение тензорного (внутриуровневого) параллелизма?

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

Что такое «пузырь» в наивном конвейерном параллелизме?

На ранних этапах конвейера последующие этапы еще не получают входных данных и простаивают, тратя время графического процессора; этот праздный разрыв называется пузырем.

Как параллелизм конвейеров уменьшает пузырь?

Разделение пакета на микропакеты позволяет нескольким микропакетам одновременно выполнять разные этапы, сохраняя занятость всех графических процессоров и сокращая время простоя.

Почему тензорный параллелизм обычно сохраняется в пределах одного узла?

Тензорный параллелизм часто взаимодействует для рекомбинации результатов частичной матрицы, поэтому он размещается там, где пропускная способность соединения самая высокая, внутри узла через NVLink.