¿Somos técnicamente capaces de hacer, en hardware, redes neuronales arbitrariamente grandes con la tecnología actual?

9

Si las neuronas y las sinapsis se pueden implementar usando transistores, ¿qué nos impide crear redes neuronales arbitrariamente grandes usando los mismos métodos con los que se hacen las GPU?

En esencia, hemos visto cuán extraordinariamente bien funcionan las redes neuronales virtuales implementadas en procesadores secuenciales (incluso las GPU son máquinas secuenciales, pero con grandes cantidades de núcleos).

Uno puede imaginar que usando principios de diseño de GPU, que es básicamente tener miles de unidades de procesamiento programables que funcionan en paralelo, podríamos hacer "unidades de procesamiento de neuronas" mucho más simples y poner millones o miles de millones de esas NPU en un solo chip grande. Tendrían su propia memoria (para almacenar pesas) y estarían conectados a unos cientos de otras neuronas compartiendo un autobús. Podrían tener una frecuencia de, por ejemplo, 20 Hz, lo que les permitiría compartir un bus de datos con muchas otras neuronas.

Obviamente, hay algunos desafíos de ingeniería eléctrica aquí, pero me parece que todas las grandes compañías tecnológicas deberían estar explorando esta ruta por ahora.

Muchos investigadores de IA dicen que la superinteligencia llegará alrededor del año 2045. Creo que su razonamiento se basa en la ley de Moore y en la cantidad de neuronas que podemos implementar en el software que se ejecuta en las computadoras más rápidas que tenemos.

Pero el hecho es que hoy estamos haciendo chips de silicio con miles de millones de transistores en ellos. SPARK M7 tiene 10 mil millones de transistores.

Si implementar una neurona (no programable) y unos pocos cientos de sinapsis requiere, por ejemplo, 100 000 transistores, entonces podemos hacer una red neuronal en hardware que emule 100 000 neuronas.

Si diseñamos un chip de este tipo para que podamos hacerlo físicamente más grande si queremos más neuronas, entonces me parece que las redes neuronales arbitrariamente grandes son simplemente una cuestión de presupuesto.

¿Somos técnicamente capaces de hacer, en hardware, redes neuronales arbitrariamente grandes con la tecnología actual?

Recuerde: NO estoy preguntando si esa red será realmente muy inteligente. Simplemente estoy preguntando si podemos hacer redes neuronales altamente interconectadas, grandes y arbitrarias, si decidimos pagarle a Intel para que haga esto.

La implicación es que el día que algún científico pueda crear inteligencia general en software, podemos usar nuestras capacidades de hardware para hacer crecer esta inteligencia general a niveles humanos y más allá.

frodeborli
fuente
Los comentarios no son para discusión extendida; Esta conversación se ha movido al chat .
nbro

Respuestas:

5

El enfoque que describe se llama computación neuromórfica y es un campo bastante ocupado .

TrueNorth de IBM incluso tiene neuronas en aumento .

El principal problema con estos proyectos es que todavía nadie sabe qué hacer con ellos.

Estos proyectos no intentan crear chips que estén optimizados para ejecutar una red neuronal. Eso ciertamente sería posible, pero la parte costosa es la capacitación, no el funcionamiento de redes neuronales. Y para el entrenamiento necesitas enormes multiplicaciones de matrices, algo en lo que las GPU ya son muy buenas. ( El TPU de Google sería un chip optimizado para ejecutar NN).

Para hacer una investigación sobre algoritmos que podrían implementarse en el cerebro (casi no sabemos nada al respecto) necesita flexibilidad, algo que estos chips no tienen. Además, el desafío de ingeniería probablemente radica en proporcionar muchas sinapsis, solo compara el número promedio de sinapsis por neurona de TrueNorth, 256, y el cerebro, 10,000.

Por lo tanto, podría crear un chip diseñado después de alguna arquitectura neuronal y sería más rápido, más eficiente, etc., pero para hacerlo necesitará saber qué arquitectura funciona primero. Sabemos que el aprendizaje profundo funciona, por lo que Google utiliza hardware personalizado para ejecutar sus aplicaciones y ciertamente podría imaginar que el hardware de aprendizaje profundo personalizado llegará a un teléfono inteligente cerca de usted en el futuro. Para crear un chip neuromórfico para una IA fuerte, primero deberías desarrollar una IA fuerte.

BlindKungFuMaster
fuente
Gracias. Creo que las grandes redes neuronales con picos se comportarán de manera muy inteligente. Entonces, si alguien tiene una idea (avance) que permite que una neurona de hardware se conecte a 10000 o más neuronas de manera eficiente, sería simplemente una cuestión de tener suficiente silicio para crear redes neuronales arbitrariamente grandes, y tal vez una súper inteligencia. Lo que implica que podría suceder hoy, ya ha sucedido en algún laboratorio de IBM, o sucederá en 20 años. Significa que no tenemos que esperar la ley de Moores.
frodeborli
4

Si las neuronas y las sinapsis se pueden implementar utilizando transistores,

