¿Cuál es la definición de ‘procesamiento paralelo en inteligencia artificial’?

A2A.

Leon Palafox dio una buena respuesta. Solo agregaría que hay varios tipos de procesamiento paralelo en IA, y en particular en el aprendizaje profundo.

En el aprendizaje profundo, los parámetros de una red neuronal pueden constituir una matriz * muy * grande con millones o incluso miles de millones de elementos. Esos parámetros deben actualizarse a medida que la red “aprende”. Actualizarlos implica la multiplicación, por lo que observará algunas matrices de matriz muy grandes. Puede intentar hacerlo en una sola caja y calcular el peso de las semanas a medida que su red aprende, o puede fragmentar la matriz en muchos núcleos para acelerar el proceso.

Si utiliza el procesamiento por lotes para hacer que las redes aprendan, puede enviar diferentes lotes a diferentes máquinas, entrenar modelos separados en esos lotes en paralelo y luego promediar los parámetros que todos los modelos han aprendido. Esto se llama paralelismo de datos.

Alternativamente, si sus ejemplos son muy grandes (digamos una imagen de todo lo que sucede en una imagen de la Tierra), puede estacionar diferentes redes en diferentes partes de la entrada y hacer que se especialicen en esa región. Eso se llama paralelismo modelo.

Procesamiento en paralelo significa la acción de procesar dos o más operaciones al mismo tiempo.

Por ejemplo, las unidades en una capa de Red neuronal se evalúan en paralelo, es decir, se evalúan todas al mismo tiempo.

La definición contraria es el procesamiento secuencial, donde cada instrucción viene directamente después de la anterior.

Imagine que procesa una imagen realmente grande (2000 x 4000 px), si solo tiene que suavizarla, puede cortarla en 4 partes y filtrar cada parte de forma independiente y luego pegarla nuevamente. El filtro es paralelizable, ya que no necesita toda la imagen para hacerlo.

Esta es una buena pregunta. No estoy seguro de si hay una definición única para eso en el campo de la inteligencia artificial, pero hay una falacia relacionada con el mismo tema que muchos pueden no haber examinado.

Dado que las neuronas se disparan en la escala de tiempo de milisegundos, el cerebro no puede hacer más de 100 pasos computacionales por segundo. Cosas como atrapar una pelota pueden suceder en un segundo, pero tomaría un robot millones de pasos computacionales para calcular su trayectoria y mover la mano del robot para atraparla recursivamente.

Se supone que el cerebro puede hacer en 100 pasos computacionales lo que le toma a una computadora millones de pasos computacionales porque el cerebro “procesa en paralelo”.

La naturaleza hace muchas cosas “en paralelo” de una manera en muchos de sus algoritmos, como los experimentos de evolución con cada individuo de la especie a la vez. Pero eso no necesariamente hace que la evolución sea un algoritmo rápido o eficiente.

Sin embargo, en el caso del cerebro, logra en 100 pasos lo que le tomaría a un robot millones de pasos para calcular NO porque computa en paralelo, sino porque no hace los mismos cálculos en absoluto. No anticipa la ubicación de la pelota porque calcula el cálculo, sino porque ha visto una pelota lanzada antes y simplemente recuerda cómo se comporta una pelota lanzada. (No tan simple, en realidad, es un sistema de memoria altamente sofisticado, pero ese es el punto, es un sistema de memoria, no una computadora).

Buena pregunta sobre el procesamiento paralelo en ai: creo que cuando podamos hacer que la IA sea un modelo del cerebro como un sistema de memoria, y combinar eso con las rápidas capacidades computacionales de las computadoras, ai progresará mucho.