Pensándolo bien...

null CABEZAS DE ATENCIÓN

Recuerdo los años ochenta en que se intensificó la investigación en el procesamiento del lenguaje natural. Todo era incipiente, pero se barruntaba un esplendoroso porvenir, cargado de interesantes descubrimientos, muchos de los cuales ahora nos sorprenden. Uno de los avanzados en ello era el profesor Daniel Sánchez Álvarez, que conformó los primeros compases de lo que hoy es la Informática en la Universidad de Murcia. Grato recuerdo para un colega, competente, entregado, trabajador, brillante como investigador y profesor y excelente persona, de esos que dejan huella. Hoy será feliz con el alcance de los trabajos y la irrupción de la IA por doquier.

Los transformadores (transformer) han hecho posible el uso de estructuras matemáticas especiales llamadas “cabezas de atención”, que supone una especie de vista “por encima” del texto que se encuentra leyendo. Cuando un transformador lee un nuevo bloque de texto, sus cabezas de atención escanean rápidamente todo e identifican conexiones entre líneas relevantes, entre palabras, tal vez que la cuarta y la octava palabras probablemente sean más útiles para la décima. En la relectura, las cabezas de atención pasan palabras a un enorme grupo de neuronas llamadas “de retroalimentación”, que realiza los cálculos numéricos necesarios para generar las predicciones que le ayudan a aprender a resolver la continuación de los textos.

Las "cabezas de atención" son una componente clave en el diseño de las redes neuronales de atención, especialmente en los modelos denominados de “transformer”, que han revolucionado el procesamiento del lenguaje natural (NLP, en inglés) desde su introducción en la publicación "Attention is All You Need" en 2017. Esta estructura matemática especial permite a los modelos de lenguaje, centrarse en diferentes partes de la entrada, para cada paso de procesamiento, mejorando significativamente la capacidad del modelo para manejar secuencias largas y aprender relaciones complejas.

En el contexto de las redes neuronales, la atención es un mecanismo que pondera la importancia relativa de diferentes partes de los datos de entrada cuando se produce una salida. En lugar de tratar todas las partes de la entrada por igual, el modelo puede "atender" o centrarse más en las partes relevantes para la tarea en cuestión.

La idea central de las cabezas de atención es permitir que el modelo ejecute múltiples operaciones de atención en paralelo, cada una con un enfoque ligeramente diferente. En un Transformer, la atención se implementa mediante un mecanismo conocido como "atención multi-cabeza". Cada "cabeza" aprende a atender a diferentes partes de la secuencia de entrada, lo que permite al modelo capturar una gama más amplia de dependencias en los datos.

La operación de atención dentro de cada cabeza se puede descomponer en tres componentes principales: consultas (queries), claves (keys) y valores (values). Estos componentes se generan a partir de la entrada mediante multiplicación de matrices. Las consultas, representan la parte de los datos a la que se está atendiendo; las claves, se utilizan para calcular la puntuación de atención, determinando cuánta atención se debe prestar a cada parte de los datos y los valores, que son los datos reales sobre los que se va a calcular la salida, ponderados por la puntuación de atención.

La operación de atención se calcula como un producto escalar normalizado de las consultas con las claves, lo que resulta en un conjunto de pesos de atención. Estos pesos se aplican luego a los valores para producir la salida de la cabeza de atención.

 
 


                  Imagen cr4eada con ChatGPT con DALL-E

La introducción de las cabezas de atención y, por extensión, los modelos de transformer, ha tenido un impacto significativo en el campo del aprendizaje profundo. La capacidad de estos modelos para manejar secuencias largas y su flexibilidad para ser aplicados en una amplia variedad de tareas de procesamiento del lenguaje natural, desde la traducción automática hasta la generación de texto, los ha convertido en una herramienta fundamental en la investigación y la aplicación de inteligencia artificial. Además, la estructura de las cabezas de atención permite una paralelización eficiente, lo que reduce significativamente los tiempos de entrenamiento en comparación con modelos anteriores basados en recurrencias o convoluciones. En suma, las cabezas de atención son una innovación clave que permite a las redes neuronales prestar atención de manera diferencial a las partes de los datos, lo que mejora la capacidad de modelado y la eficiencia de los algoritmos de aprendizaje profundo.

