El paralelismo de canalización divide un modelo «verticalmente» en capas. También es posible dividir determinadas operaciones “horizontalmente” dentro de un nivel, comúnmente denominado “plano”. Tensor paralelo Educación. En muchos modelos modernos (por ejemplo, el Transformer), el cuello de botella computacional es multiplicar una matriz de lote de activación por una matriz de peso grande. La multiplicación de matrices puede considerarse como un producto escalar 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. Usando cualquiera de las estrategias, podemos dividir la matriz de peso en “fragmentos” de tamaño uniforme, alojar cada fragmento en una GPU diferente y usar ese fragmento para calcular la porción relevante de todo el producto de la matriz antes de comunicarnos más tarde para combinar los resultados.
Un ejemplo es Megatron-LM, que paraleliza las multiplicaciones de matrices dentro de las capas de autoatención y MLP del transformador. PTD-P utiliza paralelismo de tensor, datos y canalización; Su plan de canalización asigna múltiples capas no consecutivas a cada dispositivo, lo que reduce la sobrecarga de la burbuja a expensas 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 comparación con la comunicación cruzada. El paralelismo de secuencia es una de esas ideas en las que una secuencia de entrada se divide en múltiples subejemplos a lo largo del tiempo, lo que reduce proporcionalmente el consumo máximo de memoria al permitir que el cálculo continúe con ejemplos de tamaño más detallado.