Параллелизм модели и конвейера
Когда модель слишком велика для размещения на одном графическом процессоре, параллелизм модели и конвейера разделяет саму модель на несколько устройств.
Обзор
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 графическими процессорами и конвейерного параллелизма, охватывающего несколько серверов, для обучения модели, слишком большой для одной машины.
Риски и ограничения
Оптимизация одного теста может скрыть более широкие недостатки системы.
Затраты на инфраструктуру и техническое обслуживание часто недооцениваются.
Пробелы в безопасности и наблюдаемости могут увеличиваться по мере усложнения систем.
Дорожная карта реализации
Определите целевые показатели задержки, качества и стоимости перед внедрением.
Тестирование при реалистичной нагрузке и условиях данных.
Мониторинг прибора на наличие ошибок, дрейфа и влияния пользователя.
Перед масштабированием подготовьте пути отката и реагирования на инциденты.
Продолжайте исследовать
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.