El paralelismo de canalización divide un modelo “verticalmente” por capas. También es posible dividir “horizontalmente” ciertas operaciones dentro de una capa, lo que generalmente se denomina tensorial paralelo capacitación. Para muchos modelos modernos (como el Transformador), el cuello de botella en el cálculo es multiplicar una matriz de lotes de activación con una matriz de peso grande. Multiplicación de matrices pueden considerarse como productos escalares entre pares de filas y columnas; es posible calcular productos escalares independientes en diferentes GPU, o calcular partes de cada producto escalar en diferentes GPU y resumir los resultados. Con cualquiera de las estrategias, podemos dividir la matriz de peso en “fragmentos” del mismo tamaño, alojar cada fragmento en una GPU diferente y utilizar ese fragmento para calcular la parte relevante del producto de la matriz general antes de comunicarnos más tarde para combinar los resultados.
Un ejemplo es Megatrón-LMque paraleliza las multiplicaciones de matrices dentro de las capas de autoatención y MLP del Transformer. PTD-P utiliza tensor, datos y paralelismo de canalización; su cronograma de canalización asigna múltiples capas no consecutivas a cada dispositivo, lo que reduce la sobrecarga de la burbuja a costa de una mayor comunicación de red.
A veces, la entrada a la red se puede paralelizar en una dimensión con un alto grado de cálculo paralelo en relación con la comunicación cruzada. Paralelismo de secuencia es una de esas ideas, donde una secuencia de entrada se divide a lo largo del tiempo en múltiples subejemplos, lo que disminuye proporcionalmente el consumo máximo de memoria al permitir que el cálculo continúe con ejemplos de tamaño más granular.