Параллелизм 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 показывает четыре варианта размещения.