Los transformadores reales tienen múltiples capas de cabezas de atención separadas por redes de retroalimentación y solo producen predicciones tras la última capa. Pero, en cada capa, los cabezales de atención ya han identificado el contexto más relevante para cada palabra, por lo que el avance computacional intensivo puede ocurrir para cada palabra del texto. Esto acelera el proceso de entrenamiento, haciendo posible entrenar transformadores con conjuntos de datos cada vez mayores. Aún más importante, permite a los investigadores distribuir la enorme carga computacional del entrenamiento de una red neuronal masiva entre muchos procesadores que trabajan conjuntamente.

Para aprovechar al máximo los conjuntos de datos masivos, hay que hacer que los modelos sean realmente grandes y no es práctico entrenarlos, a menos que se haga en sistemas en paralelo. Los transformadores son bastante débiles si la forma en que se usan es dando una entrada y esperando una respuesta inmediata. La estructura paralela que facilita entrenar los transformadores no ayuda después del entrenamiento, ya que, en ese punto, no hay necesidad de palabras que se presumen que existen. Durante el funcionamiento normal, generan una palabra cada vez, uniendo cada salida a la entrada antes de la siguiente palabra.

A medida que los modelos incorporaron transformadores crecieron considerablemente y ciertas tareas continuaron dando problemas y algunos investigadores han comprobado que, a medida que el impulso llevaba hacia modelos más aptos para el tratamiento en paralelo, eso suponía un incremento notable del costo.

Los estudios teóricos de las redes neuronales enfrentan muchas dificultades, especialmente cuando se tomó conciencia del proceso y la importancia del entrenamiento. Las redes neuronales utilizan un procedimiento bien conocido para modificar sus parámetros en cada paso del proceso de entrenamiento. Pero no es fácil entender por qué este sencillo procedimiento converge hacia un gran conjunto de parámetros. En lugar de considerar lo que sucede durante el entrenamiento, algunos investigadores estudian las capacidades intrínsecas de los transformadores imaginando que es posible ajustar sus parámetros a cualquier valor. Esto no es sino tratar un transformador como un tipo especial de ordenador programable.

Que se puede hacer y qué se puede preguntar, son las preguntas centrales en el estudio formal en computación. Este campo se remonta a 1936, cuando Alan Turing imaginó por primera vez un dispositivo fantástico, ahora conocido como máquina de Turing, que podía hacer cualquier cálculo leyendo y escribiendo símbolos en una cinta infinita. Los teóricos de la complejidad computacional se basaron más tarde en el trabajo de Turing al demostrar que los problemas computaciones encajan naturalmente en diferentes clases de complejidad por los recursos necesarios para resolverlos.

En 2019, Barceló y otros dos investigadores. formularon una versión idealizada de un transformador con un número fijo de parámetros que sería una máquina poderosa, como una máquina de Turing. Incorpora un transformador para alimentar repetidamente tanto su salida como su entrada y establecer los parámetros en los valores apropiados para el problema específico que se desea resolver, proporcionando, eventualmente, la respuesta correcta. Ese resultado fue un punto de partida, pero se basó en algunas suposiciones poco realistas que probablemente sobreestimaron la potencia de los transformadores. En pocos años, los investigadores han desarrollado marcos teóricos más realistas.

Uno de esos esfuerzos se aportó en 2021, cuando William Merrill , estudiante de posgrado en la Universidad de Nueva York, disfrutaba una beca de dos años en el Instituto Allen de Inteligencia Artificial en Seattle. Mientras estuvo allí, analizando otros tipos de redes neuronales utilizando técnicas que parecían no encajar bien con la arquitectura paralela de los transformadores. Poco antes de finalizar, entabló una conversación con el investigador del Instituto Allen para la IA, Ashish Sabharwal, que ha estudiado la teoría de la complejidad antes de dedicarse a la investigación en IA. Comenzaron a sospechar que la teoría de la complejidad podría ayudar a analizar y estudiar los límites de los transformadores. Ciertamente, los transformadores de este marco teórico no podrían resolver cualquier problema computacional que se encuentre fuera de una clase de complejidad específica. Y se cree que muchos problemas de matemáticas, incluyendo algunos relativamente simples, como resolver ecuaciones lineales, son de este tipo. Básicamente, el paralelismo tuvo un costo, al menos cuando los transformadores tenían que dar una respuesta inmediata. Los transformadores son bastante débiles si la forma en que se usan consiste en dar una entrada y querer una respuesta inmediata.

