Tensor parallelism
Важность этого термина сложно переоценить. Современные языковые модели содержат сотни миллиардов параметров, и они физически не помещаются в память одного чипа. Без тензорного параллелизма обучение таких моделей было бы невозможным — пришлось бы либо уменьшать модель, теряя качество, либо ждать результаты бесконечно долго.
Как это работает на практике? Представьте, что нейросеть выполняет умножение огромной матрицы весов на вектор активаций. Матрицу нарезают на горизонтальные полосы, каждый процессор получает свою полосу и считает свой кусочек результата, после чего части склеиваются в единый вектор. Это напоминает строительную бригаду, в которой каждый рабочий возводит свой участок стены, а потом стена собирается целиком.
Вот конкретный пример. Допустим, в модели генерации текста есть слой с матрицей весов размером 4096 на 4096. При использовании четырех графических процессоров матрица разделяется на четыре части по строкам, каждый GPU обрабатывает свою четверть входных данных параллельно. Время вычисления сокращается примерно вчетверо, а качество ответов остаётся прежним.
Вывод: тензорный параллелизм — один из важнейших приёмов современного ИИ. Он позволяет одной модели использовать множество графических ускорителей как единый мощный суперкомпьютер, не меняя математику самой нейросети. Без него невозможны ни нынешние гигантские модели, ни их будущее масштабирование.
Поделиться