alterna ai
ALTERNA AI / ГЛАВА 19 · 04

19.4 Этапы вычисления на разных устройствах

На предыдущей странице: одна таблица разделена на части.

Первый этап передаёт результат следующему. При заполнении и освобождении цепи некоторые устройства временно ждут.

Можно делить данные, таблицы или этапы. Частичные результаты надо соединять. Разные modality сначала превращаются в вектора подходящей ширины, а эксперты выбираются по ограниченному маршруту.

Layers становятся стадиями, batch — потоком micro-batches

Pipeline parallel размещает последовательные группы layers на разных devices. Micro-batches проходят stages как детали конвейера. Пока pipeline заполняется и опустошается, часть stages простаивает — возникает bubble. GPipe использует micro-batching и activation checkpointing для обучения больших моделей. F17.

Для упрощённого forward-only расписания с p равными stages и m micro-batches требуется m+p-1 ticks, а доля занятости одной стадии:

U=mm+p−1.U=\frac{m}{m+p-1}.

Увеличение m уменьшает относительный bubble, но хранит больше in-flight activations и может изменить batch semantics. Реальные training schedules добавляют backward и разные варианты 1F1B/interleaving.

Что показывает модель. Gantt view показывает diagonal wave, пустые bubble cells и передачи activations. Баланс стадий важнее одинакового числа layers: разные layers могут иметь разную стоимость. Slowest stage определяет steady-state cadence.

Граница применимости. Формула не включает backward, recomputation, network overlap и imbalance. Pipeline увеличивает latency отдельного micro-batch и усложняет fault recovery. Activation transfer может стать bottleneck даже при равных compute times.

stages_19d,microbatches_19d=3,4
ticks_19d=microbatches_19d+stages_19d-1
utilization_19d=microbatches_19d/ticks_19d
assert ticks_19d==6 and abs(utilization_19d-2/3)<1e-12

Код повторяет только что разобранные операции. Полный проверяемыйPython-пример главы доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.

Microbatches не могут одновременно появиться во всех stages.

Разные нейронные участки для разных токенов. Как этот вопрос продолжает полученный результат?

Python-примеры главы 19 Академическая база →