Los resultados de Merrill y Sabharwal plantearon una pregunta natural: ¿"Cuánto" más potentes se convierten los transformadores cuando se les permite reciclar sus productos? Barceló y sus colegas habían estudiado este caso en su análisis de 2019 sobre transformadores idealizados, pero con supuestos más realistas y la pregunta permanecía abierta. Y en pocos años, los investigadores lo descubrieron a partir de las indicaciones de la cadena de pensamiento, lo que dio a la pregunta una nueva relevancia. Merrill y Sabharwal sabían que su enfoque puramente matemático no capturaba todos los aspectos del razonamiento en la cadena de pensamiento en modelos de lenguaje real, donde la redacción del mensaje puede ser muy importante . Pero no importa cómo se ha redactado un mensaje, siempre que haga que un modelo de lenguaje genere soluciones paso a paso, porque el modelo puede, en principio, reutilizar los resultados de los pasos intermedios en “pasadas” posteriores a través del transformador. Esto podría proporcionar una forma de soslayar los límites del cálculo.

Mientras tanto, un equipo de la Universidad de Pekín ha estado trabajando en líneas similares y sus resultados preliminares fueron positivos. En un artículo de mayo de 2023, identificaron algunos problemas matemáticos que deberían ser imposibles para los transformadores ordinarios en el marco de Merrill y Sabharwal, y que en los pasos intermedios se pierden los problemas. En octubre de 2023, Merrill y Sabharwal continuaron su trabajo anterior con un estudio teórico detallado del poder computacional de la cadena de pensamiento. Cuantificaron cómo esa potencia computacional adicional depende del número de pasos intermedios que un transformador puede emplear antes de dar una respuesta final. En general, los investigadores esperan que el número de pasos intermedios para resolver cualquier problema depende del tamaño de la entrada al problema. Por ejemplo, la estrategia más sencilla para sumar dos números de 20 dígitos requiere el doble de pasos de suma intermedios que el mismo método para sumar dos números de 10 dígitos. Ejemplos como este, sugieren que los transformadores no ganarían mucho usando sólo unos pocos pasos intermedios. De hecho, Merrill y Sabharwal demostraron que la cadena de pensamiento comienza solo a ayudar en algo que es que el número de pasos intermedios se hace en proporción a la acción y al tamaño de la entrada y aparecen muchos problemas cuando el número de pasos intermedios crece más. El trabajo reciente de Merrill y Sabharwal indica que la cadena de pensamiento no es una panacea; en principio, puede ayudar a los transformadores a resolver a problemas más difíciles, pero sólo a costa de un gran estudio computacional.

Aun así, los investigadores advierten que este tipo de análisis teórico puede revelar mucho sobre los modelos de lenguaje real. Los resultados positivos evidencian que los transformadores pueden, en principio, resolver ciertos problemas y no implica que un modelo de lenguaje realmente aprenda soluciones para el entrenamiento. E incluso los resultados que abordan las limitaciones de los transformadores tienen salvedades: indican que un transformador no puede resolver ciertos problemas perfectamente en todos los casos. Por supuesto, eso supone una lista de problemas que se pueden resolver y los que no se pueden resolver.

La "cadena de pensamiento", (CoT) en inglés, es una técnica que se utiliza en modelos de inteligencia artificial, como los modelos de lenguaje, para mejorar su capacidad de razonar sobre problemas complejos. La idea es proporcionar un paso a paso para llegar a la respuesta correcta. Aquí tienes una descripción detallada. La cadena de pensamiento es una forma de organizar las soluciones que involucrar el desglosado en los pasos lógicos, permitiendo que el modelo procese el problema de forma más estructurada. La motivación es una técnica que ayuda a los modelos a abordar problemas complejos, como preguntas matemáticas o de comprensión lógica, en partes más pequeñas y manejables. El problema se plantea al modelo en lenguaje natural, como una pregunta o declaración y el modelo desencadena la cadena de pensamiento, generando una secuencia de pasos lógicos que se ha desprendido. Estos pasos pueden incluir subpreguntas, cálculos intermedios o reglas lógicas. La idea es que estos pasos sean claros y encadenados, como una explicación humana. Finalmente se produce la Respuesta, ya que después de seguir la cadena de pensamiento, el modelo genera la respuesta final en el razonamiento progresivo.

Veamos un caso práctico ilustrativo:

