Inteligencia artificial: ¿Cuántas líneas de código se necesitarían para codificar un AI / AGI fuerte?

Muy muy pocos, preferiblemente menos de 100, o 10 o 1. Cuanto menos, mejor.

Si la inteligencia que se construye es realmente una Inteligencia General Artificial que puede realizar todo tipo de tareas, entonces, debe tener la capacidad de aprender continuamente y obtener un inmenso conocimiento. Esto debería suceder en todos los dominios y actividades. Por lo tanto, si alguna vez se construye una verdadera inteligencia, no contendría millones de líneas de código. En cambio, se construirá con muy pocas líneas de código, que es realmente recursivo e infinitamente extensible. El AGI aprenderá mucho por sí solo, sin intervención humana o con una intervención humana mínima. No estaríamos (y creo que no debería) programar gran parte de él.

Lo que importa aquí es el principio detrás de ese pequeño fragmento de código, que impulsará toda la ilusión de “inteligencia”.

La escalabilidad computacional puede requerir grandes cantidades de código, pero nuevamente, eso también debería ser muy mínimo y recursivo para que realmente funcione. Pero este no es el código central de la AGI, por lo que no cuenta. Lo mismo ocurre con todos los controladores necesarios. No es enorme y es irrelevante.

Es una gran idea errónea que encuentro entre todas las personas que afirman saber acerca de la naturaleza de la inteligencia, que sería un esfuerzo mega, multimillonario y multianual con miles de las mejores mentes del mundo trabajando en ello.

Un programa con el mismo contenido de información que el genoma humano tendría aproximadamente 300 millones de líneas de código.

Por AGI, supondré que nos referimos a resolver el problema de tener que pagarle a la gente para hacer el trabajo que las máquinas no son lo suficientemente inteligentes como para hacer. Actualmente eso es alrededor de USD $ 75 trillones por año (producto bruto mundial 2013). Requerirá que las máquinas puedan hacer todo lo que los humanos pueden hacer, como ver, escuchar, navegar, usar herramientas, comprender el lenguaje natural, comprender el arte y predecir o modelar el comportamiento humano.

Para muchos de estos problemas, las soluciones más conocidas utilizan redes neuronales. Una red neuronal del tamaño del cerebro humano con 10 ^ 14 sinapsis y 10 ms de tiempo de respuesta requeriría 10 petaflops y cientos de terabytes de memoria. Tales computadoras existen pero cuestan millones de dólares y usan megavatios de electricidad. Supongamos un futuro en el que tales computadoras sean lo suficientemente baratas como para competir con el trabajo humano, y preguntemos cuánto esfuerzo tomará programar la primera.

Los humanos tienen dos tipos de conocimiento, el que nacemos y el que aprendemos. En el famoso artículo de Turing de 1950, sugirió que una IA (aunque el término AI aún no se había acuñado) podría programarse con un algoritmo de aprendizaje y luego entrenarse como un niño de escuela. Este es el enfoque que tomaremos. Esto tiene sentido porque un humano solo puede escribir 10 líneas de código por día en un proyecto grande, pero puede enseñar miles de líneas de texto en lenguaje natural por día hablando y escribiendo. Entonces, la pregunta es ¿cuánto código se necesitaría para programar algo tan complejo como un bebé humano?

En The Cost of AI calculé que la complejidad del genoma humano es de 4.58 x 10 ^ 9 bits, o aproximadamente 1.5 bits por base, utilizando los algoritmos de compresión más conocidos. En una prueba similar en 927,000 líneas de código fuente C, calculé que el contenido de la información sería de aproximadamente 16 bits por línea. Dividir los dos da la respuesta.

En mi artículo, observo que el software es la parte menos costosa de AGI. Una vez que bajen los costos de hardware, la capacitación más costosa será la capacitación de AGI para cumplir los roles únicos de miles de millones de trabajos diferentes.

Es erróneo verlo de esa manera. La IA fuerte requiere nuevas arquitecturas para funcionar de manera efectiva. Las computadoras convencionales e incluso las redes no son la solución. Una buena IA fuerte requerirá una gran cantidad de procesamiento independiente verdaderamente paralelo conectado por comunicaciones especiales. Multithreading solo no corta el pastel. En este momento sabemos que las frecuencias y los patrones de picos juegan un papel importante en la conexión de las neuronas en las redes. Pero no sabemos cómo funciona esto. Hay cosas especiales sobre los sistemas neuronales que aún no entendemos, y necesitamos conocerlos antes de poder igualarlos.

Además, las máquinas de Turing pueden no ser la forma correcta de modelar sistemas inteligentes; hablar de equivalencia informática no tiene sentido cuando no tiene en cuenta la insuficiencia del concepto informático base para la tarea.

En un sistema paralelo masivo con miles de millones de procesadores, puede haber solo un conjunto de código base, replicado mil millones de veces en todos los procesadores locales. Pero será la arquitectura del sistema de hardware y software. no solo el código, eso determina si habrá inteligencia.

¡No tantos como puedas pensar!

La tarea de crear una IA / AGI fuerte se trata realmente de crear una máquina que pueda aprender modelos del mundo mismo a partir de la información que recopila del entorno (a través de sus sensores)

Necesitaríamos código para:

  1. Los sensores (entradas y salidas)
  2. Un cerebro como componente de memoria. Eso crea y aprende sus propios modelos del mundo.

Suena fácil, ¿no? Lamentablemente, no hemos progresado mucho en los últimos 60 años de Inteligencia Artificial.