En el espacio de Machine Learning y AI, ha habido desarrollos sustanciales tanto en la computación paralela (que estoy definiendo como código multiproceso que se ejecuta en un solo nodo / máquina con muchas CPU y / o GPU) como en la computación distribuida (ejecutando programas con múltiples procesos en muchos nodos / máquinas). Ambas siguen siendo áreas importantes de investigación.
Por un lado, los algoritmos de ML e IA pueden funcionar correctamente bajo sincronización inexacta (ejemplo de trabajo de investigación aquí), por lo tanto, podemos construir sistemas de software que exploten la consistencia relajada para mitigar en gran medida las desventajas de la computación distribuida, como la alta latencia entre máquinas, bajo ancho de banda , rendimiento desigual en un clúster o centro de datos. Los paradigmas de programación de ML como el paralelismo de datos también reducen la carga del desarrollador al permitir que los programas de ML distribuidos (y paralelos) se escriban de una manera que abstraiga la programación y la comunicación del trabajo, de forma análoga a MapReduce.
Por otro lado, las aplicaciones industriales de ML e IA continúan aumentando rápidamente tanto en complejidad como en escala de datos (piense en sistemas de recomendación para clientes 100M-1B o clasificación de imágenes en TB-PBs de imágenes), y estamos viendo una tendencia donde más y más CPU y GPU se están introduciendo en cada máquina solo para mantener el ritmo. Entonces, incluso los sistemas distribuidos para ML ahora vienen con cachés de múltiples niveles para explotar completamente la jerarquía de memoria en clústeres con múltiples CPU y GPU por máquina (ejemplo de trabajo de investigación aquí). Las máquinas de propósito especial con alta densidad de GPU, como la DGX-1 de nVidia, podrían convertirse en un lugar común para aplicaciones ML e IA, y podrían estar funcionando juntas como parte de un clúster distribuido.
- ¿Hay algún futuro de la computación en la nube? En caso afirmativo, ¿cómo será?
- ¿Cuál es la mejor oportunidad de sobrevivir en los próximos 100 años, una foto digital cargada en 'la nube' o un negativo?
- Por casualidad en el futuro cercano, ¿puede Microsoft Azure hacerse cargo de AWS?
- ¿Cómo está cambiando el concepto tradicional de ETL con la llegada de plataformas analíticas basadas en la nube como Amazon RedShift, Snowflake, etc.?
- ¿Qué es la USP de Amazon Web Services?
Creo que continuaremos viendo una interacción entre la computación paralela y distribuida, al menos en ML e IA.