Problema: "Si hay 3 plátanos y compras 2 más, "Cuántos plátanos tienes en total?"

Respuesta con Cadena de Pensamiento:

  1. Paso 1: "Inicialmente, tengo 3 plátanos".
  2. Paso 2: "Se compran 2 plátanos más".
  3. Paso 3: "En total, tengo 3 + 2 = 5 plátanos".

Respuesta Final: "Hay 5 plátanos en total".

Aplicaciones: resolver problemas matemáticos complejos; preguntas de comprensión lógica, como responder preguntas que requieren un razonamiento lógico o deductivo o resolución de puzles al descomponer problemas complejos en rompecabezas más simples.

Los beneficios derivados incluyen claridad en el razonamiento, ya que proporciona una estructura clara que ayuda a verificar el razonamiento del modelo; mejora de la interpretabilidad, ya que los pasos de la cadena permiten a los humanos entender cómo el modelo llegó a su respuesta y reducción de errores, puesto que al dividir el razonamiento en pasos más pequeños, se reduce la probabilidad de errores en problemas complejos.

En modelos de lenguaje modernos como GPT-4, la cadena de pensamiento se puede implementar utilizando entradas ("prompts") específicas que animan al modelo a desglosar la expresión de su razonamiento. Algunos enfoques incluyen os directos, "Explique paso a paso resolver cómo resolver el siguiente problema"., o “incluir ejemplos previos con cadenas de pensamiento para deducir el comportamiento del modelo”. La cadena de pensamiento es una herramienta valiosa para mejorar el estudio de los modelos de lenguaje en problemas complejos. Al estructurar el razonamiento en los pasos lógicos, los modelos pueden alcanzar respuestas más precisas y transparentes.

Este ejemplo nos lo clarifica

Detalla de la cadena de pensamiento para el problema "tengo 3 plataos y compro 2 platanos, yas platanos tengo"

ChatGPT

Para resolver el problema "Tengo 3 plátanos y compro 2 más, ¿cuántos plátanos tengo?" usando la técnica de la cadena de pensamiento, se pueden seguir estos pasos lógicos detallados:

  1. Identificación del problema : Se necesita calcular el total de plátanos después de comprar más. El problema implica una suma simple.
  2. Análisis de la información inicial:
    • Paso 1: "Inicialmente, tengo 3 plátanos." Este paso establece la cantidad inicial de plátanos que tengo antes de realizar cualquier compra adicional.
  3. Incorporación de nueva información:
    • Paso 2
  4. Realización del cálculo:
    • Paso 3: "Para encontrar el total de plátanos, sumo los que tenía inicialmente con los que he comprado: 3 (iniciales) + 2 (comprados) = 5." Este paso involucra la operación matemática directa necesaria para resolver la pregunta.
  5. **Conclusión
    • : "Tengo 5 plátanos en total."

Este enfoque estructurado no solo resuelve el problema de manera efectiva, sino que también proporciona una explicación clara y paso a paso que es fácil de seguir y entender. Utilizar una cadena de pensamiento ayuda a clarificar el proceso de razonamiento y asegura que todos los pasos necesarios se consideren y expliquen adecuadamente.

Durante años, los neurocientíficos han aprovechado muchos tipos de redes neuronales, los motores que alimentan la mayoría de las aplicaciones de aprendizaje profundo para modelar el disparo de neuronas en el cerebro. En trabajos recientes, los investigadores han demostrado que el hipocampo, una estructura del cerebro crítica para la memoria, es básicamente un tipo especial de red neuronal, conocida como, “disfraz”. Su nuevo modelo rastrea la información espacial en detalle en el funcionamiento interno del cerebro. El hecho de que sepamos que estos modelos del cerebro son equivalentes al transformador, explica por qué muchos modelos funcionan mejor y son más fáciles de entrenar.

Estudios de Whittington y otros insinúan que los transformadores pueden mejorar la capacidad de los modelos de red neuronal para imitar el tipo de cálculos llevados a cabo por las células de la red y otras partes del cerebro. Tales modelos podrían mejorar nuestra comprensión de cómo funcionan las redes neuronales artificiales y probablemente todavía más, cómo se llevan a cabo cálculos en el cerebro.

