Inteligencia artificial: ¿Qué tan útil es la computación distribuida para construir IA?

Cualquier IA que se acerque a la conciencia humana necesitaría procesar información ambiental y reacciones de comportamiento más rápido que 30 cuadros por segundo. Esto requiere un procesamiento local muy rápido, y el sobrecalentamiento en las CPU de la computadora es un problema cuando intenta ejecutarlas a altas velocidades. Para mediar el sobrecalentamiento, los problemas computacionales se pueden distribuir en múltiples procesadores que trabajan en paralelo para resolver un solo problema. Una analogía biológica sería el hecho de que el cerebro necesita muchos lóbulos distribuidos para procesar información espacial básica, todo el procesamiento de la señal finalmente llega al lóbulo frontal para el cálculo final del comportamiento. La replicación del poder de procesamiento de un cerebro humano sin sobrecalentar una CPU requeriría muchos cientos o miles de procesadores trabajando en paralelo, que es una forma de computación distribuida. Este proceso funcionaría mejor localmente, con un clúster de CPU local conectado en una sola LAN, en lugar de operar a través de Internet con CPU distribuidas en todo el planeta. El enrutamiento no prioritario en nuestra red global actual causaría que cualquier IA distribuida no local experimente períodos de retraso de trama donde se colgó esperando una respuesta computacional remota. Tal vez podría programarlo para que diga “um …” y “ah …” y “déjame ver ahora …”, ya que intentaba recuperar datos archivados remotos. Eso puede reducir algunos de los problemas de paciencia de la interfaz humana.

La inteligencia artificial cubre una gran cantidad de territorio, pero la mayoría de lo que se está haciendo hoy en día que se puede clasificar como inteligencia artificial está mucho más allá de la capacidad de un solo procesador o host, por lo que la informática distribuida es efectivamente un aspecto esencial del trabajo práctico de inteligencia artificial.

Por ejemplo, el trabajo de aprendizaje profundo de Google requiere literalmente miles de computadoras separadas para lograr el cálculo necesario en una cantidad tolerable de tiempo de reloj. Es cierto que Deep Learning es actualmente una forma extrema de ML, pero incluso en las aplicaciones más convencionales, se necesitan muchos procesadores (y mucho almacenamiento masivo) para ejecutar algoritmos útiles.

Creo que la computación distribuida no solo es necesaria para acelerar las computaciones, sino que diría que puede ser conceptualmente esencial para la IA.

Considere, por ejemplo, un enjambre de hormigas, un pez de escuela o una bandada de pájaros. En todos los casos, parte de la inteligencia “emerge” de una red. O considere el poder de la imprenta hace unos siglos, o el poder de Internet hoy, creo que estas herramientas nos conectan a todos y hacen que la humanidad evolucione mucho más rápido en su conjunto.

Hay un tema de investigación candente en las comunidades de procesamiento y control de señales, que son las “redes adaptativas”. Puede buscar procesamiento de señal distribuido, redes de difusión, consenso, chismes, etc. (ver, por ejemplo, http://iracema.icsl.ucla.edu/pub …).
Otro campo relacionado es la teoría de juegos, especialmente los juegos estocásticos. Desde este punto de vista de inteligencia en red, diría que un equilibrio de Nash, en general, ya es algún tipo de inteligencia, pero tal vez no sea muy inteligente. Por otro lado, un punto óptimo de Pareto sería más inteligente. En particular, creo que si los agentes pueden explorar más soluciones, más allá del equilibrio de Nash, buscando algo de bienestar social, la inteligencia de la red puede aumentar con el tamaño de la red.

En otra terminología, mi hipótesis es que uno de los ingredientes clave de la inteligencia es la intuición . Y supongo que las raíces de la intuición se basan en la empatía, que creo que requiere estar basada en alguna forma de comunicación.

Las redes neuronales son otro ejemplo de aprendizaje distribuido / multiagente. ¿Cómo se relacionan estos términos suaves de “intuición” y “empatía” con las neuronas (o más generalmente con unidades computacionales), no lo sé (todavía) 😉

Espero que todas las ideas sueltas respalden mi punto de que la informática distribuida es muy importante para la IA.

Puedo estar de acuerdo con las otras respuestas en su mayor parte, pero para aclarar, la parte que necesita tanta potencia de cálculo suele estar en la capacitación de los modelos. Este proceso puede llevar miles de horas de entrenamiento, muchas veces un entrenamiento constante. El producto que se produce a partir de toda esta capacitación se puede ejecutar muchas veces en un teléfono. Al final, generalmente es solo un puñado de multiplicaciones de matrices y ** poof ** tienes tu respuesta.

En resumen, la capacitación necesita una tonelada de recursos, la ejecución es bastante ligera. Por supuesto, siempre hay casos de excepción.