Paralelismo de secuencia
Dividir las activaciones a lo largo de la dimensión de secuencia entre varios dispositivos, para alcanzar la memoria que el paralelismo de tensores no logra repartir.
El paralelismo de tensores divide las multiplicaciones de matrices pero deja sin dividir la normalización de capa y el dropout, ya que operan por token y no contienen pesos grandes. La consecuencia es que cada dispositivo guarda una copia completa de las activaciones alrededor de esas operaciones, y para secuencias largas es esa partida la que desborda la memoria. La solución de Megatron-LM es dividir precisamente esas regiones a lo largo de la secuencia, y coserlo con las regiones paralelas por tensores mediante un all-gather a la entrada y un reduce-scatter a la salida — el mismo volumen total de comunicación que el all-reduce que ya se hacía de todos modos, razón por la cual la técnica sale prácticamente gratis. El término se usa también, por desgracia, para dividir el propio cálculo de atención a lo largo de la secuencia, un problema distinto y más difícil que hoy suele llamarse paralelismo de contexto.