El ‘paralelismo de datos’ y el ‘paralelismo modelo’ son diferentes formas de distribuir un algoritmo. A menudo se usan en el contexto de algoritmos de aprendizaje automático que utilizan el descenso de gradiente estocástico para aprender algunos parámetros del modelo, lo que básicamente significa que:
- El algoritmo está tratando de estimar algunos parámetros a partir de los datos dados.
- Los parámetros se estiman minimizando el gradiente contra alguna función de pérdida.
- El algoritmo itera sobre los datos en pequeños lotes.
En el enfoque de datos paralelos:
- El algoritmo distribuye los datos entre varios núcleos.
- Cada núcleo intenta independientemente estimar los mismos parámetros
- Luego, los núcleos intercambian su (s) estimación (es) entre sí para obtener la estimación correcta para el paso.
En el enfoque modelo-paralelo:
- ¿Cuáles fueron las principales conclusiones del tutorial de Richard Sutton sobre el aprendizaje por refuerzo en NIPS 2015?
- ¿Podría la IA volverse autónoma y aprender y adaptarse de manera no supervisada a través del aprendizaje profundo?
- ¿Cuáles son algunas ideas interesantes para un proyecto de investigación en procesamiento de lenguaje natural y / o traducción automática?
- ¿Hay alguna manera de extraer la función subyacente de una red neuronal entrenada?
- # ¿Cómo puedo comenzar un trabajo de investigación sobre aprendizaje automático?
- El algoritmo envía los mismos datos a todos los núcleos.
- Cada núcleo es responsable de estimar diferentes parámetros
- Luego, los núcleos intercambian su (s) estimación (es) entre sí para obtener la estimación correcta para todos los parámetros.
El enfoque de datos paralelos es útil cuando hay un número menor de nodos en el clúster y el número de parámetros a estimar es pequeño, mientras que el enfoque de modelos paralelos es útil en la condición opuesta.
Para obtener más detalles, lea estas dos excelentes publicaciones de Tim Dettmers.