LuAITools.com
提交工具
🧩AI
Copiar el modelo, repartir los datos

Paralelismo de datos

El paralelismo de datos es la forma más simple de entrenamiento distribuido: cada GPU tiene una copia completa del modelo, cada una procesa un lote distinto, y al final los gradientes se promedian y sincronizan.

¿Qué es el paralelismo de datos?

El paralelismo de datos es la forma más intuitiva de entrenamiento distribuido. La idea es simple: copia el modelo completo en cada GPU y luego trocea los datos de entrenamiento para que cada tarjeta procese su propio lote. Al terminar, los gradientes de todos se suman y promedian, y todas las copias se actualizan con esos gradientes promediados.

¿Cómo funciona?

Duplica el modelo, reparte los datos
Cada tarjeta tiene un modelo idéntico. La única diferencia son los datos que ve cada una.
Sincroniza los gradientes
Cada tarjeta calcula sus gradientes; luego se suman y promedian entre dispositivos, para que todos reciban la misma «respuesta unificada» antes de actualizar.
Actúa como un lote más grande
Cuatro tarjetas procesando 32 muestras cada una equivalen, en la práctica, a un paso sobre 128 muestras: un batch mayor.

Por qué es bueno

Fácil de implementar
Apenas tocas la estructura del modelo. Es la primera palanca para acelerar el entrenamiento.
Escala bien
Añade más tarjetas y va más rápido — cuantas GPUs y tan grande como quieras el lote.

Dónde se queda corto

El modelo tiene que caber
La pega es que cada tarjeta debe alojar el modelo entero. Si es demasiado grande, el paralelismo de datos no ayuda: necesitas paralelismo de modelo.
La comunicación es el cuello de botella
Más tarjetas implican más sincronización de gradientes, y una sincronización lenta frena a todos.
El lote no puede crecer sin fin
Lotes enormes pueden dañar la convergencia, así que acabas ajustando la tasa de aprendizaje para compensar.

Cuándo usarlo

Cuando el modelo es lo bastante pequeño para caber en una tarjeta pero tienes muchos datos y quieres entrenar más rápido, el paralelismo de datos es la victoria más fácil. También es la capa base de muchos sistemas de modelos grandes, con paralelismo de modelo y de pipeline apilados encima.

En resumen: el paralelismo de datos copia un mismo modelo muchas veces, da a cada copia datos distintos y luego hace que todos comparen gradientes antes de actualizar.

Comentarios