Posts etiquetados ‘Gopher’

Comparativa modelos NLP

En el inacabable debate entre lo innato y lo adquirido, las redes neuronales artificiales parecían postularse como evidencia a favor del ambientalismo, ya que parecen capaces de «atrapar» ciertas estructuras lingüísticas solo a partir de su entrenamiento. Rumelhart y McCelland diseñaron una red para aprender los verbos en inglés que parecía hacerlo igual que los niños. De hecho, cometía exactamente igual que ellos, el clásico error de sobrerregulación (en vez de pasar de «volver» a «vuelto», lo hacía a «volvido») ¿Y qué decimos de los nuevos modelos de lenguaje desde BERT a Gopher? Su desempeño, al menos «externo», es sensacional. Estos días he estado jugando con GPT-3 y, a pesar de algunos errores, en general, funciona fantásticamente bien (luego subiré una entrada con extractos de mis conversaciones). Tengamos en cuenta que estos sistemas basados en semánticas distribuidas tienen cero conocimiento de semántica o sintaxis. No tienen, desde luego, ningún tipo de universal lingüístico chomskyano en su diseño ¿No serían entonces una evidencia clarísima en contra del innatismo? No.

En primer lugar, ya sabemos que el sistema de aprendizaje de estos algoritmos no parece tener nada que ver con el humano. Nosotros no necesitamos millones de ejemplos, ni en la neurología humana existe nada parecido a la backpropagation. Se ha argumentado que quizá computamos mal el número de ejemplos que necesitamos las personas en cada experiencia de aprendizaje. Si consideramos que la percepción humana trabaja a una velocidad de 10 a 12 «fotogramas» por segundo, o que cuando soñamos reconstruimos recuerdos rápidamente a la velocidad de ritmo theta, un niño escuchando unos segundos hablar a su madre, podría equivaler a cientos o miles de exposiciones entrenables. También se ha argumentado, y aquí está lo interesante, que la hoja de ruta de los ingenieros está en conseguir programas que necesiten cada vez menos ejemplos de entrenamiento (véase, por ejemplo, el trabajo de Li Fei-Fei). Podría llegar el momento en que el número de ejemplos necesarios para los algoritmos se aproxime en cifras aceptables al nuestro. No obstante, en el estado del arte actual, parece que estas arquitecturas no constituyen un buen modelo para la mente humana («Ni lo pretenden» responderían airados sus ingenieros. Podéis leer algo más de este tema en un TFM que hice). Pero veámoslo desde otro ángulo.

La estructura de los modelos de lenguaje desde BERT se basa en un sistema de aprendizaje en dos fases: primero tenemos el modelo base del programa, entrenado con miles de millones de ejemplos y requiriendo una enorme capacidad de cómputo. Gopher ha sido entrenado con 280 mil millones de parámetros o su rival de NVIDIA, Megatron-Turing NLG con 530 mil millones. En estos momentos estamos en una escalada de tamaños que, seguramente, está todavía lejos de terminarse. Hasta los chinos han presentado los suyos: Wu Dao 2.0 y M6, por supuesto, mucho más grandes que los occidentales. Seguidamente, al modelo base se le pueden añadir capas de ajuste fino (fine tunning), un entrenamiento específico para que la máquina sea especialmente buena en una tarea concreta (inferencias, equivalencia semántica, análisis de sentimientos, etc.). Después, el programa ya está completamente listo para funcionar. Lo importante es que ahora ya no necesita la enorme capacidad de cómputo de su entrenamiento. Todo ese gasto ya no tiene que volver a realizarse y  ahora el programa funciona como otro cualquiera en términos de gasto. De hecho, el camino parece ser incluso reducir aún su tamaño. DeepMind ha sacado RETRO, una versión de Gopher reducida en tamaño (unas 25 veces más pequeño que sus pares en desempeño). Tiene solo 7.000 millones de parámetros, pero lo compensa con la ayuda de una memoria externa a la que consulta cada vez. 

Supongamos ahora que somos una especie de extraterrestres que llegamos a la Tierra y analizamos a RETRO, sin saber absolutamente nada de su pasado de entrenamiento. Veríamos una arquitectura relativamente sencilla funcionando con una más que aceptable competencia llingüística. Podríamos entonces iniciar la investigación al estilo chomskyano: buscar unas estructuras profundas, unas gramáticas generativas a partir de las cuales RETRO produce todo ese lenguaje. Quizá fracasáramos y no encontráramos nada (debido quizá al black box problem). Entonces daríamos la razón a los ambientalistas y diríamos que todo lo que hay en RETRO ha de ser aprendido del entorno.  Sin embargo, en nuestro análisis no habríamos tenido en cuenta todo el costosísimo entrenamiento previo que RETRO lleva implícitamente dentro. RETRO nace con una enorme carga innata invisible al analizador. 

Hagamos ahora la analogía con el ser humano. Quizá nosotros traemos como innato invisible todo este gran modelo base entrenado por eones de años de evolución. Naceríamos con algo así como una memoria filética en la que estarían grabadas de forma distribuida las cualidades universales de los lenguajes humanos. El ajuste fino sería, sencillamente, el aprendizaje de los usos lingüísticos de nuestro idioma geográfico realizado por cada individuo particular durante su vida. En ese sentido, la carga innata sería enorme, infinitamente más grande que todo lo que aprendemos en vida, pero permanecería oculta al analista. Y es más, para nuestro fastidio, sería tremendamente difícil de investigar, ya que habría que conocer la historia evolutiva del lenguaje de millones de especies extintas, una tarea de ingeniería inversa imposible.  

Desde que descubrimos la teoría de la evolución, ese ha sido el gran problema: todo órgano ha pasado por una larguísima historia que desconocemos, ha pasado por innumerables adaptaciones, exaptaciones, funcionalidades cambiantes, e incluso quedar como órgano rudimentario durante un tiempo para luego volver a ser reutilizado. Si pensamos que la única forma de estudiar el pasado biológico es a través de los fósiles, siendo estos solo huesos… ¿cómo vamos a entender el cerebro si no se conserva en el registro fósil, si de nuestros parientes más cercanos solo podemos aspirar a encontrar trozos de cráneo? Algo podemos hacer estudiando el de otros seres vivos, pero todo es muy confuso: el cerebro de un chimpancé no es el de un ancestro, es de un primo, ya que no descendemos del chimpancé, sino que el chimpancé y nosotros descendemos de un ancestro común desconocido.  

Entender el cerebro es como querer comprender qué son las pirámides de Gizeh, solo teniendo conocimiento histórico a partir de enero de 2022.