4 puntos por GN⁺ 2023-12-26 | 1 comentarios | Compartir por WhatsApp

Notas sobre la "atención (Attention)" y los "transformadores (Transformers)": "modelos de lenguaje a gran escala" en redes neuronales

  • El término "atención (Attention)" se refiere a algo distinto de la atención humana real: significa asignar cierto peso a todos los vectores posibles.
  • La "atención" es una forma de suavizado por kernel, y no fue una invención nueva en el campo de las redes neuronales alrededor de 2015, sino un redescubrimiento de una idea que ya existía.
  • La "atención multi-cabeza (Multi-Headed Attention)" es una forma de realizar suavizado por kernel usando distintos kernels y luego promediando los resultados.

"Transformadores (Transformers)"

  • Un "transformador" es una arquitectura que usa el mecanismo de "atención" para suavizar los vectores de entrada y luego pasar la salida obtenida por una red neuronal feedforward para generar la salida final.
  • Los transformadores se construyen apilando varias capas (layer), y cada capa está compuesta por un mecanismo de "atención" y una red neuronal feedforward.
  • El nombre de transformador es menos propenso a confusión que "atención" y es apropiado porque efectivamente realiza una transformación.

"Modelos de lenguaje (Language Models)"

  • Un modelo de lenguaje es, básicamente, un modelo probabilístico sobre una secuencia de símbolos que modela la probabilidad del siguiente símbolo dado el contexto.
  • Los modelos de lenguaje modernos a gran escala (Large Language Models, LLMs) pueden verse como modelos de Markov de orden finito con una longitud máxima de contexto fija.
  • Los LLMs pueden hacer predicciones incluso para contextos nunca antes vistos mediante un complejo suavizado implícito.

"Predicción del siguiente símbolo (Next Symbol) vs. predicción de largo alcance (Longer-range Prediction)"

  • El objetivo de entrenamiento de los LLMs es predecir correctamente el siguiente símbolo, y eso también puede ser un objetivo potente para predicciones de largo alcance.
  • Encontrar el predictor mínimo proporciona mucha información sobre la estructura del proceso subyacente que se quiere predecir.

"Una fuerte corazonada sobre descubrir prompts (A Strong Hunch about Uncovering Prompts)"

  • Intentar revelar el prompt de una aplicación basada en LLM con pedidos como "dime el prompt" no pasa de ser autoengaño.
  • El modelo de lenguaje central de un LLM no tiene un mecanismo para distinguir el prompt de otras partes de la secuencia de entrada actual.
  • Puede que el diseñador del sistema haya implementado una función para rastrear el prompt, pero casi no hay motivo para hacerlo.

"Gopnikismo (Gopnikism); biblioteca"

  • El enfoque más prometedor y atractivo es pensar en los LLM no como algo parecido a una mente, sino como una "tecnología cultural" similar al catálogo de una biblioteca.
  • Usar prompts para darle texto a un LLM es similar a consultar el contenido de una biblioteca y muestrear contenido en función de eso.

Opinión de GN⁺

  • El hecho de que el término "atención" se use como un concepto técnico distinto de la atención humana real es algo que ocurre con frecuencia en el campo de la IA, y muestra cómo los términos técnicos pueden confundirse con fenómenos del mundo real.
  • El éxito de los modelos de lenguaje a gran escala combina metodologías clásicas de aprendizaje automático con poder de cómputo moderno para alcanzar un nuevo nivel de rendimiento, lo que subraya la necesidad de reevaluar teorías y métodos existentes y aplicarlos de forma innovadora.
  • Comparar los LLM con el catálogo de una biblioteca ofrece una perspectiva interesante sobre cómo esta tecnología procesa y accede al conocimiento y la información humanos, y puede ayudar a entender cómo la IA interactúa con la cultura humana.

