Параллелизм LLM: чем отличаются TP, PP, DP и EP?
Автоматический перевод
Эта статья была автоматически переведена с оригинальной английской версии.
Тензорный параллелизм разделяет операции над весами. Пайплайн-параллелизм разделяет слои. Параллелизм данных при сервинге запускает независимые реплики модели. Экспертный параллелизм распределяет экспертов модели типа mixture-of-experts. Выбирайте по тому, где модель помещается в памяти, по нагрузке и по связям между GPUs.
Это четыре распространённых подхода. Крупные деплои могут сочетать их, а обучение с длинным контекстом также может использовать параллелизм последовательностей или контекста.
Что хранит каждая GPU?
| Подход | Размещение модели | Какой обмен нужно учитывать |
|---|---|---|
| Тензорный параллелизм, TP | Части матриц весов | Частые коллективные операции во время выполнения модели |
| Пайплайн-параллелизм, PP | Группы последовательных слоёв | Передача активаций между стадиями |
| Параллелизм данных, DP | Полные реплики для сервинга | Без вычислений модели между репликами для независимых запросов |
| Экспертный параллелизм, EP | Разные эксперты MoE | Роутинг токенов к экспертам, часто через обмен all-to-all |
DP при обучении отличается от реплик для сервинга: обучение объединяет градиенты, а ZeRO или FSDP могут разделять состояние обучения. Системы MoE также могут координировать общие компоненты, даже если часть работы выполняется с параллелизмом данных.
Отчёт Llama 3 описывает сочетание видов параллелизма при обучении больших моделей и инференс с пайплайн-параллелизмом. Описанный деплой показывает, почему размещение модели и топологию нужно рассматривать вместе; он не задаёт универсальную конфигурацию.
Выберите наименьшую группу, которая справляется с нагрузкой
Если модель для сервинга помещается на одной GPU с достаточной ёмкостью KV cache, начните с тестирования независимых реплик. Они могут увеличить общий throughput без добавления коллективных операций к каждому запросу.
Если модели нужно несколько GPUs, протестируйте TP внутри одного узла с быстрыми связями между GPU. Разбиение на большее число частей может уменьшить расход памяти на GPU, но добавляет обмен данными. Если модель занимает несколько узлов, сравните PP и сочетания TP и PP; разное время выполнения стадий и периоды простоя пайплайна могут снизить использование ресурсов.
Для модели MoE измерьте размещение экспертов, равномерность распределения токенов и трафик межсоединений, прежде чем добавлять EP. Доступная память для экспертов — лишь одна часть решения.
При сравнении сохраняйте одинаковые промпты, длины ответов, точность и пороги латентности. Указывайте throughput для всей группы сервинга; деление на число GPU не позволяет предсказать, как будет масштабироваться другая топология.
Раздел о параллелизме в LLM Engineering Guide показывает четыре варианта размещения.