A continuaciónSiguiente guía
Paralelismo tensorial para modelos grandes
Técnico
GUÍA Técnica
Cuando un modelo es demasiado grande para caber en una GPU, el paralelismo del modelo y de la canalización divide el modelo en sí entre dispositivos.
Esto es lo que hace posible físicamente entrenar gigantes modelos de lenguaje con cientos de miles de millones de parámetros.
El paralelismo de modelos divide un único modelo en varias GPU, de modo que ningún dispositivo necesita soportar todos los pesos. Hay dos sabores principales. El paralelismo tensorial (intracapa) divide las matemáticas dentro de una capa, como cortar una multiplicación de matriz grande entre GPU, cada una de las cuales calcula parte de la salida. El paralelismo de canalización (entre capas) asigna diferentes capas consecutivas a diferentes GPU, por lo que el bloque de capa 1 vive en la GPU 0, el bloque 2 en la GPU 1, y así sucesivamente, con activaciones que pasan hacia adelante como una línea de ensamblaje. El desafío con la canalización ingenua es la "burbuja": mientras la GPU 0 funciona en el primer lote, las GPU posteriores permanecen inactivas. La canalización divide cada lote en microlotes para que todas las etapas permanezcan ocupadas, lo que mejora drásticamente la utilización.
Las decisiones de arquitectura impulsan el rendimiento y los costos operativos durante años.
La educación técnica ayuda a los equipos a elegir la pila adecuada, no sólo la más nueva.
Mejores opciones de ingeniería reducen los incidentes de confiabilidad en la producción.
Los marcos automatizan cada vez más el difícil problema de decidir cómo dividir un modelo entre dispositivos, utilizando perfiles y búsqueda para equilibrar la computación y la comunicación. Espere una integración más estrecha del paralelismo de tensores, tuberías y datos (paralelismo 3D), una programación de microlotes más inteligente para casi eliminar las burbujas de tuberías y hardware con interconexiones más rápidas para que dividir una sola capa entre chips sea más barato y más rutinario para modelos cada vez más grandes.
Entrenamiento de modelos estilo GPT con NVIDIA Megatron-LM, que divide la atención de cada capa de transformador y las matrices de retroalimentación entre GPU mediante paralelismo tensorial.
Usar GPipe para colocar diferentes capas de un modelo de lenguaje o visión gigante en aceleradores separados mientras los micro lotes los mantienen ocupados.
El motor de canalización de DeepSpeed divide un modelo de cientos de miles de millones de parámetros en etapas en muchos nodos.
Combinando paralelismo tensorial dentro de un único servidor de 8 GPU con paralelismo de canalización que abarca varios servidores para entrenar un modelo demasiado grande para una sola máquina.
La optimización de un punto de referencia puede ocultar debilidades más amplias del sistema.
Los costos de infraestructura y mantenimiento a menudo se subestiman.
Las brechas de seguridad y observabilidad pueden crecer a medida que los sistemas se vuelven más complejos.
Defina objetivos de latencia, calidad y costos antes de la implementación.
Comparación en condiciones realistas de carga y datos.
Monitoreo de instrumentos para detectar errores, deriva e impacto para el usuario.
Prepare rutas de reversión y respuesta a incidentes antes de escalar.
Free newsletter
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Cuando un modelo es demasiado grande para caber en una GPU, el paralelismo del modelo y de la canalización divide el modelo en sí entre dispositivos. Esto es lo que hace físicamente posible el entrenamiento de modelos de lenguaje gigantes con cientos de miles de millones de parámetros.
El paralelismo del modelo y de la canalización divide el modelo en sí entre dispositivos, lo que permite el entrenamiento de redes mucho más grandes que las que cualquier GPU podría contener.
El paralelismo tensorial divide el cálculo dentro de una sola capa, por ejemplo, dividiendo una matriz de peso grande para que cada GPU calcule parte de la salida.
Al principio de un paso de la canalización, las etapas posteriores no tienen entrada todavía y permanecen inactivas, desperdiciando tiempo de la GPU; este espacio inactivo se llama burbuja.
Dividir un lote en microlotes permite que varios microlotes ocupen diferentes etapas simultáneamente, lo que mantiene ocupadas todas las GPU y reduce el tiempo de inactividad.
El paralelismo tensorial se comunica con frecuencia para recombinar resultados de matrices parciales, por lo que se coloca donde el ancho de banda de interconexión es mayor, dentro de un nodo a través de NVLink.
sigue aprendiendo
Más guías seleccionadas para este tema.
A continuaciónSiguiente guía
Paralelismo tensorial para modelos grandes
Técnico