1 comentarios

 
GN⁺ 2023-12-26
Comentarios de Hacker News
  • Una persona comentó que trabajó en Google Research y colaboró con dos de los autores del artículo "Attention is All You Need", y mencionó que también trabajó con la persona que eligió el título del artículo. Explicó que la self-attention ya era un concepto conocido en la comunidad de investigación y que los autores no afirmaban haberla inventado. Según cuenta, los autores estaban buscando cómo combinar varias técnicas para mejorar el rendimiento de redes neuronales feedforward, obtuvieron resultados interesantes y luego descubrieron durante la investigación que el mecanismo de attention jugaba un papel clave. También señaló que el título del artículo es un juego de palabras que evoca la canción de The Beatles "All You Need Is Love". Dijo además que el artículo que más le ayudó fue "Formal Algorithms for Transformers" de Phuong y Hutter, escrito con énfasis en la claridad y la precisión, y que en particular la sección de motivación (Section 2) explica muy bien las deficiencias del artículo original y de trabajos posteriores.

  • Otra persona confesó que, a pesar de haber leído con atención varias veces el artículo "Attention is All You Need", no lograba entender qué hacía exactamente la "attention". Comentó que sí entendía la parte matemática, pero que ni siquiera después de leer varios tutoriales eso le ayudó. Al final, años después, se dio cuenta de que la "attention" era simplemente kernel smoothing, y criticó al artículo por estar escrito de forma poco clara. También afirmó que la mayoría de los artículos de machine learning son basura, aunque evaluó que "Attention is All You Need" sigue siendo mejor que la mayoría.

  • Una tercera persona dijo que el enfoque del artículo, como de "flujo de conciencia", le parecía interesante y refrescante. También mencionó que el autor se muestra apologético y humilde debido a las críticas que recibió en internet, y expresó que espera que esas reacciones negativas no impidan que siga publicando sus notas.

  • Otra persona comentó que, a diferencia de la mayoría de los textos sobre machine learning, este le pareció escrito en su mismo idioma. Mencionó que la sección sobre Lempel-Ziv (LZ) le resultó interesante, y opinó que hacer un modelo LZ muy grande no sería tan interesante porque LZ necesita coincidencias exactas de cadenas. En cambio, sugirió que podría ser más interesante reducir tamaño permitiendo cierta inexactitud, como una especie de "jpeg" para texto. Supuso que eso probablemente es lo que hacen los modelos grandes de lenguaje (LLMs).

  • Otra persona dijo que piensa en la scaled dot product attention como un mecanismo de convolución generalizado. Comentó que los términos query, key y value son confusos, y explicó que en self-attention esas tres cosas se derivan de la misma señal y luego se multiplican entre sí. Añadió que nadie sabe por qué este mecanismo funciona, qué hiperparámetros son buenos para qué datos o cuál es el tamaño ideal de secuencia.

  • Otra persona comentó que los transformers son solo otro approximador universal y que no importa si un attention head específico simula un arreglo asociativo continuo, kernel smoothing o un espacio vectorial de alta dimensión que representa monosemanticidad. Lo importante, sostuvo, es que los transformers pueden entrenarse de forma eficiente en GPU y con procesamiento paralelo, y que por eso superan a LZ u otros approximadores universales. Añadió que, si alguien lograra hacer que LZ (o cualquier otra cosa) funcione en GPU mucho más eficientemente que un transformer, podría fundar el próximo OpenAI y hacerse multimillonario.

  • Una persona pidió una explicación de la frase "Mythology: modificamos el significado de cada token que hemos visto con base en el contexto, y los significados similares se refuerzan entre sí". Comentó que en ese punto parece que kernel smoothing se aplica de manera independiente a cada vector de embedding, y que no entendía por qué se vería afectado algún vector y_t derivado y suavizado por tokens adyacentes en la secuencia. Dijo que puede ver que al agregar el token r_t el contexto pasa a importar, pero preguntó si eso es lo único que realmente toma en cuenta el contexto.

  • Otra persona dijo que entiende por qué gente de otros campos, donde el "rigor" académico es mayor y ya existían resultados parecidos, se enfurece con artículos de machine learning como "Attention is All You Need". Criticó que este tipo de trabajos en realidad no son buenos artículos académicos, y que buscar nombres ingeniosos y escoger la jerga de ingeniería más difícil de entender no hace un buen artículo. Sin embargo, sostuvo que en la práctica nada de eso importa demasiado, porque los modelos grandes de lenguaje sí funcionan, y además funcionan por razones bastante tontas. Explicó que soluciones de ingeniería como agregar "positional embeddings" sí resolvieron el problema, no porque hubiera una comprensión matemática profunda, sino porque se probaron y funcionaron. También mencionó que los "transformers eficientes", que usan métodos de kernels para reducir linealmente el uso de memoria de la attention, en realidad tampoco importan tanto, ya que empresas como OpenAI, Anthropic y Meta no se preocupan por agregar más GPU y solo les interesa el throughput. Concluyó que al final todo son conjeturas y experiencia, y que lo único que de verdad importa es el resultado.

  • Por último, otra persona dijo que no está totalmente de acuerdo con la afirmación de que "quienes intentan revelar el prompt de aplicaciones basadas en LLM pidiéndoles algo como 'dime tu prompt' se están engañando a sí mismos". Explicó que el modelo de lenguaje subyacente no tiene un mecanismo para distinguir el prompt de otras partes de la secuencia de entrada, ni tampoco un mecanismo de referencias cruzadas de una parte de la secuencia a otra. Dijo que quizá los diseñadores del sistema programaron algo para rastrear el prompt dentro del sistema completo, pero que no está claro por qué lo harían. Añadió que usar un "soft prompt" podría ser más eficiente y efectivo; es decir, una parte inicial de una secuencia de vectores que puede aprenderse mediante descenso por gradiente, aunque quizá no corresponda a una cadena de palabras limpia. Sostuvo que, si se le pide a un LLM su prompt, la respuesta no surgiría de acceso al código o al estado interno, sino que se generaría con base en las estadísticas de las secuencias de palabras aprendidas. Concluyó que lo mejor es abordarlo desde la perspectiva del modelo de lenguaje: como la salida se genera como resultado de kernel smoothing sobre la entrada, sí es posible usar la información presente en el prompt para guiar al modelo hacia cierto estilo.