Podemos crear un mecanismo que haga lo que el cerebro hace.  Los transformadores aparecen por primera vez hace cinco años como una nueva forma de que la IA procesara el lenguaje. Son la salsa de esos programas de frases que completan titulares como BERT y GPT-3, que pueden generar aceptables letras de canciones, componer sonetos de Shakespeare y se hacen pasar por representantes de servicio al cliente. Los transformadores funcionan con un mecanismo llamado autoatención, en el que cada entrada, una palabra, un píxel, un número en una secuencia, siempre está conectado a todas las demás entradas.  Se crean más neuronas que conectan entradas, pero solo con otras entradas determinadas. Pero si bien los transformadores fueron diseñados para tareas de lenguaje, han sido relevantes en otras tareas como conectar imágenes y, ahora, modelar el cerebro. En 2020, un grupo dirigido por Sepp Hochreiter, científico informático de la Universidad Johannes Kepler de Linz (Austria), creó un transformador para remodelar un modelo potente y extenso de datos de recuperación de memoria llamado Red Hopfield. Introducidas por primera vez hace 40 años por el físico de Princeton, John Hopfield, a partir del procedimiento de integrar las respuestas de los espines nucleares que permite interpretar los registros de la RMN, estas redes siguen una regla general: las neuronas que están activas al mismo tiempo establecen fuertes conexiones entre sí. Los investigadores han estado buscando mejores modelos de recuperación de memoria y cómo los transformadores permiten prestar atención. Estas nuevas redes Hopfield, desarrolladas por Hopfield y Dmitry Krotov en el MIT-IBM Watson AI Lab, pueden almacenar y recuperar más recuerdos en comparación con las redes Hopfield estándar, al establecer conexiones más efectivas. La mejora de estas redes es incluir un mecanismo de atención con los transformadores.

Recientemente, Whittington y Behrens ayudaron a modificar más el enfoque modificando el transformador para que, en lugar de tratar los recuerdos como una secuencia lineal, es decir, como una cadena de palabras en una oración, la codificara como coordenadas en espacios de dimensiones superiores. Ese "giro", como lo llamaron los investigadores, mejoró el rendimiento del modelo en tareas de neurociencia. También demostraron que el modelo era matemáticamente equivalente a los modelos de los patrones de activación de las células de la cuadrícula que los neurocientíficos examinan en las exploraciones por resonancia magnética funcional.  Whittington y Behrens ayudaron incorporando una acción más a la acción, volviendo al transformador para que en lugar de tratar los recuerdos como una secuencia, como una serie de palabras en una oración, los codificara como coordenadas en espacios de alta dimensión. Ese giro, como lo llamaban los investigadores, mejoró aún más el rendimiento del modelo en las tareas de neurociencia. También mostró que el modelo era matemáticamente equivalente a los modelos de los patrones de disparo de células de una cuadrícula, que los neurocientíficos estudian en los escaneos de fMRI. Las células de la cuadrícula tienen este tipo de estructura emocionante, hermosa y regular y con patrones sorprendentes que es poco probable que se formen al azar, como señala Caswell Barry, neurocientífico del University College de Londres. El nuevo trabajo evidenció que los transformadores replican los patrones observados en el hipocampo. Reconocieron que un transformador puede determinar dónde se está consciente en los estados anteriores y cómo se mueve y de una manera que se adapta a los modelos tradicionales de celdas activadas.

Otros trabajos recientes sugieren que los transformadores se producen en nuestra comprensión de otras funciones cerebrales también. En 2023, Martin Schrimpf, neurocientífico computacional del Instituto Tecnológico de Massachusetts, analizó 43 modelos de redes neuronales diferentes para ver la bondad de la predicción de las mediciones de actividad neuronal humana según aporta la fMRI y la electrocardiografía. Descubrieron que los transformadores, son las actuales redes neuronales líderes de última generación, que predicen casi todas las variaciones encontradas en la imagen. La pérdida de los transformadores como un paso hacia un modelo preciso del cerebro, y es dudoso de que los transformadores terminen describiendo como pensamos y como generamos el lenguaje en el cerebro, pese a que puedan hoy representar el mejor modelo real de frases. Trabajan bien para las palabras y frases cortas, por ejemplo, pero no para tareas de lenguaje a gran escala, como se requiere para relatar una historia. Un transformador, sitúa en el espacio adecuado para la estructura del cerebro y se puede mejorar con el entrenamiento y esa es una buena dirección, pero el campo sigue siendo muy complejo.

Sopa de letras: CABEZAS DE ATENCIÓN

Soluciones: EL CALOR HABLA