Espero que no estés hablando de las redes neuronales que actualmente están ganando todas las competencias en aprendizaje automático (MLP, CNN, RNN, Redes Residuales Profundas, ...). Esos una vez se usaron como modelo para las neuronas, pero están muy poco relacionados con lo que sucede en las células cerebrales reales.

Las redes de picos deberían estar mucho más cerca de las neuronas reales. He oído que el modelo Hodgkin-Huxley es bastante realista. Sin embargo, en contraste con los modelos que mencioné anteriormente, parece que no existe un algoritmo de entrenamiento efectivo para las redes de picos.

lo que nos impide crear redes neuronales arbitrariamente grandes

  • Recursos computacionales : la capacitación de redes neuronales lleva mucho tiempo. Estamos hablando de ~ 12 días con un clúster de GPU para algunos modelos de CNN en visión artificial.
  • Datos de capacitación : cuantas más variables agregue al modelo, más datos necesitará para estimarlas. Las redes neuronales no son mágicas. Necesitan algo con lo que puedan trabajar.

Pero el hecho es que hoy estamos haciendo chips de silicio con miles de millones de transistores en ellos. SPARK M7 tiene 10 mil millones de transistores.

Si implementar una neurona (no programable) y unos pocos cientos de sinapsis requiere, por ejemplo, 100 000 transistores, entonces podemos hacer una red neuronal en hardware que emule 100 000 neuronas.

No es tan simple:

  • Asinconosidad : las redes neuronales biológicas funcionan de forma asincrónica. Esto significa que una neurona podría estar activa mientras que todas las demás no lo están.
  • Emulación : asume que solo necesitaría un ciclo para simular una neurona biológica. Sin embargo, necesita muchos miles de ciclos. No puede simplemente usar más unidades computacionales, porque algunas cosas no son paralelizables. Por ejemplo, piense en la función f(x) = sin(x*x + 1). Para un ser humano, existen básicamente tres cálculos: r1 = x*x, r2 = r1 + 1, r3 = sin(r2). Incluso si tiene 3 personas trabajando en el cálculo del resultado, no será más rápido que la persona más rápida en este grupo. ¿Por qué? Porque necesitas los resultados del último cálculo.
Martin Thoma
fuente
Los comentarios no son para discusión extendida; Esta conversación se ha movido al chat .
nbro
1

Si bien un solo transistor podría aproximarse a la función básica de una sola neurona, no puedo aceptar que ningún elemento electrónico pueda simular las sinapsis / axones. Los transistores están grabados en una superficie plana, y solo pueden interconectarse con transistores adyacentes o cercanos. Los axones en el cerebro abarcan grandes distancias (en comparación con el tamaño de la neurona misma), y no están restringidos a una superficie bidimensional. Incluso si pudiéramos aproximar el número de transistores en un procesador al número de neuronas en un cerebro, no estaríamos tan cerca como el número de conexiones. También se podría argumentar que las señales analógicas en el cerebro transportan más información por unidad de tiempo, en comparación con los impulsos binarios en un chip. Además, el cerebro en realidad tiene plasticidad, es decir, las conexiones entre las neuronas pueden debilitarse / descartarse o enderezarse / crearse,

Iliyan Bobev
fuente
1
Los chips de silicio están construidos en muchas capas, lo que permite una gran flexibilidad en la interconectividad entre las neuronas. Además, la electricidad viaja rápidamente, lo que nos permite compartir las rutas de señal multiplexando. Puedo imaginar varias formas de permitir una alta conectividad entre neuronas cercanas y algo distantes. La plasticidad se emularía al tener un mayor grado de conectividad, ya que una sinapsis descartada se comporta de manera idéntica a una sinapsis que se multiplica por cero.
frodeborli
0

Es posible que desee considerar esta lista :

10 diferencias importantes entre cerebros y computadoras:

  1. Los cerebros son analógicos, las computadoras son digitales
  2. El cerebro usa memoria direccionable por contenido
  3. El cerebro es una máquina masivamente paralela; las computadoras son modulares y seriales
  4. La velocidad de procesamiento no está fijada en el cerebro; no hay reloj del sistema
  5. La memoria a corto plazo no es como la RAM
  6. No se puede hacer distinción hardware / software con respecto al cerebro o la mente
  7. Las sinapsis son mucho más complejas que las puertas lógicas eléctricas.
  8. A diferencia de las computadoras, el procesamiento y la memoria son realizados por los mismos componentes en el cerebro
  9. El cerebro es un sistema autoorganizado.
  10. Los cerebros tienen cuerpos
Franck Dernoncourt
fuente
1
Estás haciendo muchas suposiciones y no estoy de acuerdo con muchas de ellas. Las redes neuronales recurrentes tienen la mayoría de las propiedades que usted describe. El cuerpo no tiene que existir, simplemente tenemos que alimentar las neuronas sensoriales para que este cerebro crea que tiene un cuerpo, suponiendo que quiero que este cerebro tenga un cuerpo.
frodeborli