Inference

pipeline parallelism

Распределение слоёв модели по разным GPU для обработки разных микробатчей одновременно.

Что такое pipeline parallelism

Pipeline parallelism (PP) — стратегия распределённых вычислений, при которой разные слои модели размещаются на разных GPU. GPU 0 хранит первые N слоёв, GPU 1 — следующие N, и так далее. Данные «текут» по конвейеру от GPU к GPU.

Чтобы скрыть простои (bubble) конвейера, входной батч делится на микробатчи: пока GPU 1 обрабатывает первый микробатч, GPU 0 уже берёт второй. Это позволяет нескольким GPU работать одновременно, несмотря на последовательную природу прямого прохода.

Pipeline vs Tensor parallelism

Pipeline Parallelism Tensor Parallelism
Что делится Слои между GPU Веса внутри слоя
Коммуникация Редкая (между стадиями) Частая (каждый слой)
Требование к сети Умеренное (PCIe достаточно) Высокое (NVLink)
Латентность Выше (pipeline bubble) Ниже
Применение Обучение (DeepSpeed) Инференс (vLLM)

PP чаще применяется при обучении больших моделей в комбинации с tensor parallelism и data parallelism (3D parallelism). При инференсе предпочтительнее tensor parallelism из-за меньшей задержки.

Комбинация стратегий

Для модели 175B (GPT-3 класса) при обучении:

  • 8 GPU × TP=8 (внутри узла через NVLink)
  • 16 узлов × PP=16 (между узлами через InfiniBand)
  • Итого: 128 GPU

Связанные термины

  • tensor parallelism — комплементарная стратегия
  • DeepSpeed — библиотека, поддерживающая PP при обучении
  • FSDP — альтернативная стратегия шардирования
  • NVLink — необходима для эффективного tensor parallelism

Готовы запустить GPU-задачу?

Запустить GPU-сервер