Flamingo, Gato y Chinchilla: el zoo de DeepMind
Noticias recientes de Inteligencia Artificial que importan a los negocios
En esta edición de Explicable ponemos el foco en los últimos grandes modelos de Inteligencia Artificial que ha publicado DeepMind en el corto espacio de un mes. Se llaman Chinchilla, Flamingo y Gato. Analizaremos de qué son capaces, qué importancia tienen dentro del campo de la IA y qué impacto pueden tener en el mundo de los negocios.
Chinchilla: un importante hallazgo
Chinchilla es un roedor no muy conocido que habita en los Andes, y no podía ser mejor nombre para el modelo publicado por DeepMind. Coincide que este modelo ha pasado más desapercibido de lo habitual, eclipsado muy probablemente por Dall·E 2 que se publicó en las mismas fechas. A pesar de esto, es un trabajo de investigación de gran calado, que realiza un análisis exhaustivo del desempeño de los grandes modelos de lenguaje tipo GPT-3, en función de 3 parámetros: tamaño del modelo (medido en número de parámetros de la red neuronal), cantidad de datos (medido en número de tokens de los datos de entrenamiento) y gasto computacional consumido durante la fase de entrenamiento (medido en FLOPS).
Lo conclusión de este trabajo es muy relevante para el campo de la Inteligencia Artificial: los grandes modelos de lenguaje están infra-entrenados. Esto quiere decir que, con el tamaño que tienen, sus prestaciones podrían mejorar con más datos y más computación. O visto de otra manera, que podríamos obtener los mismos resultados con un modelo más pequeño. A través de numerosos experimentos, estiman el número de FLOPS y de tokens necesarios para entrenar de manera óptima un modelo de lenguaje de un tamaño determinado, sin duda una referencia de gran valor para futuros trabajos. Según esta estimación, determinan que GPT-3 se debería haber entrenado con 14 veces más tokens de los que se utilizaron, para poder sacar el máximo partido a su elevado número de parámetros.
Y, para probar la tesis inicial, crean un modelo de lenguaje llamado Chinchilla, que con una reducción significativa del número de parámetros (70K millones) con respecto a GPT-3 (175K millones), Gopher (280K millones), y Megatron-Turing NLG (530K millones), obtiene un rendimiento equivalente. Para conseguirlo, Chinchilla emplea los mismos recursos computacionales que Gopher en su entrenamiento, aunque con un número de datos 4 veces mayor. A continuación, vemos un ejemplo de diálogo con Chinchilla, que ilustra el gran nivel en tareas de comprensión del lenguaje que consigue.
Hay que tener en cuenta que estos ejemplos, publicados por ingenieros de DeepMind en redes sociales, están expresamente seleccionados y no son representativos de las capacidades reales de razonamiento y abstracción del modelo. Aún así, no deja de sorprender lo que pueden llegar a conseguir estos grandes modelos de lenguaje, a medida que vamos conociendo mejor cómo exprimir todo su potencial.
Más información: https://www.deepmind.com/publications/an-empirical-analysis-of-compute-optimal-large-language-model-training
Flamingo: hablamos sobre lo que vemos
Un modelo de lenguaje de Inteligencia Artificial está entrenado para generar texto en uno o varios idiomas, de manera que continúe un contexto previo introducido por un usuario. Esta simple idea permite resolver múltiples tareas del campo de procesamiento del lenguaje natural, ya que en ese contexto previo podemos incluir instrucciones para condicionar la generación del nuevo texto. De esta manera, podemos hacer que el modelo responda a preguntas, analice el sentimiento de una frase o complete el final del capítulo de una novela.
Flamingo es un nuevo modelo de lenguaje con apoyo visual, donde el contexto previo, además de texto, puede contener también imágenes intercaladas. Esto aumenta el número de tareas que podemos realizar, dado que partimos de un contexto mucho más rico en información. Por ejemplo, podríamos utilizar Flamingo para que un invidente pueda hacer preguntas sobre su entorno o para traducir el texto que visualizamos en la cámara de nuestro móvil. Incluso para saber qué tipo de planta tenemos enfrente cuando damos un paseo por el campo. Aquí vemos algunos ejemplos de uso que nos dan una idea de las posibilidades.
Flamingo también está diseñado para procesar vídeo, además de imágenes, como apoyo visual. Esto abre las posibilidades a tareas de reconocimiento de una acción o de predicción de escenas.
En general, todo lo que tiene que ver con vídeo en el campo de la IA está poco maduro. Por tanto, no esperamos que el desempeño de Flamingo con tareas específicas de vídeo se pueda explotar comercialmente aún, al contrario que las tareas basadas en imágenes.
De todos modos, es una buena noticia que el modelo esté preparado para esta fuente de información cada vez más abundante.
Un aspecto interesante de la arquitectura de Flamingo es que combina grandes modelos ya entrenados, como Chinchilla o un modelo tipo CLIP para codificar imágenes, junto con otros módulos de redes neuronales que sí forman parte del entrenamiento específico de Flamingo, y que actúan como conectores de los modelos pre-entrenados. Esto es un ejemplo de reutilización de los grandes modelos entrenados por otros, como si de piezas de lego se trataran, para construir nuevos modelos. Es lo mismo que vemos habitualmente en el mundo del software, cuando se integran librerías de código abierto de terceros, algo que ha permitido reducir los costes de desarrollo drásticamente e impulsar las empresas SaaS (Software as a Service, en inglés) con crecimientos desorbitados. Por este motivo, Flamingo es un signo de madurez dentro del campo de la Inteligencia Artificial.
Más información: https://www.deepmind.com/blog/tackling-multiple-tasks-with-a-single-visual-language-model
Gato: un modelo para gobernarlos a todos
Y para acabar la fiesta de DeepMind, llegó Gato, un único modelo de Inteligencia Artificial entrenado para resolver más de 600 tareas relacionadas con el lenguaje, la visión, los videojuegos y la robótica. Para ello, han tenido que buscar una codificación única para todas estas tareas, que cuentan con diferentes tipos de datos como texto, imágenes, valores numéricos representando el escenario de un juego o un robot, etc. En los últimos años, el campo del deep learning está viviendo un proceso de unificación de técnicas impresionante, hecho que ha posibilitado la aparición de modelos multimodales como Dall·E, que se entrenan con imágenes y texto de manera simultánea.
Tradicionalmente, la visión artificial, el procesamiento de lenguaje natural y el aprendizaje por refuerzo eran disciplinas de investigación separadas y con muy pocas áreas en común. Con Gato y los modelos que surjan a partir del mismo, estas disciplinas nunca habían estado tan cerca.
Pero la pregunta que debemos hacernos es la siguiente: ¿qué ventaja supone esta aproximación de un gran modelo único, frente a entrenar modelos más pequeños para cada una de las tareas? Porque el objetivo perseguido por este trabajo debería ser lograr la transferencia de conocimiento de un dominio a otro, es decir, que el aprendizaje obtenido por las tareas de lenguaje ayude a mejorar el aprendizaje para ejecutar una tarea de robótica. Los resultados no son concluyentes a este respecto, ya que no demuestran que exista una transferencia positiva de manera clara e inequívoca.
Por tanto, parece que todavía queda camino por recorrer para que podamos considerar Gato como un hito importante en el campo de la Inteligencia Artificial. También podría haber ocurrido lo contrario, por ejemplo, que por el hecho de aprender tareas de visión artificial, el modelo obtuviera un peor desempeño jugando al ajedrez que un modelo entrenado sin esas tareas. Al menos, los resultados publicados tampoco parecen indicar que estemos ante una situación de transferencia negativa, un rayo de luz para seguir experimentando con este tipo de modelos.
Más información: https://www.deepmind.com/publications/a-generalist-agent
Gracias por leer Explicable. Si te ha gustado esta edición, no te olvides de dar al ♡ y de compartirla por redes sociales o por email con otras personas a las que creas que les pueda gustar.