Тензорный параллелизм
Разбиение отдельных матриц весов между несколькими GPU, так что каждая карта считает часть одного и того же слоя. Необходим, когда модель просто не помещается в память одной карты.
Каждое матричное умножение делится по столбцам или строкам, карты считают параллельно, а результаты объединяются операцией all-reduce. Это происходит несколько раз на каждый слой, поэтому метод крайне чувствителен к задержке связи — его используют почти исключительно внутри одного сервера, по NVLink, и редко между узлами. Альтернативы дают другой компромисс: конвейерный параллелизм размещает разные слои на разных картах и обменивается данными только на границах, но страдает от «пузырей», пока карты ждут друг друга, а параллелизм по данным копирует всю модель на каждую карту и делит батч. Крупные прогоны обучения сочетают все три. Технику популяризировал Megatron-LM.